![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дисконнект? [D5, MSSQL]
RavenD © (2004-09-21 18:24:00)Привет, All!
народ, подскажите как правильно отлавливать дисконнект с сервером (MSSQL, ORACLE), пользуюсь связкой TDataBase -> TQuery(TTable)
Спасибо.
Мышь (2004-09-23 18:10:00) [1]А зачем "закрывать все открытые источники"? Само все будет. На халяву, при разрушении соответствующих компонентов.
Sergey13 (2004-09-22 09:34:00) [2]2[5] RavenD (22.09.04 09:19)
>не надо глумится, если есть что сказать по существу обязательно выслушаю, а спамить не надо, пожалуста
Ну во первых не спамить а флудить. 8-)
Во вторых я предложил конкретный выход от пореза - радио.
В третьих - это ты глумишься, требуя при обрезании кабеля корректного завершения сетевого приложения.
Johnmen (2004-09-22 09:34:00) [3]Тогда общий подход примерно такой.
1. Каждое действие (последовательность действий), приводящее к посылке запроса на сервер, заворачивается в try.
2. В except указанного try выставляем нашу глобальную переменную (напр. Connected) в False. Изначально она True.
3. Имеем таймер, в котором анализируем Connected. И если облом, то предпринимаем необходимые действия. Видимо, закрываем коннект.
KSergey (2004-09-22 09:28:00) [4]> [5] RavenD (22.09.04 09:19)
> требуется коректно завершить всю работу, закрыть все открытые
> источники
С обрезанным-то проводом??? И после этого еще можно не глумиться? ;)
RavenD (2004-09-22 09:19:00) [5]> Johnmen
требуется коректно завершить всю работу, закрыть все открытые источники, и хотелось сделать это как то централизованно, без навешивания на каждый TTable, TQuery
> Sergey13
не надо глумится, если есть что сказать по существу обязательно выслушаю, а спамить не надо, пожалуста
Sergey13 (2004-09-22 09:14:00) [6]2[2] RavenD (22.09.04 09:10)
>а если как раз случится страшное "враги перережут сетевой провод" что ещё можно предпринять?
1. Радио связь - резать нечего.
2. Харакири.
Johnmen (2004-09-22 09:12:00) [7]А ты хочешь сразу это обнаружить или при выполнении очередного запроса ?
RavenD (2004-09-22 09:10:00) [8]>Vlad
а если как раз случится страшное "враги перережут сетевой провод" что ещё можно предпринять?
Vlad (2004-09-21 18:33:00) [9]
> RavenD (21.09.04 18:24)
Есть событие у TDataBase - Before/AfterDisconnect
Правда если враги перережут сетевой провод - это не поможет.