数据库是SQL2000 我在调用了POST 后再用了CANCLE 数据也没有 ”回滚“
请问要怎么做才能做到

解决方案 »

  1.   

    回滚应该是:
    ADOConnection1.RollbackTrans;具体用法可参考下面:
    try
    ADOConnection1.BeginTrans;代码ADOConnection1.CommitTrans;exceptADOConnection1.RollbackTrans;///////回滚end;
      

  2.   

    procedure TForm1.suiButton1Click(Sender: TObject);//调用程序
    var
      tempvar:string;
    begin
      tempvar:='aaaaaaaa';
      sqlexec('update pz set bh=:tempvar where bh=:edtbh.Text');
    end;//sqlexec的函数
    procedure sqlexec(sqlcommstring:string); //插入、更新、删除等SQL操作
    begin
    with dataSetAll do
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        adoconn.Close;
        adoconn.Open;
        adoconn.BeginTrans; //开始事务处理
        try
          ADOQuery1.SQL.Add(sqlcommstring);
          ADOQuery1.ExecSQL;
          adoconn.CommitTrans;//提交事务处理
        except
          adoconn.RollBackTrans;//回滚事务处理
        end;
      end;
      

  3.   

    如果用POST,将会提交你的数据,即使用了CANCEL也不行