[英]SQLite FireDAC trailing spaces
我正在使用帶有FireDAC的Delphi XE7來訪問SQLite。
當我將數據放入TEXT字段時,任何尾隨空格或#0字符都會被截斷。
我可以在SQLite或FireDAC中更改它以保留尾隨空格嗎?
// The trailing spaces after Command don't come back from SQLite.
fFireDACQuery.ParamByName(kSQLFieldScriptCommands).AsString := 'Command ';
禁用StrsTrim屬性。 此屬性描述為:
TFDFormatOptions.StrsTrim
控制從字符串值中刪除尾隨空格和從二進制值中刪除零字節。
而且似乎您希望存儲二進制數據而不是文本。 如果這是正確的,更好地定義您的字段數據類型,例如BINARY [255],用於255字節的固定長度二進制字符串(255是您使用的ShortString的最大長度)。
然后您將以這種方式訪問此類字段的參數值:
var
Data: RawByteString;
begin
ReadByteDataSomehow(Data);
FDQuery.FormatOptions.StrsTrim := False;
FDQuery.SQL.Text := 'INSERT INTO MyTable (MyBinaryField) VALUES (:MyBinaryData)';
FDQuery.ParamByName('MyBinaryData').AsByteStr := Data;
FDQuery.ExecSQL;
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.