Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

UpdateSQL: Insert => ID = 0 


alexandervasjuk   (2002-03-26 13:45) [0]

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



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

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



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

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



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

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

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

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

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



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

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




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.027 c
1-57792           Vlr                   2002-04-05 20:59  2002.04.18  
Легкая перезагрузка Windows.


1-57796           Anton+                2002-03-29 12:50  2002.04.18  
Прячем файлы.


1-57763           Stexen                2002-04-04 22:11  2002.04.18  
TStream!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1


3-57612           shane54               2002-03-27 16:06  2002.04.18  
Как перейти на следующую запись?


1-57762           andreik               2002-04-05 15:43  2002.04.18  
Ширина делений в ProgressBar