我做了一个三层数据库系统的程序。
   服务器端用ADOConnection1+ADOQuery(SQL语句为空)+DataSetProvider(Options中poAllowCommand设为True),连接到了一个SQL SERVER 2000数据库上。
客户端,加入的组件有:DCOMConnection1+clientdataser设置完毕。
    当我在客户端写上:
     SSQL:='select invo_name from tab_invoice ';
     DM.ClientDataSet1.close;
     DM.ClientDataSet1.CommandText := SSQL ;
     DM.ClientDataSet1.open;
  时报错:“BOF或EOF中有一个是”真“,或者当前的记录已被删除,所需的操作要求一个当前的记录”
   这个错误怎么才能解决啊?

解决方案 »

  1.   

    1。装DELPHI的两个补丁
    2。在运行程序的机器上装MDAC2。6以上版本
      

  2.   

    就是查询数据为空,是D5吗?去找ADO的补丁给ado打补丁吧,这是delphi的一个bug ado补丁包下载地址:
    名称:d5adoupdate2.exe
    URL:ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe
    大小: 1740KB 
    完成时间:Tue Aug 28 17:55:23 2001
    引用页:http://www.borland.com/devsupport/delphi/mdac26.html
    注释:Download ADOExpress Update Pack 2  我的D版是:100-000-8268 b3x7-91x0 
      

  3.   

    装DELPHI的两个补丁!你的是delphi5或delphi6.0吧
      

  4.   

    我用的是DELPHI 5.0!我决定用DELPHI 7.0,算了!不过用DELPHI 7.0的换成RAVE做报表!