Вниз
Скачать: 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.012 c
1-97675
RoadStar
2003-06-17 13:39
2003.06.30
TStringGrid


6-97768
wQH
2003-04-24 08:28
2003.06.30
TIdDNSresolver


1-97716
Zerg5
2003-06-18 13:21
2003.06.30
Время создания файла в виде MMDD : String


3-97476
Term
2003-06-04 14:23
2003.06.30
Проблема с dbf файлом!!!


1-97709
0rg
2003-06-17 20:49
2003.06.30
Алгоритм для часов




   Наверх