Операция не разрешена после закрытия ResultSet [дубликат]

  dic1.Count == dic2.Count & amp; & amp; & amp;  ! Dic1.Except (dic2) .Any ();   
5
задан rmcmk 22 April 2013 в 06:44
поделиться

2 ответа

Когда вы запускаете запрос Delete, вы используете тот же Statement, который использовался в запросе Select. При повторном выполнении на том же Statement предыдущий ResultSet закрывается.

Чтобы избежать этого, вы должны создавать новый Statement каждый раз, когда вы выполняете запрос. Поэтому удалите statement = connection.createStatement(); из метода connect() в классе MySQLDatabase и замените все statement в этом классе на connection.createStatement(). Вы также можете вообще удалить частную переменную statement.

Вы можете узнать больше об этом здесь .

17
ответ дан Pradeep Pati 15 August 2018 в 19:38
поделиться
  • 1
    Хорошо, это имеет больше смысла. Будет ли это мой «удалить»? запрос, вызывающий проблему или исходный запрос к таблице? – rmcmk 22 April 2013 в 06:58
  • 2
    его запрос удаления. Если вы выберете его из цикла, ваш код будет работать, но я считаю, что логика будет неправильной. – Pradeep Pati 22 April 2013 в 06:58
  • 3
    Как так? Ум объясняет немного более подробно? Хорошо, @ galuano1, я удалил экземпляр statement и запрос & quot; метод и дал каждому запросу свое собственное утверждение. – rmcmk 22 April 2013 в 07:00
  • 4

эта ошибка возникает некоторое время, когда мы используем один и тот же объект-инструкцию для diff. типы

check Statement objectsss;

2
ответ дан Karan Rajput 15 August 2018 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: