Lac*_*anG 5 delphi sqlite type-conversion devart
SQLite具有有趣的“功能”,可让您将任何内容存储在任何字段中,而不管其数据类型如何。
http://www.sqlite.org/different.html#typing
我必须读取一些外部创建的SQLite文件,这些文件是通过(ab)使用此“功能”创建的。它们具有定义为VARCHAR(30)的字段,但正在使用该字段存储最多100个字符或更多的字符串。如果直接调用SQLite DLL来存储数据,SQLite会很高兴地做到这一点而不会进行任何修整。
我当前正在使用具有SQLite支持的DevArt UniDAC 3.70.0.19来读取这些文件,但是它在定义字段时会相当尊重字段的大小,因此会创建一个长度为30个字符的TStringField对象。我无法访问超出30个字符限制的所有字符。
我知道所有可用的用于SQLite的Delphi解决方案,但是有人可以告诉我哪一个可以处理此“功能”吗?
您可以使用 sqlite 引擎的任何直接访问层来执行此操作,而无需任何 TDataset 层。
例如我们的开源包装器http://blog.synopse.info/post/2011/07/22/SynDBSQLite3%3A-SQLite3-direct-access
事实上,与大多数 SQL 数据库不同,SQLite 不会根据列的声明类型来限制可插入列中的数据类型。相反,SQLite 使用动态类型。列的声明类型仅用于确定列的关联性。无需 Db.pas 层即可直接访问,从而可以使用这一独特功能。
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |