powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / генератор не работает
18 сообщений из 18, страница 1 из 1
генератор не работает
    #32258176
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, господа!
Не изволите ли сотворить для меня откровение,
а должен ли генератор для ID-поля (Primary key)
работать в IBConsole?

Заранее премного благодарен вам!
...
Рейтинг: 0 / 0
генератор не работает
    #32258197
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
генератор работает на сервере вообще-то.. а не на клиенте
...
Рейтинг: 0 / 0
генератор не работает
    #32258965
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно нет. Только При некоторый условиях:
- правильно созданный триггер;
- Select (с целью Refresh) после Insert;
- правильно сформированный insert

...можно увидеть результаты.
...
Рейтинг: 0 / 0
генератор не работает
    #32260382
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarWind, спасибо, что ответил!
Дело в том, что у меня локалка.
Я пытаюсь добавить запись из приложения на Builder,
и вылезает "Поле ID не может быть NULL".
Чего делать?
...
Рейтинг: 0 / 0
генератор не работает
    #32260388
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир, и тебе большое спасибо! (ничего, что я на ты?)
Почему-то (то есть вам-то, наверное, понятно, почему)
из IBExpert вроде как работает, а из моего приложения не хочет.
Как его вынудить?
...
Рейтинг: 0 / 0
генератор не работает
    #32260602
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на триггер который перед вставкой отрабатывает, можно взглянуть?
...
Рейтинг: 0 / 0
генератор не работает
    #32260643
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В программе надо поправить настройки полей, судя по сообщению ты в поле ID не присваиваешь значение, думая что сработает тригер, но для поля стоит Required=true, и надо просмотреть на тригер
...
Рейтинг: 0 / 0
генератор не работает
    #32260667
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Uskov
он же ясно пишет что трабла проявляется в IBConsole
...
Рейтинг: 0 / 0
генератор не работает
    #32260671
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если без триггера и в IBConsole попробуй так

insert into table1(id, ....)
values(gen_id(gn_table1, 1), ....)
...
Рейтинг: 0 / 0
генератор не работает
    #32260763
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была подобная диагностика при работе с IBDataSet. Поредактировал GeneratorField - все прошло :)
...
Рейтинг: 0 / 0
генератор не работает
    #32261335
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за компоненты используешь в приложении и с какими параметрами.
Для TpFIBDataSet, например, нужно в секции AutoUpdateOptions указать, что:

GeneratorName = YourGeneratorName
GeneratorStep = 1
KeyFields = YourKeyFields
UpdateTableName = YourUpdateTableName
WhenGetGenId = wgOnNewRecord

Особое внимание обращаю на последнюю строчку. А насчет IBConsole - я уже говорил.
...
Рейтинг: 0 / 0
генератор не работает
    #32261407
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarWind, триггер таков:

CREATE TRIGGER "CREATE_PERS_ID" FOR "T_PERSONS"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.ID_PERSON IS NULL) THEN NEW.ID_PERSON=GEN_ID(GEN_ID_PERS, 1);
END

Еще кое-чего наковырял (ребята, простите новичка): генератор успешно
работает при "Insert", результаты видно после "Commit work"
...
Рейтинг: 0 / 0
генератор не работает
    #32261422
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир,
использую TIBTable, TIBDataSet и соответствующие визуальные компоненты.

Кажется я понял свою глупость: табличные объекты лучше пользовать.
А лучше TIBSQL.

Так?
...
Рейтинг: 0 / 0
генератор не работает
    #32261429
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир,
использую TIBTable, TIBDataSet и соответствующие визуальные компоненты.

Кажется я понял свою глупость: табличные объекты лучше не пользовать.
А лучше TIBSQL.

Так?
...
Рейтинг: 0 / 0
генератор не работает
    #32261596
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говорят, можно использовать TTable, у меня был один проект, но лучше всякие там TpFIBDataSet и TQuery. По крайней мере получаешь то, что запросил.
...
Рейтинг: 0 / 0
генератор не работает
    #32261755
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ando
не совсем TIBSQL... С ней не так удобственно работать. лучше используй TIBQuery. Там есть ряд полезных фич, чего нет скажем в TIBSQL.
А про TIBTable, ты правельно слышал, что лучше не использовать иначе обретешь много проблем как минимум со скоростью.
А в твоем случае все так и должно быть. После комита происходит перечтение данных с базы и клиентской проге становится видно то значение которое вставил триггер посредством генератора. Ведь триггер работает на сервере и клиент про него ничего не знает.
...
Рейтинг: 0 / 0
генератор не работает
    #32261787
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>StarWind
>он же ясно пишет что трабла проявляется в IBConsole

Пост №4 от ando
Я пытаюсь добавить запись из приложения на Builder,
и вылезает "Поле ID не может быть NULL".

Пост №5 от ando
из IBExpert вроде как работает, а из моего приложения не хочет.

Я так понимаю про IBConsole уже речь не идет?

to All
А чем не нравится IBDataSet?
...
Рейтинг: 0 / 0
генератор не работает
    #32262201
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, всем огромное спасибо, что откликнулись!

По количеству откликов вижу, что я неплохо в смысле актуальности
выбрал IDE и СУБД для разработки.

Я, конечно, пока глубоко сомневаюсь, что смогу быть вам полезен,
(скорее - вы мне) но на всякий случай ando@yandex.ru.

"Оревуар", как говорят французы, что означает "Я еще вернусь!".
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / генератор не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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