同上

解决方案 »

  1.   

    事务处理就是将相关的事务做为一个整体看待,以解决数据一致性问题。
    比如更新A表时还要更新B表,不用事务处理就可能会出现,A表更新成功,但B表没有
    更新成功,这样一来,A,B表数据就不一致了。而加入事务后两个更新都成功的话才提交
    否则就会回滚,这样就保证了A,B数据的一致性。
      

  2.   

    try
        conn.BeginTrans;//开始事务ADO的处理
        ......   //处理过程
        except
        if conn.InTransaction then //如果发生异常
          begin
            conn.RollbackTrans;    //回滚事务end
        end;
      

  3.   

    http://expert.csdn.net/Expert/topic/2871/2871062.xml?temp=.6681024
      

  4.   

    把ADOQuery1的属性:locktype:=itbactchoptimistic,usorlocation:=cluserclient
    cursortype:=keyset
    sql: select * from 表名 where 1=0保存时:(显式提交)
    with adoconnection1 do
    begin
      begintrans;  //事务开始
      try
       adoquery1.updatebatch;  //批量保存
       committrans;     //提交事务
      except
       rollbacktrans;必  //失败回滚
       rasise;
       exit;
     end;
    end;
      

  5.   

    try
    if adoconnection.inconnection then
      adoconnection.rollback
    else
      adoconnection.begintrans
    ……
    adoconnection.committrans
    except
    adoconnection.rollback
    end;