在delphi中使用ADOConnection 和 ADOQuery ,请问如何使用事务(Transaction)?

解决方案 »

  1.   

    用adoconnection的事务属性,向判断是否处于事务当中
    如果处于,回滚或提交掉,然后开始一个新事物
    完成后提交事务
      

  2.   

    adocn.begintrans;
    try
      adoquery.updatebatch;
      adocn.commit;
      showmessage('保存成功!')  ;
    except 
      on e:EOleException do
      begin
        ls_error := e.message;
        adocn.rollback;
        showMessage('数据保存失败,错误信息:' + ls_Error )
      end;
    end;
      

  3.   

    try
      adoconnection.BeginTrans;   //开始事务
      
      做数据库操作(可以用adoquery)
      
      adoconnection.CommitTrans; //提交事务
    except
      adoconnection.RollbackTrans; //回滚事务
    end;