大家好
我做了一个数据库数据修改的功能,语句大致是
ADOQuery1.edit
ADOQuery1.fieldbyname('a').asstring=A;
ADOQuery1.fieldbyname('b').asstring=B;
ADOQuery1.fieldbyname('c').asstring=C;
ADOQuery1.post;但定位那一行后准备点"修改"按钮之前,别人在别的地方刚好已经修改了这一行的数据,这时我这边就会报错,请问,怎么能解决这个问题啊?

解决方案 »

  1.   

    大家好  
    我做了一个数据库数据修改的功能,语句大致是  
    ADOQuery1.edit  
    ADOQuery1.fieldbyname('a').asstring:=A;  
    ADOQuery1.fieldbyname('b').asstring:=B;  
    ADOQuery1.fieldbyname('c').asstring:=C;  
    ADOQuery1.post;  
     
    但定位那一行后准备点"修改"按钮之前,别人在别的地方刚好已经修改了这一行的数据,这时我这边就会报错,请问,怎么能解决这个问题啊?
      

  2.   

    看似平淡一问题,后面隐含了很多技术概念。事务处理、数据一直性、锁...,你现在出现这样的问题,解决问题的根本办法是自己显式控制事务,少用或不用Data-AWare元件(数据感知元件).
      

  3.   

    关注一下,建议换成SQL语句来添加数据
      

  4.   

    用update 就不会出现你所说的问题的,因为它本身就是事务提交