L
lifanxi
Unregistered / Unconfirmed
GUEST, unregistred user!
我学习三层数据库开发时,为了解决数据提交冲突的问题,在工程中加入了Reconcile
对话框,但它似乎不起作用,向各位请教。
加入Reconcile对话框后处理ClientDataSet的OnReconcile事件,写上
Action := HandleReconcileError(DataSet, UpdateKind, E);然后测试,运行程序,修改
一个数据,不提交。然后打开数据库,修改了同一条记录中的另一个数据,然后再回到程
序进行提交,弹出了Reconcile对话框,但上面只有Skip、Cancel、Correct三个选项,选
任何一个都无法把数据提交。于是我胡乱修改了Reconcile对话框的代码,去掉了
FCurColIdx > 0的条件,让Refresh和Merge选项出现,但仍然无济于事。
我的问题是,像我做试验的这种情况,一个用户修改了数据未提交,另一个用户也修
改了数据但提交了,如何才能让第一个用户也把数据提交上去?或者不行的话,让第一个
用户的数据立即变成最新的也行,现在我的情况下,不管用户在Reconcile对话框中选什
么,他都处于一种很被动的地位,只能Revert操作再刷新数据才能继续工作。我对
Reconcile对话框的作用是否有所误解,请为我解释一下Reconcile对话框的具体功能。
谢谢!
对话框,但它似乎不起作用,向各位请教。
加入Reconcile对话框后处理ClientDataSet的OnReconcile事件,写上
Action := HandleReconcileError(DataSet, UpdateKind, E);然后测试,运行程序,修改
一个数据,不提交。然后打开数据库,修改了同一条记录中的另一个数据,然后再回到程
序进行提交,弹出了Reconcile对话框,但上面只有Skip、Cancel、Correct三个选项,选
任何一个都无法把数据提交。于是我胡乱修改了Reconcile对话框的代码,去掉了
FCurColIdx > 0的条件,让Refresh和Merge选项出现,但仍然无济于事。
我的问题是,像我做试验的这种情况,一个用户修改了数据未提交,另一个用户也修
改了数据但提交了,如何才能让第一个用户也把数据提交上去?或者不行的话,让第一个
用户的数据立即变成最新的也行,现在我的情况下,不管用户在Reconcile对话框中选什
么,他都处于一种很被动的地位,只能Revert操作再刷新数据才能继续工作。我对
Reconcile对话框的作用是否有所误解,请为我解释一下Reconcile对话框的具体功能。
谢谢!