谢谢~

解决方案 »

  1.   

    AdoConnection.BeginTrans   AdoConnection.RollbackTrans   ;   AdoConnection.CommitTrans
      

  2.   

    procedure TForm1.btnClick(..)
    begin
      try
        AdoConnection.BeginTrans;
        adoquery.sql.add(insert into );
        adoquery.sql.add(update);   
        AdoConnection.CommitTrans
     except
        AdoConnection.RollbackTrans   ;   
     end;
    end;
      

  3.   

    谢谢楼上大侠。
    adoquery.sql.add(insert into );和adoquery.sql.add(update);   之间是否应该加个Go呢?
      

  4.   

    我在保存按钮中这样处理,是否有问题?
    AdoConnection.BeginTrans;
     try
      ADOMainQry.UpdateBatch;    adoquery1.sql.add(insert into );
        adoquery1.execSQL;
        adoquery2.sql.add(update);
        adoquery2.execSql;
        AdoConnection.CommitTrans
     except
        AdoConnection.RollbackTrans   ;   
     end;
      

  5.   

    在存储过程里写吧
    begin tran
     update SF_MZCFK set ..... 
       if @@error<>0    
       begin    
        select "F","更新代币卡病人帐户余额出错!"    
        rollback tran    
        return    
       end      
     
     insert into YY_CARDJEK(kxh,jssjh,yjjxh,kdm,czyh,czym,lrrq,zje,zhye,yhje,yhje_zje,yhje_mx,jlzt,xtbz,memo)    
    values(@cardxh,@sjh,0,@kdm,@czyh,'',(case when @jsrq='' then @now else @jsrq end),@qkje,@zhje,@yhje,0,0,0,0,'')         if @@rowcount=0    
         begin    
          select "F","没有可用发票!"    
          rollback tran    
          deallocate cs_cfk    
          return    
         end    
    commit tran    
    end