Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Перехват ошибок DBEngine

Delphi , Базы данных , Ошибки БД

Перехват ошибок DBEngine

Автор: Eryk

Компьютер - это электронное устройство, которое не заменит человека до тех пор, пока не научится смеяться над шутками босса и сваливать свои собственные ошибки на соседний компьютер.

Ошибки общего характера, типа Key Violation или конфликты блокировки лучше всего обрабатывать в обработчике события Application.OnException ...например:


{Секция Interface}
procedure HandleException(Sender: TObject; E: Exception);
...

{Секция Implementation}
procedure TForm1.HandleException(Sender: TObject; E: Exception);
var
  err: DBIResult;
begin

  if E is EDBEngineError then
  begin
    err := (E as EDBEngineError).errors[(E as EDBEngineError).errorcount -
      1].errorcode;
    if (err = DBIERR_KEYVIOL) then
      showMessage('Ошибка Key violation!')
    else if (err = DBIERR_LOCKED) then
      showmessage('Запись блокирована другим пользователем')
    else if (err = DBIERR_FILELOCKED) then
      showmessage('Таблица блокирована кем-то еще')
    else
      showmessage('Другая ошибка DB')
  end
  else
    showmessage('Упс!: ' + E.Message);
end;

...'инсталлировать' обработчик исключений можно так:


procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.onException:=HandleException;
end;

Для использования предопределенных констант ошибок ('DBIERR_etc.'), вам необходимо включить DBIERRS в список используемых модулей. Полный список кодов ошибок при работе с базами данных вы можете найти в файле DBIERRS.INT, расположенном в каталоге :\DELPHI\DOC.

Статья Перехват ошибок DBEngine раздела Базы данных Ошибки БД может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Ошибки БД ::


реклама

::


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
15.12.2019 14:26:27/0.0028409957885742/0