DELPHI7 + MSSQL2000
我在MSSSQL中写了一个存储过程。
假如现在我要批量更新一批数据,为了保证数据的完整,我用了事务处理,要么全部成功,要么全部失败。
在DELPHI7中,DELPHI是如何得知,事务是成功了呢还是失败了?

解决方案 »

  1.   


    AdoConnection  有一个 inTransAction  .
      

  2.   

    完全没有必要,开始时必须开启事务(BeginTrans),操作失败就是执行回滚,还有什么再次
      

  3.   

      楼主的意思应该是,
      update1;
      update2;
      .
      .
      .
      updateN;
      其中有一个出现问题,那么整个的事务回滚,都不执行。
        传说中的事务。
      ADOConnection1.BeginTrans;
      ADOConnection1.CommitTrans;
      ADOConnection1.RollbackTrans;
     
      不过你既然是写存储过程的话,那就在存储过程里写咯。
      
      
      
      

  4.   

    在SQL中處理,DELPHI中如下if not ADOConnection1.InTransaction thentry
        ADOConnection1.BeginTrans;   //事务开始    //执行你需要的所有操作    ADOConnection1.CommitTrans; //事务提交
        ShowMessage('执行所有的更新、删除、修改都成功了,也就是一致了!');
       except
        ADOConnection1.RollbackTrans;     //事务回滚
        ShowMessage('失败了!');
       end;
     
      

  5.   

    网络异常,SQLServer会自动把没有执行完的事务回滚
      

  6.   

    如果SQLServer没有执行完的事务就会回滚。如果此时网络故障,可能客户端捕捉不到错误信息,但同时客户端的链接失败。
      

  7.   

    写错了, 应该是 webservices , 不用担心网络掉线. 嘿嘿.