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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2017, 15:14   #1
dima_reg
 
Регистрация: 28.01.2013
Сообщений: 6
По умолчанию как перехватить ошибку при коннекте по ADO

Есть компонент ADOConnection. Свойство Connected установлено в True в инспекторе объектов. Компонент лежит на главной форме. У клиента на компе база лежит, естественно, не там где у меня. И при Application.CreateForm(TMainForm, MainForm); возникает ошибка.
try
Application.CreateForm(TMainForm, MainForm);
except

end;
почемуто не помогает.
dima_reg вне форума Ответить с цитированием
Старый 02.05.2017, 15:42   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ну,
во-первых, нужно перехватывать в самой форме.
сделайте свойство Connected в False, потом на событие создания формы (onCreate) делайте
Код:
try 
  ADOConnection.Connected := True;
except
 ...
end
во-вторых, а в чём, собственно, проблема, проверить наличие БД перед тем, как сделать connected := True (хотя бы формально - наличие файла через FileExists)?

p.s. а что должна делать программа, если файла БД нет? Как я понимаю, работать она не сможет. Нужно выдать сообщение и выходить?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.05.2017, 07:45   #3
dima_reg
 
Регистрация: 28.01.2013
Сообщений: 6
По умолчанию

Это я пытаюсь сделать защиту от своей невнимательности.
Свойство connected в процессе разработки рано или поздно само станет true, как только я попытаюсь изменить какие-то компоненты (TADOQuery, table,dataset), связанные с этим TADOConnection. Т.е. перед тем как закинуть очередное обновление заказчику мне обязательно надо скинуть connected в false и откомпилировать программу. - что я иногда забываю сделать.
dima_reg вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SSL Ошибка при коннекте bilibian Общие вопросы Delphi 0 28.04.2016 17:39
Ошибка при коннекте к SQLite через ADO Notan1310 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 4 29.12.2015 17:35
Можно ли как нибудь перехватить событие при закрытии крышки ноутбука? XAKKEP Общие вопросы Delphi 8 02.10.2010 19:00
как перехватить открытие чужого приложенияпытаюсь перехватить открытие любого приложе rpy3uH Win Api 2 02.12.2006 12:12