TFDDataset обнаруживает изменения после вызова для обновления

Есть ли способ определить, изменились ли данные в TFDDataset в результате вызова функции Refresh для набора данных?

delphi,firedac,

0

Ответов: 1


2 принят

Характер метода Refresh заключается в том, что он отбрасывает кортежи, извлеченные во внутреннем хранилище, поэтому после его вызова у вас нет результатов для сравнения. Следовательно, единственный способ - сохранить исходный набор результатов перед его вызовом.

Но в своем комментарии вы упомянули, что ваша общая цель - узнать, изменился ли какой-то detaset в результате изменения другого пользователя. Тем не менее, звучит так, что вы проводите опрос таблиц, которые в целом неэффективны.

Если это так, я бы предложил рассмотреть либо события базы данных (если ваша СУБД их поддерживает), либо еще лучше бизнес-уровня (в идеале в сочетании с событиями базы данных ). Эти события или уровень затем генерируют событие, полученное клиентом только тогда, когда что-то в базе данных фактически изменяет сохранение (по большому счету) пустых круглых поездок.

Дельфы, firedac,
Похожие вопросы