我用delphi5,使用adoquery,如下:
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('Select * from testtable');
        ADOQuery1.Prepared;
        ADOQuery1.Open;
数据库中表testtable为空表,即没有记录。第一次执行时没有问题,当我由于循环再一次执行时,报错“project project1.exe raised exception class EOleException with message 'BOF或EOF中有一个是真,或者当前记录已被删除,所需的操作要求一个当前的记录。'process stopped.”
请问如何解决?

解决方案 »

  1.   

    这是delphi5中的一个bug,因为delphi5中的ado还不成熟,如果用ado最好用delphi6或7,如果非用5不可的话,打上delphi5的补丁试试,但据某些人说打上补丁也不能很好地解决。
      

  2.   

    我也用delphi5,刚开始也出现这问题,很郁闷。后来打补丁解决了。三个补丁,
    一个delphi5的补丁,两个ado的补丁,打补丁的时候还要注意顺序。csdn有很多这方面的帖子,查一下。