Удаление строки из Java ResultSet, а не из базовой базы данных - PullRequest
3 голосов
/ 20 июня 2011

Есть ли в Java способ удалить строку только из набора результатов, а не из базовой базы данных? Спасибо.

Ответы [ 3 ]

3 голосов
/ 20 июня 2011

Взгляните на CachedRowSet. Позволяет создавать отключенные ResultSet и работать без влияния на базу данных.

0 голосов
/ 23 ноября 2015

Вы можете решить эту проблему, установив setAutoCommit() для объекта подключения в значение false, например, conn.setAutoCommit(false).

Затем выполните все удаления, после чего вы вызываете rollback() для объекта подключения: conn.rollback().Это отменит все удаления, которые вы сделали, и сохранит вашу базу данных в исходном состоянии.

0 голосов
/ 20 июня 2011

Звучит так, как будто вы итерируете свой ResultSet и фильтруете строки по ходу?

Я бы сказал, что если вы можете переместить фильтрацию в оператор SQL, в противном случае скопируйте ResultSet в список, либообъектов типа row или просто Map, если вы не хотите, затем вызовите list.remove (row), как вы идете.

Вы не можете удалять строки или обновлять ResultSet, вам придется использовать CachedRowSet, как предлагает VAShhh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...