Lazarus:DBGrid显示“(MEMO)”作为SQLite 3中字符串字段的值
我正在尝试使用Lazarus和SQLdb组件编写一个简单的SQLite 3应用程序。
我已设法连接到数据库并填充
TDBGrid
。问题是作为文本字段的所有列都显示值“(MEMO)”而不是DB中的字符串。
没有找到相关结果
已邀请:
6 个回复
荤碗
事件。 查看是否在对象检查器中输入“fields”字段会调出一个编辑器来生成组件(在Zeos iirc中会这样做)。
漂汀拦
中。将
添加到表单并将其连接到相同的
。在这种情况下,您将在备忘录中看到文本。
肉簧咸缮
在代码的实现部分,将其放入:
然后单击表单中的tdbgrid控件,在Object Inspector(Lazarus IDE)中,单击Events选项卡,在下面滚动以查找OnPrepareCanvas事件。双击它以生成代码。然后修改代码以满足您的需要,例如tdbgrid控件的名称:
变量MemoFieldReveal指向类MemoDifier。不要忘记修改索引(Items [x])以指向显示(MEMO)文本的tdbgrid项目/字段的索引号。
死狸蔽垂藐
写
惜堡沁戚
更改为
,则文本将在
中按预期显示。 更改SQLite列 您可能知道,SQLite不允许您更改列的字段类型。因此,如果您已经在数据库中存储了有价值的数据,请使用本教程中描述的步骤 SQLite ALTER TABLE&如何克服其局限 这是另一种选择 创建转储(
) 更改生成的sql中的表定义(stlike
) 导入新数据库(
) 交换旧数据库和新数据库的名称
耐钨徒
添加到属于您的数据集的
(此处命名为
)(例如,
,此处命名为
) 在表单定义中的.pas>
>
>中,添加
在.pas>
>添加此方法