删除记录时,NO_SQL_DATA错误,firedac,delphi 10.3.1

问题描述 投票:1回答:1

使用sql server和delphi 10.3.1,以及firedac。

我使用缓存更新,自动提交。

我一直在设法让我的数据进入已从数据库中删除记录的状态,并且我还删除了数据集中的记录。

然后,当它尝试将更改提交到数据库(数据不再存在)时,我收到一个错误:[我的应用程序]引发异常类emssqlNativeException并显示消息[firedac] [Phys] [odbc] [sqlncli11.dll] SQL_NO_DATA,然后我无法清除数据集上的缓存更新标志,因为那里有“坐”的东西。

我的问题 - 如何才能让它不返回错误?因为它确实不是错误,它试图删除不再存在的记录。我没有找到关于查询的更新选项的任何文档,所以我需要设置一个标志吗?

sql-server delphi firedac
1个回答
1
投票

您可以在决定如何继续之前处理OnUpdateError中的更新错误并执行任何其他检查。盲目地假装所有删除工作将是这样的:

procedure TForm1.FDQuery1UpdateError(ASender: TDataSet; AException:
    EFDException; ARow: TFDDatSRow; ARequest: TFDUpdateRequest; var AAction:
    TFDErrorAction);
begin
   if ARequest = ARDelete then AAction := eaApplied;
end;

有关更多信息,请阅读OnUpdateError的在线帮助。

© www.soinside.com 2019 - 2024. All rights reserved.