我在程序中有如下代码:
with ADOQuery1 do
    begin
      close;
      sql.Clear ;
      sql.Add('select * from CountBarCode where BarCode=:ss');
      Parameters.ParamByName('ss').Value:=str;
      open;
      if RecordCount<=0 then
      begin
        close;//出错地点。
        sql.Clear ;
        sql.Add('insert into CountBarCode(Count,BarCode) Values(:ss1,:ss2)');
        Parameters.ParamByName('ss1').Value:=1;
        Parameters.ParamByName('ss2').Value:='aaa';
        ExecSQL;
      end;
我的ADOQuery1已经连到ADOConnection上,并且select语句可以执行,但 
执行到close;//出错地点。 时显示错误:
Project fs.exe raised exception class EOleException with message 'BOF 或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。'.Process stopped.Use Step or Run to continue.
   
以上是在调试中显示的错误,若不调试而直接运行程序,则不显示错误,但没有执行插入记录的操作。各位大虾来帮忙呀!

解决方案 »

  1.   

    我用Delphi5的ADOQuery也出这个问题,两个解决办法,一是去Borland官方网站下载补丁,
    二是升级到Delphi6。
      

  2.   

    idistudio:
       我的程序只能用Delphi 5, Borland官方网站的补丁我怎么找不到呀,请具体指点呀,拜托了!!!
      

  3.   

    请安装ADO的升级包,如果需要给个mail
      

  4.   

    JonHua朋友:
       我的Email:  [email protected] ,请给我E-Mail ADO的升级包及指点升级的方法,万分感激!  立即结帖!
      

  5.   

    升级到delphi6 或者更高版本。
      

  6.   

    我的程序只能使用Dephi 5, 现急需ADO的升级包,大家快来帮个忙呀!!!
      

  7.   

    你去这个网址下吧www.borland.com/techpubs/delphi/updated.html
      

  8.   

    楼上朋友说的网址只有Help文档呀。
    我已经下载了15.4MB的D5ADOUpgrade,可是更新完后怎么打开Delphi 5时报如下错误:
    无法定位程序输入点@Parentagesupport@TSpring@FindItemByPath$qqrx17System@AnsiStringo于动态链接库dsnide50.bpl上。 大家快来救救我呀!!!
      

  9.   

    不如用两个ADOQuery组件也应该可以的。