Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 140
от 24.05.2006, 15:35

Администратор:CJ
В рассылке:Подписчиков: 221, Экспертов: 29
В номере:Вопросов: 2, Ответов: 5


Вопрос № 43483: Здравствуйте господа эксперты! Работаю с БД Firebird 1.5. Возникла необходимость программно включить и выключить триггер. Не могу понять как. Подскажите хотя бы куда копать. Большое спасибо. С уважение ХРУСТ!...
Вопрос № 43547: при закрытии программы соединение с базой данноых должно разрываться или это происходит автоматически...

Вопрос № 43.483
Здравствуйте господа эксперты! Работаю с БД Firebird 1.5. Возникла необходимость программно включить и выключить триггер. Не могу понять как. Подскажите хотя бы куда копать. Большое спасибо.
С уважение ХРУСТ!
Отправлен: 18.05.2006, 15:37
Вопрос задал: Кныш Александр Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zubex
Здравствуйте, Кныш Александр Александрович!

Не знаю какими компонентами пользуетесь, но примерно так:

Procedure TriggerSwith(NameTrig:String;On:Boolean);
var q:TQuery;
begin
q:=TQuery.Create(nil);
//Сдесь назначили бд, запустили транзакцию
q.Sql.Add('alter trigger '+NameTrig+' ');
if On then q.Sql.Add('active')
else q.Sql.Add('inactive');
try
ExecQuery;
//Commit транзакции
except
// Rollback транзакции
end;
q.Free;
end;

Удачи!!!
---------
Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 6-ой класс)
Ответ отправлен: 18.05.2006, 16:22

Отвечает: sir henry
Здравствуйте, Кныш Александр Александрович!
Вопрос, мягко говоря, странный. Триггер вводится для того, чтобы В ОБЯЗАТЕЛЬНОМ ПОРЯДКЕ провести какое-то действие. Следовательно нет никакого смысла включать и выключать его в программе. Возможно Вы просто не можете сформулировать алгоритм действия триггера?
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 19.05.2006, 05:56


Вопрос № 43.547
при закрытии программы соединение с базой данноых должно разрываться или это происходит автоматически
Отправлен: 19.05.2006, 09:53
Вопрос задал: злой фей (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, злой фей!
Как правило это происходит автоматически. Но лучше записать это в свойство onClose
---------
Если дело заслуживает быть сделаным, то оно заслуживает чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Практикант)
Ответ отправлен: 19.05.2006, 09:56

Отвечает: Shcherbakov Anton
Здравствуйте, злой фей!
если до выполнения программы соединение не было установлено в труе а устанавливалось в программе, то при корректном завершении программы соединение должно закрываться. а есл ипрограмма завершилась аварийно, то соединение может оставаться активным
Ответ отправил: Shcherbakov Anton (статус: 1-ый класс)
Ответ отправлен: 19.05.2006, 10:00

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, злой фей!
Вообще-то обычно соединение разрывается автоматически, как Вам уже писали, но иногда, особенно если программа завершается аварийно, может остаться "условно активное" соединение с базой. Поэтому лучше все-таки разрывать соединение "вручную". Советую все-таки прописывать разрыв на свойство onCloseQuery, а не на свойство onClose. Я где-то читал, что событие onClose может не всегда возникать (опять же в аварийных ситуациях).
---------
Ответы на все вопросы - на сайте www.ya.ru :)
Ответ отправил: Устинов Сергей Евгеньевич (статус: 9-ый класс)
Ответ отправлен: 19.05.2006, 10:19


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное