Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

UpdateSql + тригеры: Как их "подружить"? [D6, IB6.x]


Andrew ©   (2004-07-20 17:21:00) 

Уважаемые мастера!
Приму любую помощь/совет по сабжу.
В таблице (два поля N:int, NAME:string) на поле N "висит" тригер на автоинкремент.
Из IBQuery выполняю след. запрос:
INSERT INTO TRAIN (NAME) VALUES ('бла-бла-бла');
Все гуд. Выполняется, добавляется, тригер срабатывает (а куда ж он денется).
Хочу тож самое "привинтить" к IBUpdateSQL на InsertSQL....
INSERT INTO TRAIN (NAME) VALUES (:NAME);
INSERT INTO TRAIN (N,NAME) VALUES (:N,:NAME);

Ессно не заполняя N.
Так вот ругается он на меня благим матом: Давай, говорит, мне значение N.  Мне же хочется что бы я ему ничего не давал, а он сам тихонечко вызывал тригер и подставлял..........
Может у меня несколько разные представления о наших с ним (ИБ) правах и обязаностях?


Andrew   (2004-07-20 18:22:00) [1]

УРА!!!!!!
ЗАРАБОТАЛО!!!!!!
(щенячий восторг)
ЗЫ: заработало через генератор из датасета. А где устанавливать
фиелд.рекьюред я так и не понял :)))))
СПАСИБО!!!!!


Соловьев   (2004-07-20 17:52:00) [2]

Вообще-то надо использовать IBDataSet, а в нем заполнить GeneratorField
желательно выбрать несервер, а событие Пост или Нью, тогда коректно пройдет Рефреш.


jack128   (2004-07-20 17:52:00) [3]

2 варианта

1) создаешь в дезин тайм все поля и выставляешь в инспекторе объектов это свойство
2) в ран тайм после открытия датасета.


Andrew   (2004-07-20 17:45:00) [4]

Спасибо за быстрый ответ!!
Смысл я понял :)))
А где это? Это свойство? Или ручками до/после коннекта?
для проверки сделал так:
связка IBTable + IBUpdateSQL + DataSource + DBGrid
IBTable.FieldDef[0].faRequired := false?


Соловьев   (2004-07-20 17:26:00) [5]


> А зачем? IB-компоненты + генератор не справляются?

на всякий случай надо. А вдруг не заполнит из клиента?
TField.Required = false


jack128   (2004-07-20 17:26:00) [6]

TField.Required должно быть false


Курдль   (2004-07-20 17:22:00) [7]


> поле N "висит" тригер на автоинкремент.

А зачем? IB-компоненты + генератор не справляются?


Наверх

Титульная страница Поиск, карта сайта Написать письмо