在c/s或多层中,如果两个用户同时打开一条记录,修改后提交会产生更新冲突;
据说办法有二:1。打开同时锁定表的记录 2。浦获错误,撤消其中一个用户的修改,但是很少见到具体实现的代码;请大家告诉具体的代码怎么写:
1。打开时如何锁定一条记录?
2。如何扑获更新错误?在delphi中调试时会报“该记录读出后已经被再次修改”,而在运行时如何判定错误为更新冲突?因为更新时其他的错误如输入不合法等也可能报错,如何把更新冲突和其他的分开?
请热心的朋友给比较周详的答案,因为受这问题困扰的可能不只是我一个人,大家都可以参考一下;分有点少,我只有这些了,请多关照!
据说办法有二:1。打开同时锁定表的记录 2。浦获错误,撤消其中一个用户的修改,但是很少见到具体实现的代码;请大家告诉具体的代码怎么写:
1。打开时如何锁定一条记录?
2。如何扑获更新错误?在delphi中调试时会报“该记录读出后已经被再次修改”,而在运行时如何判定错误为更新冲突?因为更新时其他的错误如输入不合法等也可能报错,如何把更新冲突和其他的分开?
请热心的朋友给比较周详的答案,因为受这问题困扰的可能不只是我一个人,大家都可以参考一下;分有点少,我只有这些了,请多关照!
解决方案 »
- 把主调程序的变量传到DLL的窗体上.
- 做一个图书管理系统,有一些疑惑~~~~高手赐教~~~~
- 在南京求购Delphi5开发人员指南
- 我使用Activeds_TLB创建了一个虚拟目录,如何将他创建成应用程序.
- 1000分求论文:UP给分。人事管事系统论文。或者学校档案管理系统论文。或者学校学籍管理系统论文。
- 关于Thread线程的一个问题
- 在程序里怎么定义Excel的单元格的边框线。
- DCOMConnect組件連到server端,出現 "interface not supported"错误??
- 中國程序員隻會做數據庫,相信這個如此實用的東東沒幾個會。。。。。
- 我想把c:\ss.cur设为edit1的光标,应如何做
- 一个让我头痛了很久的问题,高手救救我吧
- 创建问题?
MSN: [email protected]
Database1.StrartTransaction;tryClientDataSet1.ApplyUpdates(0); //这句成功ClientDataSet2.ApplyUpdates(1); //这句出错Database1.Commit;exceptDatabase1.Rollback;end;
除了就事论事谈这个问题,大家还有没有别的好的办法,防止更新问题?
另外,access等是不支持事务的,那么有些方法就无法应用了。
请经常做数据库开发方面的朋友谈谈处理这方面的问题的经验!