这个问题问过很多次了,不过还是要问一下。结构为三层结构,中间层为ADOConnection, ADOQuery, DataSetProvider。
客户端为DCOMConnection,ClientDataSet。客户端A,B同时读出数据,A先把数据字段F1的内容由‘XXX’改为'YYY' ,提交。这时数据库中内容已改变为‘YYY’。
B显示仍为‘XXX’,这时B把字段内容改为‘ZZZ’,提交,中间层会报错“...Record not found or changed by another user...”,数据不会得到提交,数据库中的字段仍然是‘YYY’(修改时均使用数据感知控件修改,提交使用ClientDataSet的ApplyUpdates方法)我想如何可以将中间层的错误消息捕获后(或者客户端直接捕获也可以)显示在客户端,提示用户数据已被其他用户修改,需刷新后才可以修改?这里有个限制条件就是:B客户端后来提交的数据一定不能在不知道A已经更改的情况下去更新。不知道以上想法是否可行,谢谢!
客户端为DCOMConnection,ClientDataSet。客户端A,B同时读出数据,A先把数据字段F1的内容由‘XXX’改为'YYY' ,提交。这时数据库中内容已改变为‘YYY’。
B显示仍为‘XXX’,这时B把字段内容改为‘ZZZ’,提交,中间层会报错“...Record not found or changed by another user...”,数据不会得到提交,数据库中的字段仍然是‘YYY’(修改时均使用数据感知控件修改,提交使用ClientDataSet的ApplyUpdates方法)我想如何可以将中间层的错误消息捕获后(或者客户端直接捕获也可以)显示在客户端,提示用户数据已被其他用户修改,需刷新后才可以修改?这里有个限制条件就是:B客户端后来提交的数据一定不能在不知道A已经更改的情况下去更新。不知道以上想法是否可行,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货