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

Или нажать галочку "Активный" в IB Expert
...
Рейтинг: 0 / 0
триггеры в IB
    #32145620
moore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
триггеры в IB
    #32145622
Фотография Ильшат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага покажь- покажь триггерёк-то!
...
Рейтинг: 0 / 0
триггеры в IB
    #32145630
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Понятно.
Обрабатывай событие BeforeInsert: подставляй ЛЮБОЕ значение.
...
Рейтинг: 0 / 0
триггеры в IB
    #32145635
moore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно кусочек кода написать, а то я чайник???
...
Рейтинг: 0 / 0
триггеры в IB
    #32145668
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдя... интербэйз тут не причем.... равно как и триггер
сними флаг того что поле обязательно для заполнения и будет тебе счастья
по мойму название этого свойства поля -- Required:=false
...
Рейтинг: 0 / 0
триггеры в IB
    #32145672
moore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже снимал флаг Required, ничего не изменяется, ошибка та же самая выдается...
...
Рейтинг: 0 / 0
триггеры в IB
    #32147653
Kaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну сказали же - пиши в запросе любое число от балды, триггерок схавает и поставит то, что нужно!
...
Рейтинг: 0 / 0
триггеры в IB
    #32147691
moore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все ребят, спасибо, я все разрулил. Ошибка была элементарнейшая.
нужно было просто напросто добавить поля в Fields компонента IBTable. Они там были в FieldDefs, я думал, что этого достаточно, оказалось нет. После того как добавил в Fields, там просто достаточно снять флаг Required.

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


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