Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
1

Delphi + Firebird:

29.12.2010, 02:54. Показов 4067. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кинул на форму компоненты: IBDB:TIBDatabase, IBT:TIBTransaction, IBQ:TIBQuery, TTimer.
Таймер завел на интервал 1сек, в обработчике таймера написал:
-----------
Delphi
1
2
3
4
5
6
7
8
9
10
11
 try
  if not DM.IBDB.Connected then begin
    DM.IBDB.Open;
  end;
  if DM.IBQ.Active then DM.IBQ.Close;
  DM.IBQ.Open;
  form1.Color:=clBtnFace;
 except
  form1.Color:=clRed;
 end;
  Application.ProcessMessages;
----------
Идея такая: соединение с БД теряется - форма красная, восстанавливается соединение - форма серая.
1) 1-й Вариант запуска проги с выключенным firebird
Форма через 1 сек становится красной. Затем я подымаю firebird, форма меняется на серую (т.е. соединение установилось). Затем я опускаю опять FB, форма становится красной. Потом что с FB не делай соединение больше не восстанавливается (форма остается красной).
2) 2-й вариант с запущенным FB. Форма остается серой, т.е. соединение активно. Потом я опускаю FB - офрма краснеет и более соединение уже никогда не восстанавливается.

Утсановлено экспериментально, что соединение не восстанавливается поскольку в программе возникает исключение EIBClientError в строке "if not DM.IBDB.Connected then begin". После всех экспериментов при закрытии прога вылетает в ошибку "Исключение неизвестное програмное исключение 0x0eedfade в приложении по адресу..." и далее EIbClientError in module Project1.exe Dataset open.

Подскажите как восстановить соединение с БД и побороть все эти исключения.
p.s. спасибо за любые наводки

Добавлено через 3 минуты
DM это Data Module на которой компоненты БД лежат
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2010, 02:54
Ответы с готовыми решениями:

Firebird и Delphi
Здравствуйте! Есть БД firebird, в которой каждую минуту обновляются данные. Есть желание написать...

delphi+firebird
procedure TFrmConnectOptions.dataBaseConnect(Sender: TObject); var DatabaseConnect :...

FireBird + Delphi
При попытке подключиться к FireBird выдает ошибку "cannot perform operation -- DB is currently...

Firebird и Delphi
Нужно срочно научится писать и написать на делфи программу, использующую бд firebird. Подскажите...

4
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,255
29.12.2010, 06:59 2
Цитата Сообщение от shurik_klgd Посмотреть сообщение
Вариант запуска проги с выключенным firebird
Если firebird действительно находится в выключенном состоянии, то Ваш код нормально работать не будет.
Любая строкаЮ например эта
Цитата Сообщение от shurik_klgd Посмотреть сообщение
if not DM.IBDB.Connected
будет порождать исключение.
0
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
29.12.2010, 11:14 3
По моему в твоем случае еще нужно обработать событие в самом IBDB:TIBDatabase для потери связи что бы установить параметр Connect:=false

дело в том что может быть параметр с истины не изменился и пораждаються твои траблы.

Проверить сейчас не могу, но вечером обезательно гляну
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
29.12.2010, 12:54  [ТС] 4
Цитата Сообщение от SAMZ Посмотреть сообщение
Если firebird действительно находится в выключенном состоянии
ну пока FIREBIR отключен, пускай себе в except вываливается, мне важно, чтобы когда я его поднимаю (FB) соединение прошло, а оно не проходит
Цитата Сообщение от Sergiuz Посмотреть сообщение
По моему в твоем случае еще нужно обработать событие в самом IBDB:TIBDatabase для потери связи что бы установить параметр Connect:=false
это я тоже пробовал, не помню сейчас точный результат, но в общем, не спасает
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
30.12.2010, 14:05  [ТС] 5
up up up up
0
30.12.2010, 14:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2010, 14:05
Помогаю со студенческими работами здесь

Delphi 10 lite + Firebird
Как прицепить компоненты для работы с FireBird к облегченному Delphi? Или надо ставить только...

Delphi и 2 базы Firebird
Здравствуйте. Есть 2 базы данных firebird с одинаковыми таблицами, но возможно разными данными....

delphi firebird fibplus
Добрый вечер друзья! есть бд в ней 2 связанных таблицы в программе связал их master-detail....

Firebird и delphi программа
Вообщем есть прога написанная на делфи и есть firebird 2.0.6. Такая проблема firebird заглючил,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru