【发布时间】:2014-10-28 15:47:03
【问题描述】:
我正在使用 Delphi XE7 和 FireDAC 来访问 SQLite。
当我将数据放入 TEXT 字段时,任何尾随空格或 #0 字符都会被截断。
我可以在 SQLite 或 FireDAC 中进行更改以使其保留尾随空格吗?
// The trailing spaces after Command don't come back from SQLite.
fFireDACQuery.ParamByName(kSQLFieldScriptCommands).AsString := 'Command ';
【问题讨论】:
-
将
FormatOptions.StrsTrim属性设置为 False。 -
P.S.不要与
StrsTrim属性的初始描述相混淆。有一条注释说 “对于 SQLite,此属性适用于所有字符串列,包括 ftMemo、ftWideMemo、ftString、ftWideString、ftFixedChar 和 ftFixedWideChar。” 这只是你的情况。 -
听起来不错的答案,那为什么要发表评论,而不是在下面的“您的答案”下方?
-
我已将 FormatOptions.StrsTrim 设置为 False,它修复了一些情况,但不是全部。错过的是那些在字符串末尾带有#0(作为字符)的那些。我使用的是 ShortStrings,因为 C 风格的字符串有自己的问题,字符串中的实际 #0。