Текущий архив: 2003.12.23;
Скачать: CL | DM;
Вниз
id добавленной записи... Найти похожие ветки
← →
BlackCat (2003-11-27 11:26) [0]Доброго времени суток, Уважаемые Мастера.
Ситуация такая. Имеются 2 таблицы. Связаны по ключевому полю id. В первой таблице id-автоинкрементно, а во второй нет.
Вставляю данные в первую таблицу(#id, addr, name). Потом нужно вставить другие данные во вторую таблицу(#id, norm, value), но чтобы при этом значения полей id были одинаковы.
ВНИМАНИЕ ВОПРОС:
Как узнать id записи, вставленной в первую таблицу.
Заранее благодарен.
← →
DenK_vrtz (2003-11-27 11:54) [1]Если имеется связка главная таблица - подчиненная таблица, то id в подчиненную таблицу вставится автоматически при уловии, что сделан Post главной таблице
← →
Vemer (2003-11-27 13:38) [2]Или запоминать id в переменной а потом вставлять из нее.
← →
Anatoly Podgoretsky (2003-11-27 13:44) [3]DenK_vrtz © (27.11.03 11:54) [1]
А если Post не сделан, то никакого id нет
← →
DenK_vrtz (2003-11-27 14:10) [4]Anatoly Podgoretsky © (27.11.03 13:44) [3], думаете я не знал? :)
Просто ответ надо полный давать, чтобы вопросов не возникало, типа "А почему у меня..."
← →
BlackCat (2003-11-28 04:36) [5]DenK_vrtz>
Нифига он в Аксессе не вставляет id в подчиненную таблицу.
И вопрос я задавал конкретно:
Как узнать id записи, вставленной в первую таблицу.
← →
BlackCat (2003-11-28 04:50) [6](28.11.03 04:36) [5]
Извините, вставляет, но вопрос я конкретно задавал.
Как узнать id вставленной записи, если этот id - автоинкремент.
← →
DenK_vrtz (2003-11-28 08:24) [7]>BlackCat ©
Если конкретно, то берешь и считываешь!
P.S. Сначала пробуй, потом выводы делай!!!
← →
sniknik (2003-11-28 11:24) [8]> Вставляю данные в первую таблицу
INSERT INTO xxxx1 VALUES (addr, name)
> Потом нужно вставить другие данные во вторую таблицу
INSERT INTO xxxx2 VALUES (@@IDENTITY, norm, value)
два запроса подряд, как можно быстрей(без расчетов между ними), а лутше четыре начать с BEGIN TRANSACTION а завершить COMMIT TRANSACTION.
← →
Term (2003-11-28 11:34) [9]
> Как узнать id записи, вставленной в первую таблицу
для чего чтобы его потом использовать при вставке связанных записей в подчинённую?
← →
Term (2003-11-28 11:50) [10]если да то вроде всё делается довольно просто
к главному датасету прицепить 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;
правда незнаю как правильно обработать автоинкремент, но поэкспериментируй
Страницы: 1 вся ветка
Текущий архив: 2003.12.23;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c