gpt4 book ai didi

delphi - 即使 ApplyUpdates 位于 try 内,仍然会弹出错误消息...除了

转载 作者:行者123 更新时间:2023-12-03 15:10:48 25 4
gpt4 key购买 nike

已找到解决方案,请参阅下面的评论

D5、odbc转mysql数据库

这段代码:

  with QryCmdPerf do begin
Close;
ParamByName('ACCTID').AsInteger:= AcctId;
ParamByName('FROMDT').AsString:= MySQLDate(FromDt);
ParamByName('TODT').AsString:= MySQLDate(ToDt);
Open;
first;
try
edit;
FieldByName('PnL').AsFloat:= 97979;
ApplyUpdates;
except
close;
end;
end; // with

(特别是“ApplyUpdates”)如果 PnL 字段已具有值 97979,则会导致弹出窗口显示文本“更新失败”,显然是因为以下代码:

procedure TUpdateSQL.ExecSQL(UpdateKind: TUpdateKind);
begin
with Query[UpdateKind] do
begin
Prepare;
ExecSQL;
if RowsAffected <> 1 then DatabaseError(SUpdateFailed);
end;
end;

在 DBTables.pas 中。不管怎样,我希望能够发出ApplyUpdates,并且不必担心如果不进行任何更新就会弹出窗口。但如果“尝试...异常(exception)”不起作用,那什么可以呢?

TIA

最佳答案

您将调试器显示的对话框与您的程序显示的对话框混淆了。请看我几年前写的这篇文章:

它描述了避免调试器干扰的几种方法:

  • 使用“高级断点”暂时禁用引发异常的代码周围的调试器。
  • 配置调试器以忽略某些异常类型。 (更仔细地阅读调试器的消息,以准确了解您正在处理的异常类。)
  • 将调试器配置为不会因任何异常而中断。
  • 完全关闭集成调试器。

关于delphi - 即使 ApplyUpdates 位于 try 内,仍然会弹出错误消息...除了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com