在同一段代码中使用同一个ADOQuery控件时,第二次就会出错,提示如下:BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。是不是在第二次使用前ADOQuery要先执行什么操作?

解决方案 »

  1.   

    with ADOQuery do
    begin
      CLose ;
      SQL.Clear ;
      ............
    end ;
      

  2.   

    如果你是按照这样写的
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.text := 
    adoquery1.open或者adoquery1.execsql请升级你的ado
      

  3.   

    要是Delphi5的话,很可能是你没有升级。
    升级包可以在CSDN上下载到
      

  4.   

    比如:
      with DM.ADOTempQuery do begin
        close;
        sql.clear;
        sql.add('delete from BoardInfo where NetCellID='+IntToStr(NetCellID));
        ExecSQL;
      end;  with DM.ADOTempQuery do begin
        close;
        sql.clear;
        sql.add('select * from BroadPosition where NetCellID='+IntToStr(NetcellID)
               +' and BroadID<>255');
        Open;
      end;
      

  5.   

    D5,D6都要打ADO的补丁才能不出现错误,否则肯定出此错误
      

  6.   

    为什么装了ADO升级包后就提示dclado50bpl不能正常运转,也找不到ADO控件了
      

  7.   

    使用不同的ADO也还是出错,不知什么原因
      

  8.   

    在同一段代码里是第一次不出错,第二次出错----这就是Bug