Delphi FireDAC 并使用 FDUpdateSQL 更新 class

Delphi FireDAC and update with FDUpdateSQL class

我使用了 FDQuery(Delphi XE5 和 SQL Server 2008)并将 SQL 属性设置为以下 SQL 命令:

select LetterId, LetterTitle, LetterDate
from Letters

并且 FDUpdateSQL 将其分配给 FDQuery.UpdateObject,将 FDUpdateSQL.FetchRowSQL 设置为此命令:

select LetterTitle
from Letters
where LetterID=:Old_LetterID

当我更改 LetterTitle 值并 post 它然后 运行 FDQuery.RefreshRecord 时,所有字段恢复为空值,LetterTitle 恢复具有 posted 值。

有没有办法只恢复选定的字段?

调用FDQuery.RefreshRecord(假)

当 AClearRow 参数设置为 True(默认值)时,记录最初被擦除。否则,读取的值会覆盖相应的列值。

FireDAC.Comp.DataSet.TFDDataSet.RefreshRecord