Вниз
Скачать: CL | DM;

Kaк добавить запись в подчиненную табл. в сеансе Append-a главной   Найти похожие ветки 

← →
DBDev   (2003-06-05 12:04) [0]

Имеем: Т1.KeyID = T2.ID В одном сеансе (окне) делаем:

T1->Append();
T1->FieldByName("F1")->AsString = "VALUE";
T2->Append();
T2->FieldByName("F1")->AsString = "VALUE";
T2->FieldByName("ID")->AsInteger = T1->FieldByName("KeyID")->AsInteger;
T2->Post();
T1->Post();


Но ес-но на момент T1->FieldByName("KeyID")->AsInteger есть величина равная 0 и ничего не поделать.

Конечно можно и так:

T1->Append();
T1->FieldByName("F1")->AsString = "VALUE";
T1->Post();

T1->Edit();
T2->Append();
T2->FieldByName("F1")->AsString = "VALUE";
T2->FieldByName("ID")->AsInteger = T1->FieldByName("KeyID")->AsInteger;
T2->Post();
T1->Post();


Этот способ мне кажется ущербным, а есть ли способ поправильней...

Подскажите пожалуйста...


← →
ladybird   (2003-06-05 12:08) [1]

так как KeyID это autoincrement поле, то его значение
для новой записи вы получаете от сервера после сохранения


← →
DBDev   (2003-06-05 12:11) [2]

2 ladybird.
Это я знаю. Но ведь должен быть способ...


← →
Johnmen ©   (2003-06-05 12:12) [3]

>Этот способ мне кажется ущербным, а есть ли способ поправильней...

Мне не кажется...:) А это лишнее :
T1->Edit(); и последующее T1->Post();


← →
DBDev   (2003-06-05 12:16) [4]

2 Johnmen: Идея! Ведь есть же процедура извлекающая следующее значение autoincrement ключа, только не помню как называется...

Может ею?


← →
DBDev   (2003-06-05 12:17) [5]

Ведь надо как-то все добалять с одной формы - юзер требует!
Неужели никто не сталкивался с такой задачей??



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-97686
vv_fran
2003-06-17 15:03
2003.06.30
Как очистить буфер клавиатуры?


1-97638
NeVa
2003-06-19 21:25
2003.06.30
StringGrid


6-97771
Sender
2003-04-25 22:10
2003.06.30
Как сформировать и послать пакет???


14-97781
Дмитрий К.К.
2003-06-11 06:22
2003.06.30
Именинники 10 июня


1-97621
Vena
2003-06-19 14:04
2003.06.30
Слияние строк




   Наверх