Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 поле, то его значение
для новой записи вы получаете от сервера после сохранения


Наверх

Титульная страница Поиск, карта сайта Написать письмо