【发布时间】:2020-09-02 11:52:15
【问题描述】:
在 TFDQuery 上调用 Post 时,我收到此错误:
[FireDAC][Phys][MSSQL]-312 Exact update affected [5] rows, while [1] was requested
通常,此检查对于警告您可能做错了什么非常有用,但在这种情况下,我想为 TFDQuery 上的每一行更新多个记录。有没有办法禁用 FDQuery Posts 的计数检查?。
我正在尝试将 UpdateOptions.CountUpdateRecords 设置为 false,但它仍然会引发错误。
代码是这样的:
q1:=TAEFDQuery.Create(Self);
q1.UpdateOptions.CountUpdatedRecords := False; // I try to disable the count check
q1.Connection:=Fprincipal.dades;
q1.SQL.Text:=' SELECT NumeroOrdre,' +
' Palet,' +
' tipusPalets,' +
' numPaletFabricacio' +
' FROM DistribucioPalets' +
' WHERE NumeroOrdre = ' + Ordre.ToString
q1.Open;
q1.Edit;
q1.FieldByName('numPaletFabricacio').AsInteger:=numPaletFabricacio;
q1.Post;
PS:我知道我可以很容易地用 UPDATE 命令替换它,但这是我从 ADO 移植到 FireDAC 的程序,并且有很多类似的查询,所以我想先看看是否有配置属性可以将 FireDAC 查询设置为与原始 ADO 查询的行为类似。
谢谢
【问题讨论】:
-
连接也有更新选项,CountUpdatedRecords 也默认为 true。在分配连接后或在连接上尝试设置它。
标签: delphi firedac delphi-10.3-rio