Вниз
Скачать: CL | DM;

Interbase тригеры в Delphi   Найти похожие ветки 

← →
Kile ©   (2003-06-17 15:28) [0]

У меня такая ситуация:
Не ввожу в ключевое поле данные, при этом мой тригер не срабатывает, а срабатывет обрабботчик ошибок Delphi. Как сделать так, чтоб мой тригер срабатывал раньше проверки Delphi.


← →
Johnmen ©   (2003-06-17 15:36) [1]

Указать, что поле не является необходимым к заполнению...


← →
Жук ©   (2003-06-17 15:39) [2]

Дельфя не будет ругаться на то, что ключевое поле не заполнено, если её об этом не попросить.
Может там ошибка какая в коде, а вы на IB её валите ?


← →
kile ©   (2003-06-17 16:30) [3]

->Дельфя не будет ругаться на то, что ключевое поле не заполнено, если её об этом не попросить.

А где это все устанавливается?


← →
Жук ©   (2003-06-17 16:41) [4]

Что "это" ? Мы ж не телепаты, чтобы на расстоянии определить в чём проблема. Какие компоненты используются, кусок кода, который вызывает ошибку, тип(текст) триггера. Хоть какую-нить инфу-то подкинтьте.


← →
Sandman25 ©   (2003-06-17 16:57) [5]

Required установите в false.


← →
kaif ©   (2003-06-17 19:37) [6]

Вообще-то если сделать required = False и назначать ID от генератора в триггере, то потом еще придется придумывать способ, которым это присвоенное значение ID узнавать. Поэтому я не рекомендую назначать первичный ключ в триггере, а делать это на стороне клиента. Хотя вся литература только и пестрит примерами того, как это делать в триггере, ИМХО, это гиблый путь.
В компонентах IBX специальная поддержка генераторов есть. Устанавливаете, какое поле каким генератором заполнять и в какой момент получать новое значение генератора. Компонент запрашивает генератор, сам инициализирует ключевой поле, потом можно сделать даже Refresh - запись уже не потреряется.
Если же в триггере ключевое поле заполнять, то потом иди и ищи эту запись... Тут уже первичного ключа мало будет и понадобится альтернативный ключ. Это не всегда возможно реализовать.


← →
_Narayan_   (2003-06-17 23:50) [7]

Если я правильно понял вопрос, то там надо просто галочку убрать.
Точно не скажу где, но что-то вроде "Stop on DB exception".
Поищи в настройках.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-31085
_Dimitry
2003-06-16 13:10
2003.07.10
Как остановить выполнение ADOQuery.Execute ?


8-31363
reticon
2003-03-15 18:04
2003.07.10
вывод текста


3-31083
OlegM
2003-06-16 13:11
2003.07.10
Вопрос по MySQL


1-31248
jack128
2003-06-29 19:20
2003.07.10
абстрактные свойства


7-31536
corte ™
2003-04-21 12:35
2003.07.10
Отправка данных в порт управления LPT1




   Наверх