用ADO向数据库查询数据,当结果集很大或SQL耗时很大时,在没有返回结果之前怎么将已提交的SQL操作取消?

解决方案 »

  1.   

    to Wally_wu(韦利)
    只有RollbackTrans 没有Rollback。RollbackTrans也不行
    先执行下面操作
      AdoQuery1.Active:=false;
      AdoQuery1.SQL.Clear;
      AdoQuery1.SQL.Add('select * from A');
      AdoQuery1.Active:=true;
    再在另外一个按钮触发下面语句
    ADOConnection1.RollbackTrans;
    然后系统报错“没有活动事务”
      

  2.   

    Adoconnection.BeginTrans;
      AdoQuery1.Active:=false;
      AdoQuery1.SQL.Clear;
      AdoQuery1.SQL.Add('select * from A');
      AdoQuery1.Active:=true;
    ADOConnection1.RollbackTrans;//不提交
    ADOConnection1.CommitTrans;//提交