Обновление RowSet, если содержимое таблицы изменилось?
Можно ли обновить / обновить RowSet
В случае, если содержимое таблицы изменяется (например, другое приложение изменяет его)? Таким образом, у меня всегда есть актуальная версия таблицы.
Я смотрел в RowSetListener
, но эти события кажутся вызванными, только если я внесу изменения в RowSet
непосредственно. Было бы достаточно знать, что произошли изменения, я знаю... это много:)
Пожалуйста, поделитесь своими мыслями! Заранее спасибо! Даниил
2 ответа
Нет, для большинства традиционных РСУБД нет никакого способа. Просто из-за http://en.wikipedia.org/wiki/ACID
Да, RowSet может быть обновлен. Просто вызовите его метод execute() снова.
Согласно документам:
Если этот метод успешен, текущее содержимое набора строк отбрасывается, и метаданные набора строк также (пере) устанавливаются.
Событие rowSetChanged срабатывает при этом обновлении.
Если вы спрашиваете, может ли RowSet автоматически обновляться при изменении данных на сервере базы данных: я не знаю, как это возможно. Вы можете не захотеть знать о таких изменениях, в зависимости от уровня изоляции, блокировки и стратегии MVCC.