gpt4 book ai didi

SQLite FireDAC 尾随空格

转载 作者:行者123 更新时间:2023-12-03 15:56:20 26 4
gpt4 key购买 nike

我使用 Delphi XE7 和 FireDAC 来访问 SQLite。

当我将数据放入 TEXT 字段时,任何尾随空格或 #0 字符都会被截断。

我可以在 SQLite 或 FireDAC 中更改一些内容以使其保留尾随空白吗?

// The trailing spaces after Command don't come back from SQLite.
fFireDACQuery.ParamByName(kSQLFieldScriptCommands).AsString := 'Command ';

最佳答案

禁用 StrsTrim属性(property)。该属性描述为:

TFDFormatOptions.StrsTrim

Controls the removing of trailing spaces from string values and zero bytes from binary values.

而且您似乎想存储二进制数据而不是文本。如果这是正确的,请更好地定义您的字段数据类型,例如如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;

关于SQLite FireDAC 尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com