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

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

Вставка записи в реляционную БД (MS Access)


Antoha111 ©   (2005-01-02 14:55:00) 

Всех с Новым годом!!!
Подскажите, пожалуйста, как вставить запись в реляционную БД, созданную в MS Access'е???
Т.е. имеется две таблицы - родительская и подчиненная, необходимо вставить запись сразу в обе так, чтобы индексное поле в подчиненной заполнялось ID из родительской (счетчик).
Заранее благодарен.


Anatoly Podgoretsky   (2005-01-02 15:17:00) [1]

Только поочередно, плюч значениек счетчика неизвестно до вставки.


sniknik   (2005-01-02 15:16:00) [2]

одной командой не получится (и пакетом тоже, не понимает аксесс пакета комманд)
придется несколько(минимум 2) по одной команды выполнить
а лучше 4
(выполнять по одному запросу. и обязательно в одном коннекте.)
BEGIN TRANSACTION
INSERT INTO родительская (...) VALUES (...)
INSERT INTO подчиненная(индексное поле, ...) VALUES (@@IDENTITY, ...)
COMMIT TRANSACTION

@@IDENTITY это и будет - ID из родительской (счетчик).

и вместо ADOQuery лучше используй для этого ADOCommand (хотя и в нем можно просто он устарел)


Antoha111   (2005-01-02 14:56:00) [3]

Забыл....
Возможно ли это через ADOQuery??


Наверх

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