Решение найдено, см. мой комментарий ниже
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 и не беспокоиться о всплывающем окне, если оно не выполняет никаких обновлений. Но если "попробовать ... кроме" не работает, что будет?
TIA