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

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

UpdateSQL: Insert => ID = 0 [D6, IB6.x, BDE]


alexandervasjuk ©   (2002-03-26 13:45:00) 

Толпарищи!
В связки TQuery-TUpdateSQL при вставке теряю ID (он назначается триггером). А он мне нужен (для Lokup поля другого НД например) Как бы красиво решить эту проблему?


s.ts   (2002-03-26 18:34:00) [1]

В последних IBX (5.03) изменения в БД, за которые ответственны триггеры, обновляются автоматом (впрочем, в Fib+ это и ранее было)


alexandervasjuk   (2002-03-26 15:37:00) [2]

Похоже с BDE именно так и надо.

Для справки: Решил проблему переездом на IBX. Там есть волшебный TIBDataSet, у него есть RefreshSQL, делаю
Select
ID,
NAME
from tblNikolayM
where
NAME = :NAME

Главная фишка, что идентификация по NAME, т.е., естественно, требуется уникальность, что впрочем и имеет место.

Спасибо откликнувшимся!


Nikolay M.   (2002-03-26 15:17:00) [3]

Генери ID-шку хранимой процедурой, вызывай ее с клиента и при инсерте указывай ID явно: INSERT INTO MyTable (id, name) VALUES (1, "alexandervasjuk").
Мы дожили до того, что у нас одной хранимой процедурой генерились ID-шки ко всем таблицам (принимался параметр - имя таблицы и увеличивался соответствующий ей триггер).


Johnmen   (2002-03-26 15:01:00) [4]

Обновлять TQuery (Close,Open) - иначе никак...


Наверх

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