dataset有一批查询所得数据  *dataset.emptydataset;
dataset.data := dataset2.data;
dataset.applyupdate(0);在applyupdate后,因为在以后的处理事件中出错,我想回滚数据,就是要回到刚开始查询所得数据状态。请问应该用什么语句?

解决方案 »

  1.   

    如果想返回dataset.post前的状态,那又应该用什么语句?
      

  2.   

    procedure TMainForm.Query_LimitBeforePost(DataSet: TDataSet);
    begin
      ADOconn.BeginTrans;
    end;procedure TMainForm.Query_LimitAfterPost(DataSet: TDataSet);
    begin
      ADOconn.CommitTrans;
    end;procedure TMainForm.Query_LimitPostError(DataSet: TDataSet;
      E: EDatabaseError; var Action: TDataAction);
    begin
      ADOconn.RollbackTrans;
    end;参考以上代码,在dataset数据集的BeforePost,AfterPost,PostError中写相就代码就可以了,
    ADOconn为ADOconnection.