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

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

Автоинкременентный генератор 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-)


Наверх

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