Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / триггеры в IB / 18 сообщений из 18, страница 1 из 1
22.04.2003, 09:35
    #32145597
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
есть такой вопрос:
есть таблица, для ключевого поля которой создан триггер. Пытаясь сделать оболочку для БД на Delphi столкнулся с проблемой, что когда добавляешь в таблицу новую запись, выскакивает ошибка, что ключевое поле должно быть заполнено. Почему не срабатывает триггер для данного ключевого поля, и что нужно сделать, чтоб срабатывал???
...
Рейтинг: 0 / 0
22.04.2003, 09:42
    #32145607
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Для начала хорошо бы узнать что за БД?
...
Рейтинг: 0 / 0
22.04.2003, 09:43
    #32145610
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Сорри, в топике потом увидел. Посмотри, может у тебя триггер не активен
...
Рейтинг: 0 / 0
22.04.2003, 09:44
    #32145611
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
забыл написать... база на InterBase.
...
Рейтинг: 0 / 0
22.04.2003, 09:45
    #32145612
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
в том то и дело, что триггер активен.
... ACTIVE BEFORE INSERT POSITION 0....
...
Рейтинг: 0 / 0
22.04.2003, 09:46
    #32145615
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Триггер выложи сюда.
...
Рейтинг: 0 / 0
22.04.2003, 09:48
    #32145619
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
А чтобы он был активен надо выполнить
Код: plaintext
ALTER TRIGGER Название_триггера ACTIVE;

Или нажать галочку "Активный" в IB Expert
...
Рейтинг: 0 / 0
22.04.2003, 09:49
    #32145620
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TRIGGER SET_SUP_NO FOR SUPPLIERS 
ACTIVE BEFORE INSERT POSITION  0 
as
begin
   new.supplier_id = gen_id(sup_no_gen,  1 );
end

еще хочу заметить, что когда добавляю новую запись в ту же самую таблицу из IBConsole с помощью Insert и в значение поля supplier_id ничего не передаю, то все работает отменно. а вот с добавлением из Delphi через DBGrid ни хрена не получается.
...
Рейтинг: 0 / 0
22.04.2003, 09:49
    #32145622
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Ага покажь- покажь триггерёк-то!
...
Рейтинг: 0 / 0
22.04.2003, 09:53
    #32145630
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Понятно.
Обрабатывай событие BeforeInsert: подставляй ЛЮБОЕ значение.
...
Рейтинг: 0 / 0
22.04.2003, 09:55
    #32145635
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
а можно кусочек кода написать, а то я чайник???
...
Рейтинг: 0 / 0
22.04.2003, 10:22
    #32145668
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
мдя... интербэйз тут не причем.... равно как и триггер
сними флаг того что поле обязательно для заполнения и будет тебе счастья
по мойму название этого свойства поля -- Required:=false
...
Рейтинг: 0 / 0
22.04.2003, 10:25
    #32145672
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
уже снимал флаг Required, ничего не изменяется, ошибка та же самая выдается...
...
Рейтинг: 0 / 0
24.04.2003, 12:45
    #32147653
Kaa
Kaa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Ну сказали же - пиши в запросе любое число от балды, триггерок схавает и поставит то, что нужно!
...
Рейтинг: 0 / 0
24.04.2003, 12:59
    #32147691
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Все ребят, спасибо, я все разрулил. Ошибка была элементарнейшая.
нужно было просто напросто добавить поля в Fields компонента IBTable. Они там были в FieldDefs, я думал, что этого достаточно, оказалось нет. После того как добавил в Fields, там просто достаточно снять флаг Required.

Всем еще раз спасибо!!!
...
Рейтинг: 0 / 0
25.04.2003, 03:49
    #32148403
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Выкидывай нафиг эту компоненту TIBTable!!! Или потом огребешь столько проблем, что замучеешься решать...
...
Рейтинг: 0 / 0
25.04.2003, 08:58
    #32148453
moore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
Да, мне тут уже посоветовали нахрен IBTable, а вместо него лучше IBDataSet. Так скорее всего и сделаю.
...
Рейтинг: 0 / 0
25.04.2003, 14:41
    #32148962
paul_c0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры в IB
а нахрена вообще что либо кроме самого Query его можно использовать как массив и все будет круто и НУ ОЧЕНЬ быстро
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / триггеры в IB / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]