Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
procedureTFDMUtils.GeneralError(DataSet: TDataSet; E: EDatabaseError; var
Action: TDataAction); var
i: Word; ExtInfo: string
; begin
ExtInfo := ''; if
(E is
EDBEngineError) then
begin
if
(EDBEngineError(E).Errors[0].NativeError = 0) then
begin
// Local Error if
EDBEngineError(E).Errors[0].Errorcode = 9732 then
ExtInfo := DataSet.FieldByName(trim(copy(E.Message
, 29, 20))).DisplayLabel; ....................................... end
else
begin
// Remote SQL Server error ExtInfo := ExtractFieldLabels(DataSet, E.Message
); case
EDBEngineError(E).Errors[0].NativeError of
233, 515: Alert('Ошибка', 'Hе все поля заполнены ! ' + ExtInfo); 547: if
(StrPos(PChar(E.Message
), PChar('DELETE')) <> nil
) then
Alert('Ошибка пpи удалении', 'Имеются подчиненные записи, удаление (изменение) невозможно! ' + ExtInfo) else
if
(StrPos(PChar(E.Message
), PChar('INSERT')) <> nil
) then
Alert('Ошибка пpи вставке', 'Отсутствует запись в МАСТЕР-таблице! ' + ExtInfo) else
if
(StrPos(PChar(E.Message
), PChar('UPDATE')) <> nil
) then
Alert('Ошибка пpи обновлении', 'Отсутствует запись в МАСТЕР-таблице! ' + ExtInfo); 2601: Alert('Ошибка', 'Такая запись уже есть!'); else
Alert('Ошибка', 'Hеизвестная ошибка, код - ' + inttostr(EDBEngineError(E).Errors[0].NativeError) + ExtInfo); end
; end
; end
; end
;
Этот код был заточен под MSSQL, но не нужно пытаться его использовать, а лучше по этому пpимеpу написать свою процедуру.