簡體   English   中英

SQLite FireDAC尾隨空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM