powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Повторное наращивание генератора
5 сообщений из 5, страница 1 из 1
Повторное наращивание генератора
    #38603143
boldyrev.gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Речь пойдет о Interbase и C++ Builder 6-й версии...
Никак не могу понять в чем причина. Кратко: у меня происходит повторное наращивание генератора (вместе с значением поля).
Детально: есть триггер
Код: sql
1.
2.
3.
4.
5.
6.
CREATE TRIGGER "ORDNUM_GEN" FOR "ORDERS" 
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF ( NEW.ORD_NUM IS NULL ) THEN NEW.ORD_NUM=GEN_ID(ORDER_NUM,1);
END


и в самой программе у IBDataSet установлено свойство GenetatorField на событие OnNewRecord.
Суть проблемы в том, что не смотря на условие "IF ( NEW.ORD_NUM IS NULL )" в триггере, наращивание все равно происходит и на клиенте и на сервере.
В случае чего, запрос на вставку данных:
Код: sql
1.
INSERT INTO ORDERS (CUST_NUM, EMP_NUM, CR_DATE, EXE_DATE, COMMENT) VALUES (:CUST_NUM, :EMP_NUM, :CR_DATE, :EXE_DATE, :COMMENT)


Заранее благодарю за помощь.
...
Рейтинг: 0 / 0
Повторное наращивание генератора
    #38603156
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boldyrev.gene,

Все логично, ORD_NUM ты не передаешь в запросе, значит там NULL. Вот генератор в триггере и срабатывает.
...
Рейтинг: 0 / 0
Повторное наращивание генератора
    #38603175
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boldyrev.geneесть триггер
...
и в самой программе у IBDataSet установлено свойство GenetatorField на событие OnNewRecord.предлагаю реализовать вставку записи через процедуру и там тоже не забыть "нарастить" генератор.
...
Рейтинг: 0 / 0
Повторное наращивание генератора
    #38603407
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boldyrev.gene,

еще предлагаю "нарастить" версию InterBase. или написать, какая версия используется. Потому что InterBase-у нынче стукнуло почти 30 лет (с 1984 года).
...
Рейтинг: 0 / 0
Повторное наращивание генератора
    #38604362
boldyrev.gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf, спасибо, а то я бы так и не заметил.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Повторное наращивание генератора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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