powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с генераторами в IB->Delphi
3 сообщений из 3, страница 1 из 1
Проблема с генераторами в IB->Delphi
    #32045830
bPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создал генератор, триггер:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE GENERATOR  "IDNO_GEN" ;

CREATE TRIGGER  "CREATE_ID"  FOR  "TEST"  
ACTIVE BEFORE INSERT POSITION  0 
AS 
BEGIN
 NEW.ID = GEN_ID(IDNO_GEN,  1 );
END

если вставка происходит SQL запросом (insert into...), то все ОК,
а если через TDBGid в Delphi, то вылетает еггог-а "Field "ID" must have value" (поле ID соответственно PRIMARY KEY), т.е. триггер не запускается, как лечить?
...
Рейтинг: 0 / 0
Проблема с генераторами в IB->Delphi
    #32045863
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочешь всё-же триггером ключ создать, то надо свойство Required соответств. поля в наборе установить в false. Но лучше по этому поводу значение генератора самому из базы получать и при вставке (напр. по OnNewRecord) это значение полю присваивать. Тогда обновление правильно происходить будет.
А значение вытащить можно простым запросом типа:
SELECT FIRST 1 GEN_ID(<Генератор>,1) FROM <Любая таблица>
...
Рейтинг: 0 / 0
Проблема с генераторами в IB->Delphi
    #32047828
DikiyRobot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в операторе insert в фразе values на место такого поля ставлю 0
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с генераторами в IB->Delphi
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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