ClientDataSet:自动应用已协调的delta?

时间:2016-06-10 22:02:15

标签: delphi delphi-xe4 tclientdataset

在ClientDataSet的OnReconcileError事件中,您可以将其告诉raMerge,它会将更改保存到增量,为其他应用更新做好准备,而不会出现错误。有没有办法告诉数据集立即在OnReconcileError事件中应用增量?我只能想一些复杂的方法来检查AfterApplyUpdates事件中的错误是否得到了协调。

1 个答案:

答案 0 :(得分:1)

所以我确实有应用更新的集中代码,我最终意识到这可能是检查用户是否请求合并的最佳位置。我可能仍需要稍微清理一下,但可能是其他遇到此问题的解决方案。

res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });

if(cds.ChangeCount > 0)then begin fIsMerged := false; errors := cds.ApplyUpdates(0); if(errors = 0)then begin cds.Refresh; end //If there is a conflict, the user might try to merge. //If they do, we need to reapply the update. else if(fIsMerged)then begin errors := cds.ApplyUpdates(0); if(errors = 0)then begin cds.Refresh; end; end; end; 是我在on reconciled handler中设置的类变量。

fIsMerged