![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase тригеры в Delphi [D6, IB6.x]
Kile © (2003-06-17 15:28:00)У меня такая ситуация:
Не ввожу в ключевое поле данные, при этом мой тригер не срабатывает, а срабатывет обрабботчик ошибок Delphi. Как сделать так, чтоб мой тригер срабатывал раньше проверки Delphi.
_Narayan_ (2003-06-17 23:50:00) [1]Если я правильно понял вопрос, то там надо просто галочку убрать.
Точно не скажу где, но что-то вроде "Stop on DB exception".
Поищи в настройках.
kaif (2003-06-17 19:37:00) [2]Вообще-то если сделать required = False и назначать ID от генератора в триггере, то потом еще придется придумывать способ, которым это присвоенное значение ID узнавать. Поэтому я не рекомендую назначать первичный ключ в триггере, а делать это на стороне клиента. Хотя вся литература только и пестрит примерами того, как это делать в триггере, ИМХО, это гиблый путь.
В компонентах IBX специальная поддержка генераторов есть. Устанавливаете, какое поле каким генератором заполнять и в какой момент получать новое значение генератора. Компонент запрашивает генератор, сам инициализирует ключевой поле, потом можно сделать даже Refresh - запись уже не потреряется.
Если же в триггере ключевое поле заполнять, то потом иди и ищи эту запись... Тут уже первичного ключа мало будет и понадобится альтернативный ключ. Это не всегда возможно реализовать.
Sandman25 (2003-06-17 16:57:00) [3]Required установите в false.
Жук (2003-06-17 16:41:00) [4]Что "это" ? Мы ж не телепаты, чтобы на расстоянии определить в чём проблема. Какие компоненты используются, кусок кода, который вызывает ошибку, тип(текст) триггера. Хоть какую-нить инфу-то подкинтьте.
kile (2003-06-17 16:30:00) [5]->Дельфя не будет ругаться на то, что ключевое поле не заполнено, если её об этом не попросить.
А где это все устанавливается?
Жук (2003-06-17 15:39:00) [6]Дельфя не будет ругаться на то, что ключевое поле не заполнено, если её об этом не попросить.
Может там ошибка какая в коде, а вы на IB её валите ?
Johnmen (2003-06-17 15:36:00) [7]Указать, что поле не является необходимым к заполнению...