默认情况下,TClientDataSet 跟踪DataSet 中所做的所有更改(插入、更新、删除)。有没有办法告诉数据集接受当前更改(在使用插入/发布进行一系列插入之后),而不实际调用数据库来保存任何内容?
我想到的一个想法是使用 TDataSetProvider 并实现 BeforeUpdateRecord 事件并将 Applied 参数设置为 true。我不喜欢这件事的两件事。我必须再添加两个对象(TDataSetProvider 和 TSQLQuery 对象),然后 ApplyUpdates 启动一个事务。有没有更简单的方法?
如果我没有在 TClientDataSet 上设置 ProviderName,ApplyUpdates 将失败。
Thanks
您可以设置LogChanges http://docwiki.embarcadero.com/Libraries/en/Datasnap.DBClient.TCustomClientDataSet.LogChanges在修改数据集之前设置为 false。或者,如果您需要任何阶段的更改日志,您可以致电MergeChangeLog http://docwiki.embarcadero.com/Libraries/en/Datasnap.DBClient.TCustomClientDataSet.MergeChangeLog合并更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)