Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

UpdateSql + тригеры: Как их "подружить"?   Найти похожие ветки 

 
Andrew   (2004-07-20 17:21) [0]

Уважаемые мастера!
Приму любую помощь/совет по сабжу.
В таблице (два поля 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.  Мне же хочется что бы я ему ничего не давал, а он сам тихонечко вызывал тригер и подставлял..........
Может у меня несколько разные представления о наших с ним (ИБ) правах и обязаностях?


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


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

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


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


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

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


 
jack128 ©   (2004-07-20 17:26) [3]

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


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

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


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

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


 
jack128 ©   (2004-07-20 17:52) [6]

2 варианта

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1090558298
PiterPP
2004-07-23 08:51
2004.08.15
Ошибка на клиенте при открытии базы dbf


3-1089998011
zep
2004-07-16 21:13
2004.08.15
Базы банных


1-1090873774
Knight
2004-07-27 00:29
2004.08.15
Можно ли сделать сдвиг одновременно всех символов в строке...


8-1085914054
ALex_T
2004-05-30 14:47
2004.08.15
Как избавиться от мерцания TImage при смене расположения?


4-1087932125
Ihor Osov'yak
2004-06-22 23:22
2004.08.15
Проблемы при перехвате IDispatch::Invoke