Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.017 c
3-75107
BlackKing
2003-12-01 11:43
2003.12.23
Create Procedure


1-75192
Леша
2003-12-10 17:18
2003.12.23
Работа с ВОРД используя WordApplication(WordDocument)!


3-75108
pashaz
2003-11-26 23:45
2003.12.23
Запись в базу...


14-75330
Фагот
2003-12-01 11:01
2003.12.23
Инсталляция FB


4-75445
Mielofon
2003-10-24 19:16
2003.12.23
Как поменять ресурсы прямо в exe-файле.