Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как отследить ошибку при подключении к БД?   Найти похожие ветки 

 
EvilX ©   (2004-01-29 12:11) [0]

Есть TDatabase.
Как отследить, что произошла ошибка при подключении к БД, что бы вывести своё сообщение об ошибке?
Умом понимаю, что try...except, но как конкретно? Допустим, при случае, что пользователь ввёл неверные логин/пароль?


 
Карелин Артем ©   (2004-01-29 12:35) [1]

try <f1 жмем> и видим пример отлова ошибок.

try
/// соединяемся
except
//не соединились
on E:Exception do ErrorDialog(E.Message, E.HelpContext);
// или выводим что-то свое.
end;

или не пользуемcя try/except, что тоже выведет сообщение об ошибке.


 
Digitman ©   (2004-01-29 12:35) [2]

в дан.случае при отказе в выполнении операции будет возбуждено исключение класса EDBEngineError

этот класс имеет св-во ErrorCode: DBIResult
его и надо анализировать при обработке данного исключения

коды, которые могут фигурировать в ErroeCode, перечислены в станд. файле bde.int

отсюда и пляши


 
Карелин Артем ©   (2004-01-29 12:48) [3]

Еще может оказаться интересно:
Enables the TDBEngineErrorDlg instance, replacing the standard exception message at runtime.

procedure HookExceptions;

Description

To display all unhandled EDBEngineError exceptions in a TDBEngineErrorDlg (rather than the standard message box), create a TDBEngineErrorDlg and call HookExceptions to enable it:

TDBEngineErrorDlg.Create(Application).HookExceptions;

If you include this code in an application"s project (.DPR) file, or in an OnCreate event handler for the project"s main form, the TDBEngineErrorDlg will trap and display unhandled EDBEngineError exceptions at runtime.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
1-79933
ИМХО
2004-02-09 05:01
2004.02.25
Многострочное выделение в гриде


1-79699
ЧимбаБумба
2004-02-12 19:50
2004.02.25
Динам. программирование?


3-79604
Fom
2004-02-02 11:56
2004.02.25
Как сделать клон НД?


1-79751
Alex*
2004-02-12 09:32
2004.02.25
PasteSpecial в Excele.


1-79986
DarkUser
2004-02-12 15:30
2004.02.25
Если еще кому не надоело про DLL