带有SQLite的c ++ builder:数据表示在DBGrid中显示WIDEMEMO

时间:2013-06-19 19:19:42

标签: sqlite c++builder dbgrid

我将C ++ Builder与SQLite数据库一起使用。我通过DBExpress连接数据库。问题是DBGrid在每个字段中显示(WIDEMEMO)而不是数据库具有的确切值。

我没有像其他数据库这样的问题,例如Firebird。

为什么会这样?我错过了sqlite的东西,如何修复。 您是否建议我将SQLite / Firebird或其他嵌入式数据库用于小型独立应用程序。

提前致谢。

3 个答案:

答案 0 :(得分:2)

我在 Delphi 中使用 FireDAC 并且遇到了同样的问题。 我通过将数据集 TWideMemoField DisplayValue 属性从 dvClass 更改为 dvFull 解决了这个问题。现在我的 DBGrid 可以正常工作了。

答案 1 :(得分:1)

这是DBGrid的一个问题。它不处理WIDEMEMO。请参阅链接以获取帮助。

Displaying and editing MEMO fields in Delphi's TDBGrid

答案 2 :(得分:1)

我知道这个问题已经过时了,但由于没有选择任何答案,我会投入两分钱。我最近遇到了同样的问题,并找到了一个可能对你有用的解决方案。

C ++ DataSet和SQLite中存在此问题。事实证明,当你有一个没有定义大小的字段,尤其是文本字段时,该字段将被视为DBGrid中的widememo或Memo。因此,您需要做的是使用特定数量的字符定义文本字段,即VARCHAR(10)。

这就是我所做的,它对我有用。我正在使用MySQL和Delphi与DBGrid。