SQLite 有一个有趣的“特性”,可以让您在任何字段中存储任何内容,而不管其数据类型如何。
http://www.sqlite.org/different.html#typing
我必须阅读一些由(ab)使用此“功能”创建的外部创建的 SQLite 文件。他们有一个定义为 VARCHAR(30) 的字段,但使用它来存储最多 100 个字符或更多字符的字符串。如果您直接调用 SQLite DLL 来存储您的数据,SQLite 会很高兴地做到这一点而无需进行任何修剪。
我目前正在使用具有 SQLite 支持的 DevArt UniDAC 3.70.0.19 来读取这些文件,但是它非常合理地尊重定义的字段大小,因此创建了一个长度为 30 个字符的 TStringField 对象。我无法访问超过 30 个字符限制的所有字符。
我知道 SQLite 的所有可用 Delphi 解决方案,但是有人可以告诉我其中哪些可以处理这个“功能”吗?