![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
id добавленной записи... [D7, MS Access]
BlackCat © (2003-11-27 11:26:00)
Доброго времени суток, Уважаемые Мастера.
Ситуация такая. Имеются 2 таблицы. Связаны по ключевому полю id. В первой таблице id-автоинкрементно, а во второй нет.
Вставляю данные в первую таблицу(#id, addr, name). Потом нужно вставить другие данные во вторую таблицу(#id, norm, value), но чтобы при этом значения полей id были одинаковы.
ВНИМАНИЕ ВОПРОС:
Как узнать id записи, вставленной в первую таблицу.
Заранее благодарен.
Term (2003-11-28 11:50:00) [1]
если да то вроде всё делается довольно просто
к главному датасету прицепить TDataSourse и указать его как MasterSourse у подчинённого датасета.
запросы вида:
INSERT INTO MasterTable
(id,addr, name)
VALUES (:id,:addr,:name)
INSERT INTO DetaleTable
(id,norm, value)
VALUES (:id,:norm,:value)
в событии BeforeInsert подчинённого датасета
поставь
Form1.DetaleTable.FieldByName("id").AsInteger:=Form1.MasterTable.FieldByName("id").AsInteger;
правда незнаю как правильно обработать автоинкремент, но поэкспериментируй
Term (2003-11-28 11:34:00) [2]
> Как узнать id записи, вставленной в первую таблицу
для чего чтобы его потом использовать при вставке связанных записей в подчинённую?
sniknik (2003-11-28 11:24:00) [3]
> Вставляю данные в первую таблицу
INSERT INTO xxxx1 VALUES (addr, name)
> Потом нужно вставить другие данные во вторую таблицу
INSERT INTO xxxx2 VALUES (@@IDENTITY, norm, value)
два запроса подряд, как можно быстрей(без расчетов между ними), а лутше четыре начать с BEGIN TRANSACTION а завершить COMMIT TRANSACTION.
DenK_vrtz (2003-11-28 08:24:00) [4]
>BlackCat ©
Если конкретно, то берешь и считываешь!
P.S. Сначала пробуй, потом выводы делай!!!
BlackCat (2003-11-28 04:50:00) [5]
(28.11.03 04:36) [5]
Извините, вставляет, но вопрос я конкретно задавал.
Как узнать id вставленной записи, если этот id - автоинкремент.
BlackCat (2003-11-28 04:36:00) [6]
DenK_vrtz>
Нифига он в Аксессе не вставляет id в подчиненную таблицу.
И вопрос я задавал конкретно:
Как узнать id записи, вставленной в первую таблицу.
DenK_vrtz (2003-11-27 14:10:00) [7]
Anatoly Podgoretsky © (27.11.03 13:44) [3], думаете я не знал? :)
Просто ответ надо полный давать, чтобы вопросов не возникало, типа "А почему у меня..."
Anatoly Podgoretsky (2003-11-27 13:44:00) [8]
DenK_vrtz © (27.11.03 11:54) [1]
А если Post не сделан, то никакого id нет
Vemer (2003-11-27 13:38:00) [9]
Или запоминать id в переменной а потом вставлять из нее.
DenK_vrtz (2003-11-27 11:54:00) [10]
Если имеется связка главная таблица - подчиненная таблица, то id в подчиненную таблицу вставится автоматически при уловии, что сделан Post главной таблице