使用sql server和delphi 10.3.1,以及firedac。
我使用缓存更新,自动提交。
我一直在设法让我的数据进入已从数据库中删除记录的状态,并且我还删除了数据集中的记录。
然后,当它尝试将更改提交到数据库(数据不再存在)时,我收到一个错误:[我的应用程序]引发异常类emssqlNativeException并显示消息[firedac] [Phys] [odbc] [sqlncli11.dll] SQL_NO_DATA,然后我无法清除数据集上的缓存更新标志,因为那里有“坐”的东西。
我的问题 - 如何才能让它不返回错误?因为它确实不是错误,它试图删除不再存在的记录。我没有找到关于查询的更新选项的任何文档,所以我需要设置一个标志吗?
您可以在决定如何继续之前处理OnUpdateError
中的更新错误并执行任何其他检查。盲目地假装所有删除工作将是这样的:
procedure TForm1.FDQuery1UpdateError(ASender: TDataSet; AException:
EFDException; ARow: TFDDatSRow; ARequest: TFDUpdateRequest; var AAction:
TFDErrorAction);
begin
if ARequest = ARDelete then AAction := eaApplied;
end;
有关更多信息,请阅读OnUpdateError的在线帮助。