代码之家  ›  专栏  ›  技术社区  ›  rajeemcariazo

Delphi-BOF或EOF为真,或者当前记录已被删除

  •  2
  • rajeemcariazo  · 技术社区  · 14 年前

    当我试图在mssqlserver2005中的空表上选择“BOF或EOF为True,或者当前记录已被删除”时,出现了此错误。我在delphi5中使用了TADOConnection和TADODataSet来连接和检索数据库中的数据。

      Conn := TADOConnection.Create(nil);
      DataSet := TADODataSet.Create(nil);
    
      Conn.ConnectionString := 'Provider=SQLOLEDB.1;Password=sa;' +
                               'Persist Security Info=True;' +
                               'User ID=user;Initial Catalog=mydb;' +
                               'Data Source=MYPC\SQLEXPRESS;' +
                               'Use Procedure for Prepare=1;' +
                               'Auto Translate=True;Packet Size=4096;' +
                               'Workstation ID=MYPC;' +
                               'Use Encryption for Data=False;' +
                               'Tag with column collation when possible=False';
      Conn.LoginPrompt := False;
      Conn.Open;
    
      DataSet.Connection := Conn;
      DataSet.CommandText := 'SELECT * FROM MYTABLE';
      DataSet.Open;
    
      DataSet.Free;
      Conn.Free;
    

    4 回复  |  直到 12 年前
        1
  •  7
  •   Gerry Coll    14 年前

    此错误最初是在更新到MDAC\ TYP(从内存更新到2.6)时发生的。据一位老人说 Borland advisory “这是SQL Server提供程序中的错误。套 CursorLocation = clUseClient 以消除错误。”

    有一个ADOExpress修补程序可从 Borland ,但链接不起作用。Embarcadero现在在这里主持: ftp://ftpd.embarcadero.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe

    我建议您下载并安装Embarcadero网站上列出的所有补丁,前提是您可以找到它们。

        3
  •  2
  •   marc_s    9 年前

    这是很久以前的事了,但我记得delphi5中的这个问题是通过Delphi更新解决的。早期版本的ADO组件存在严重问题

        4
  •  1
  •   Reto Höhener    12 年前

    因为我花了一整天的时间在这上面,这里是我最后所做的总结。

    1. 卸载Delphi5,同时删除安装目录
    2. 安装Delphi 5 Pro(我只有德国Delphi Pro版本)
    3. 安装Delphi5 Pro更新(我使用了德语更新)
    4. 安装Delphi 5 ADO Express

    下载链接(再次感谢Jeroen Wiert Pluimers):

    ftp://ftpd.embarcadero.com/pub/delphi/devsupport/updates/delphi5/D5ProUpdate.exe ftp://ftpd.embarcadero.com/pub/delphi/devsupport/updates/delphi5/german/d5proupdate.exe

    ADOExpress更新包1和2:

    ftp://ftpd.embarcadero.com/pub/delphi/devsupport/updates/adoexpress/D5ADOUpgrade.exe ftp://ftpd.embarcadero.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe

    以及一些构建下载链接的屏幕截图(区分大小写),以供将来参考:

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    enter image description here