![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автоинкременентный генератор IB [D6, IB6.x]
Dmitriy O. © (2004-08-17 10:59:00)Обнаружил что генератор не работает запросом Insert т.е.
query1.close;
query1.SQL.Clear;
query1.SQL.Add('Insert into dan (np,razmer,model,cexizgot,dataizg,probeg,cexvin,avtom,vladel,adres,nomzav,datazav)');
query1.SQL.Add('select np,razmer,model,cexizgot,marka,probeg,cexizgot,avtom,vladel,adres,nomzav,data');
query1.SQL.Add('from zaiav where nomzav='+dzaiav.Text);
query1.Prepare;
query1.Open;
Овтоинкреминентное поле пусто
Как сделать так чтобы оно заполнялось при таком запросе ?
Desdechado (2004-08-18 11:51:00) [1]не разглядел, что это инсерт из селекта
показалось, что сначала инсерт, потом селект
Dmitriy O. (2004-08-18 10:19:00) [2]
> Desdechado © (17.08.04 11:47) [5]
Какие два запроса ? это все один запрос !
Соловьев (2004-08-17 12:06:00) [3]
> ((select gen_id(MyGenerator,1)),
без select
Digitman (2004-08-17 11:52:00) [4]
> Dmitriy O.
никаких "Овтоинкреминентных" и/или " Автоинкреминентных" полей в табличных объектах IB нет и не было никогда
Desdechado (2004-08-17 11:47:00) [5]странно как-то - 2 запроса в одном квери...
неужели так работает?!
Zacho (2004-08-17 11:31:00) [6]2 Dmitriy O.:
Прочитай это: http://www.ibase.ru/devinfo/generator.htm
Жук (2004-08-17 11:21:00) [7]insert into MyTable(id, name)
values((select gen_id(MyGenerator,1)), 'kdgjwfjk')
Соловьев (2004-08-17 11:05:00) [8]
> Обнаружил что генератор не работает запросом Insert т.е.
он и не должен работать. Для этих целей получают GEN_ID(<name_generator>,1) или в триггере(перед вставкой - before insert)или на клиенте, что более предпочтительнее, если работаете с IBDataSet. А Вы используете Query - который кешурует набор данных, если хотите просто отправлять запрос к серверу без возрата нд, то IBSQL надо юзать.
Sergey13 (2004-08-17 11:05:00) [9]Хм. А которое тут "Овтоинкреминентное"? И как оно "Овто"? 8-)