用事务控制:
开始事务:StartTransaction
提交事务:Commit;
返回事务;Rollback

解决方案 »

  1.   

    BeginTrans :开始一个事务
    CommitTrans :提交事务
    RollbackTrans :取消事务
      

  2.   

    正好我这有段代码,供你参考;modified是我定义的一个变量,反映数据是否变,ShowErr()是一个显示错误信息的过程;procedure frmMain.Save ;
    begin
      with Qry do
      begin
        if not Database.InTransaction then
          Database.StartTransaction ;
        try
          if Modified or UpdatesPending then
            ApplyUpdates;
          Database.Commit ;
        except
          on E:EDBEngineError do
            begin
              Database.Rollback ;
              ShowError(E);
            end;
          else
            raise;
        end;
        Database.StartTransaction ;
        DisableConstraints;
        Close;
        Open;
        EnableConstraints;
      end;
    end;procedure frmMain.CancelSave ;
    begin
      with dm.Qry  do
      begin
        if not Database.InTransaction  then
          Database.StartTransaction ;
        try
          if Modified then
            Cancel;
          if UpdatesPending then
            CancelUpdates;
          Database.Rollback;
        except
          Database.Rollback;
          raise;
        end;
        Database.StartTransaction;
        Close;
        Open;
      end;
    end;
      

  3.   

     谢谢各位!
    只要在table表中设定cachedupdates:=true即可用rollback.
    多谢各位!!