使用adoquery保存数据在什么情况下采用事务处理。是在批量更新时要用到,还是post时就要用

解决方案 »

  1.   

    一般在POST单笔记录时可以不用事务,批量更新时都用事务,一旦出错就进行回滚处理
      

  2.   

    adoquery采用事务不好控制,批量更新有问题啊
      

  3.   

    事务处理一般是在批量操作时使用的,如果是单个操作的话我想应该没那个必要吧,具体的处理可以用ADOConnection1控件的BeginTrans开始一个事务,ADOConnection1.CommitTrans;提交事务 ADOConnection1.RollbackTrans;事务回滚
      

  4.   

    8楼正解,实际用起来并不困难。
    ADOConnection1.BeginTrans; //开始事务
      try
        with adoquery1 do
        begin
          close; //插入记录
          sql.clear;
          sql.add('insert   into   tablename(.......) value(.......) ');
          execsql;
        end
          ADOConnection1.CommitTrans; //提交事务
      except
        ADOConnection1.RollbackTrans //回滚
      end;