![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Kaк добавить запись в подчиненную табл. в сеансе Append-a главной [MSSQL]
DBDev © (2003-06-05 12:04:00)Имеем: Т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();
Этот способ мне кажется ущербным, а есть ли способ поправильней...
Подскажите пожалуйста...
DBDev (2003-06-05 12:17:00) [1]Ведь надо как-то все добалять с одной формы - юзер требует!
Неужели никто не сталкивался с такой задачей??
DBDev (2003-06-05 12:16:00) [2]2 Johnmen: Идея! Ведь есть же процедура извлекающая следующее значение autoincrement ключа, только не помню как называется...
Может ею?
Johnmen (2003-06-05 12:12:00) [3]>Этот способ мне кажется ущербным, а есть ли способ поправильней...
Мне не кажется...:) А это лишнее :
T1->Edit(); и последующее T1->Post();
DBDev (2003-06-05 12:11:00) [4]2 ladybird.
Это я знаю. Но ведь должен быть способ...
ladybird (2003-06-05 12:08:00) [5]так как KeyID это autoincrement поле, то его значение
для новой записи вы получаете от сервера после сохранения