我正在使用Delphi 2010,并使用dbexpress连接到MySQL数据库。连接工作100%,我正在检索我的数据。当我试图通过dbGrid更新数据时,问题就来了。我在检查表中的所有条目。当调用ApplyUpdates方法时,我得到的是“记录未被另一个用户找到或更改”。
将DataSetProvider上的updateMode更改为upWhereKeyOnly,我现在的情况是接收到“找不到记录,未指定密钥”。我试着加上

BasysClientDataSet.FieldByName('idPolicy').ProviderFlags := [pfInUpdate, pfInWhere, pfInKey];

这是代码,但我也有同样的错误。我试过将ProviderFlags添加到SQLQuery,但没有得到这样的字段“idPolicy”

最佳答案

尝试为所有主键列设置提供程序标志pfInKey,就像在客户端数据集中但在源数据集中所做的那样。即使我不知道当db express忽略这些设置时,客户机数据集中的字段到底在做什么,这也可以帮助我?我想说是虫子。

10-06 00:33