Delphi三层结构,用TClientDataSet获取数据,两人或以上同时操作一笔数据,如何避免修改冲突,比如一人打开后,另一人只能查看不能修改 主要是UPDATE吧。 看过别人的思路是加一个字段来记录当前改动的次数,在UPDATE的时候比较 获取这条数据时的该字段值与UPDATE时数据库当前中的值是否一致。
自己搞定了,说一下我的解决方法吧:DataSetProvider设置更新模式为upWhereAll或者upWhereChanged,表中增加一字段Revision记录数据修订版本,每次修改后+1,这样就达到检测原值的目的,后面修改的人如果要保存,必须先刷新数据
|