Создаю запись, делаю Post();. Закрываю программу, и после открытия запись пустая. автоинкрементное поле через триггер создается, а данные введенные нет.
выдержки кода:
Открываю форму.
Код | void __fastcall TChForm::FormCreate(TObject *Sender) { DataModule1->IBDataSet2->Active = true;
|
кнопка. Вставка новой записи:
Код | if(DataModule1->IBTransaction1->Active) { DataModule1->IBTransaction1->Rollback(); } DataModule1->IBTransaction1->StartTransaction(); DataModule1->IBDataSet2->Active = true; DataModule1->IBDataSet2->Insert();
|
заполняю в гриде запись.
кнопка. Сохраение:
Код | if(DataModule1->IBDataSet2->State == dsEdit || DataModule1->IBDataSet2->State == dsInsert) { StatusBar1->Panels->Items[1]->Text = "Сохранено."; DataModule1->IBDataSet2->Post(); DataModule1->IBTransaction1->CommitRetaining(); }
|
P.S.
Когда делаю так:
Код | DataModule1->IBDataSet2->Active = false; DataModule1->IBDataSet2->SelectSQL->Clear(); DataModule1->IBDataSet2->SelectSQL->Add("insert into tabl_cheng_num (old_num, new_num) values (1234567890,10987654321)"); DataModule1->IBDataSet2->Active = true;
|
то все нормально. но мне надо чтоб править и добавлять в гриде. через DBNavigator1 тоже самое. не пойму где косяк(
Цитата | Свойства компонента - IBDataSet2
1. delete from tabl_cheng_num where NUM_PP2 = :OLD_NUM_PP2
2. insert into tabl_cheng_num (num_pp2, old_num, new_num) values (:num_pp2, :old_num, :new_num)
3. update tabl_cheng_num set num_pp2 = :num_pp2, old_num = :old_num, new_num = :new_num
4. RefleshSQL - пусто
5. select * from TABL_CHENG_NUM
|
|