TFDQuery和TFUpdate来插入和更新SQLite3表



我使用的是Windows 10Delphi 10.1SQLite3Woll2Woll DBGidDataSource。SQL查询如下:

SELECT ID, Cast(Name AS CHAR(30)) FROM Cuisine ORDER BY Name

SQLite3数据定义为ID: IntegerName: Text。删除可以正常工作,但插入和编辑可以在本地工作,但它们不存储在数据库中。我预计问题是由CAST(Name AS CHAR(30))引起的,但我无法确定这是否是问题所在,也无法在任何情况下获得DB的实际更新。我单独使用了TFDQuery,与TFDUpdateSQL component ID一起使用的是AutoIncrement密钥

我使用了一个变通方法,创建了一个计算字符串字段:NameStr我通过计算字段上的get文本填充了这个字段,然后在前后事件中将计算字段值分配给SQL字段:Name。

过程TdmRecipe.qryCuisineBeforePost(数据集:TDataSet(;开始qryCuisineName。AsString:=qryCuisineNameStr。AsString;终止

PROCEDURE TdmRecipe.qryCuisineNameStrGetText(发件人:TField;VAR文本:STRING;显示文本:BOOLEAN(;开始文本:=qryCuisineName。AsString;结束;

最新更新