用Delphi5在MDAC2.5环境下写的程序正常运行,但在装了MDAC2.7的机器上运行就出问题了,提示“BOF或EOF有一个为‘真’”,跟踪程序,发现TADODataSet在每次Close时,如果当前记录是在最后一条记录上,就出这个错误。

解决方案 »

  1.   

    查询时加一个判断啊。。if adoquery.recordcount > 0 then
      

  2.   

    Open后,IF adoquery.recordcount=0 就Close不了了,Close时就出错。
      

  3.   

    应该是D5的问题,用D6就好了,没条件用D6,不知道D5是不是有的补丁。
      

  4.   

    是Delphi 5.0的问题,它对MDAC2.7支持有问题,彻底解决方法升级为delphi 7.0或下载delphi 5.0的升级补丁。
      

  5.   

    DELPHI 5的BUG,打一下补丁,重新编译,就没有问题了。
      

  6.   

    这应该是delphi5的一个bug,你可以升级你的delphi5,试试
      

  7.   

    这是D5的一个bug,你要先安装d5的uopdate1,然后update2,然后ado的一个补丁。delphi的ftp上有。