Обновление RowSet, если содержимое таблицы изменилось?

Можно ли обновить / обновить RowSetВ случае, если содержимое таблицы изменяется (например, другое приложение изменяет его)? Таким образом, у меня всегда есть актуальная версия таблицы.

Я смотрел в RowSetListener, но эти события кажутся вызванными, только если я внесу изменения в RowSet непосредственно. Было бы достаточно знать, что произошли изменения, я знаю... это много:)

Пожалуйста, поделитесь своими мыслями! Заранее спасибо! Даниил

2 ответа

Решение

Нет, для большинства традиционных РСУБД нет никакого способа. Просто из-за http://en.wikipedia.org/wiki/ACID

Да, RowSet может быть обновлен. Просто вызовите его метод execute() снова.

Согласно документам:

Если этот метод успешен, текущее содержимое набора строк отбрасывается, и метаданные набора строк также (пере) устанавливаются.

Событие rowSetChanged срабатывает при этом обновлении.

Если вы спрашиваете, может ли RowSet автоматически обновляться при изменении данных на сервере базы данных: я не знаю, как это возможно. Вы можете не захотеть знать о таких изменениях, в зависимости от уровня изоляции, блокировки и стратегии MVCC.

Другие вопросы по тегам