我正在开发一个 Delphi XE3 应用程序。在 Windows 7 64 位上。它写入 SQLite3 数据库并读回数据。
如果我使用 dos cmdline 读取数据,那很好。
但是,通过 Delpih 中的 dbExpress 控件或使用 SQLiteExpert 返回的数据是垃圾。我怀疑它归结为使用 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;
谢谢。