Вниз
Скачать: 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.01 c
14-97820
Song
2003-06-11 14:51
2003.06.30
Никогда не делайте как я! :(


14-97882
Night Cold
2003-06-13 20:46
2003.06.30
HELP


3-97541
Юля П.
2003-06-06 14:47
2003.06.30
Многопользовательская работа с BDE


1-97676
Миша
2003-06-17 14:53
2003.06.30
Отображение вывода программы


7-97903
V.V.
2003-04-16 09:31
2003.06.30
Голос через модем




   Наверх