Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
trytMyTable.Post; except
on
E : EDBEngineError do
if
E.Message
= 'Key violation' then
begin
MessageDlgC ('Дублирование записи не допускается.', mtError, [mbOk], 0); // Я не уверен в том, что это нужно делать: tMyTable.Cancel; end
else
Raise
; end
;
Хорошим примером может служить проект DBERRORS.DPR, расположенный в каталоге Delphi 2 Demos. Выглядит это примерно так:
Создайте функцию типа этой:
functionDBError(DataSet: TDataSet; E: EDatabaseError; var
Action: TDataAction); const
eKeyViol = 9729; var
iDBIError: Integer; begin
if
(E is
EDBEngineError) then
begin
iDBIError := (E as
EDBEngineError).Errors[0].Errorcode; case
iDBIError of
eKeyViol: begin
MessageDlg('Нарушение уникальности записи ', mtWarning, [mbOK], 0); Abort; end
; end
;
Затем для каждой таблицы вашего приложения создайте следующий обработчик события:
procedureTMainForm.Table1EditError(DataSet: TDataSet; E: EDatabaseError; var
Action: TDataAction); begin
DBError(Table1, E, Action); end
;
Таким образом вы можете перехватить множество ошибок. Смотрите примеры от Borland, там много чего есть полезного.