是否有任何方法可以检测到TFDDataset中的数据是否由于调用数据集的Refresh函数而发生了变化?
答案 0 :(得分:2)
Refresh方法的本质是它会丢弃在其内部存储中获取的元组,因此在调用它之后就没有可比较的结果集。因此,唯一的方法是在调用原始结果集之前将其存储。
但是在您的评论中,您提到了您的总体目标是要知道某个数据集是否由于另一个用户修改而发生了变化。就是说,听起来您正在轮询表,但这通常效率不高。
如果是这样,我建议考虑使用database events(如果您的DBMS支持它们)或更好的选择business tier(最好与database events结合使用)。然后,只有当数据库中的某些内容实际发生更改时,这些事件或层才会生成由客户端接收的事件,从而节省(可能有很多)空往返。