このエラーは、MS SQL Server 2005で空のテーブルを選択しようとしたときに表示されました:「BOFまたはEOFのいずれかがTrueであるか、現在のレコードが削除されています」。Delphi 5で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;
そのようなエラーを発生させずにデータベーステーブルが空であるかどうかを確認する方法はありますか?