Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2008, 13:36   #1
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию Как обработать исключение?

Связка Delphi + ADO + Access. База находится на сетевом диске. Когда пропадает свет, компьютеры остаются на упсах, а вот сеть падает, приложенеи начинает ругаться что "Ядро базы данных Jet не может найти входящий запрос". Как я понимаю оно обрабатывается в TADOConnection. Он располагается на DataModule. Как к примеру заставить приложение вывести Messagebox и закрыться?
И вопрос на эту же тему. Люди пытаются подключится а сети по прежнему нет, начинают валится Acess Violation. Обрабатывается как я понимаю так же?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 14.05.2008, 13:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Люди пытаются подключится а сети по прежнему нет, начинают валится Acess Violation
Try...Except...end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2008, 13:41   #3
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Там де ты коннектишься к базе поставь Try ... except ... end; вот те и обрабртка ислючения... Проверяй в except если TADOConnection.Connect=false то закрывай программу.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 14.05.2008, 14:02   #4
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Проблема в том что таблицы сразу открыты в программе. Т.е. стоит Active:=true. И их не одна штука, чтобы их открывать програмно.Сразу подразумевается что база лежит в том месте где должна.
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 14.05.2008, 14:08   #5
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

ну это глупо что все они открыты ещё до запуска... Поэтому и ничего не выйдет у тя... Как по мне... Переделывать надо... А иначе никак.

И небось используешь ТТэйбл. Лутше всего использовать в таких случаях ТКвэри...
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 14.05.2008, 14:15   #6
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Глупо. Но писать начинал не я. А там таблиц уже штук 40. и Ttable и TQuery
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 14.05.2008, 14:46   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А там таблиц уже штук 40
Что мешает их открывать в цикле?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2008, 15:07   #8
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

хм.. Поясните пожалуйста подробней. Как можно обратится к таблице через номер и как?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 14.05.2008, 15:34   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я правильно понимаю что для каждой таблице создан отдельный компонент?
Тогда примерно так:
Код:
var i:integer;
begin
for i:=0 to Form1.ComponentCount-1 do begin
   if Form1.Components[i].ClassName='TADOTable' then
   /// Тут мы чет с ним делаем.
end;
Усек смысл?

Вообще-то правильно сказали при таких раскладах не мешало бы переделать, ато 40 компонентов в контейнере это убиться и не жить...
I'm learning to live...

Последний раз редактировалось Stilet; 14.05.2008 в 15:37.
Stilet вне форума Ответить с цитированием
Старый 16.05.2008, 15:09   #10
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

ага Спасибо
delphi is my world
XPAiN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обработать двойной щелчок в определенной ячейке DBGrid? Dux БД в Delphi 11 10.08.2008 03:34
Как в Си обработать нажатие управлавляющих клавиш ? feranic Общие вопросы C/C++ 5 14.04.2008 19:20
delphi - как обработать ошибку перехода на пустой cd-rom? yourself Помощь студентам 2 10.03.2008 23:01
Как обработать событи, щелчок на кнопке мыши? proglamer Паскаль, Turbo Pascal, PascalABC.NET 10 13.11.2007 18:57
Исключение EIdReadTimeout Pedro Работа с сетью в Delphi 1 22.09.2007 22:51