database1.starttransaction;
   try
    Query1.applyupdates;
    Query2.applyupdates;
    dmsl.Database1.Commit;                         
   except
    database1.Rollback;
    Messagedlg('操作失败!',mtwarning,[mbOK],0);
   end; query1 提交成功,query2提交出错,这个事务怎么不回滚。还有请问如何撤消这个事务。Tdataset的transaction,

解决方案 »

  1.   

    ADOQuery1.sql.Add('insert into table1(t1) values(1)');
    ADOQuery2.sql.Add('insert into table2(t1) values(1)');
    ADOConnection1.BeginTrans ;
    try
      ADOQuery1.ExecSQL ;
      ADOQuery2.ExecSQL ;
      ADOConnection1.CommitTrans ;except
      ADOConnection1.RollbackTrans ;
    end;
    end;
      

  2.   

    没有问题啊?你的数据库支持TRANSACTION吗?用的是同一个DATABASE吗?
      

  3.   

    我用的paradox数据库,缓存更新,主从表。
      

  4.   

    对了用了两个tupdatesql控件,我想把主从表封在一个事务中。怎么办