Delphi XE3 アプリを開発しています。Windows 7 64 ビットで。SQLite3 データベースに書き込み、データを読み取ります。
dos コマンドラインを使用してデータを読み取れば問題ありません。
ただし、Delpih または SQLiteExpert を使用して dbExpress コントロールを介して返されるデータはガベージです。64ビットWindowsを使用していることが原因ではないかと疑っていますが、完全に困惑しています.
アイデアはありますか?
コマンドライン sqlite3 は、適切なデータを示しています。
sqlite> select distinct * from flight;
1|38926|Wed, 13 Mar 2013 15:54:19 GMT|EE35|38927|EGBB|EGPD|ofp|100720
2|38926|Wed, 13 Mar 2013 15:54:19 GMT|EE35|38927|EGBB|EGPD|ofp|100720
Delphi コード (同じ問題で TSQLQuery も試しました):
qrySelect := TSQLDataSet.Create(nil);
qrySelect.CommandType := ctQuery;
qrySelect.SQLConnection := conn;
qrySelect.CommandText := 'select distinct flight_brief_id, brief_id, brief_date from flight';
qrySelect.Open;
try
showmessage(inttostr(qryselect.Fields.Count)); // returns 3 as expected
qrySelect.First;
while not qrySelect.Eof do
begin
strA := qryselect.Fields[0].AsString;
strB := qryselect.Fields[1].AsString;
strC := qryselect.Fields[2].AsString;
qrySelect.Next;
end;
finally
qrySelect.Close;
end;
ありがとう。