В базе данных есть таблица (база в IBExpert): Specialists [code_spec, surname_spec, name_spec, patronymic_spec, specialization, main_work_seat, dismissal, data_begin_work, data_dism, work_off, dismissal_spec]
В приложении по кнопке "Уволить" нужно обновить данные в базе следующим образом:
dismissal=0 (было 1 при занятии должности)
dismissal_spec="уволен"
data_dism=а здесь дата увольнения
Для реализации этого у меня есть IBQDism, где в поле SQL:
select code_spec,dismissal, dismissal_spec, data_dism from specialists
where surname_spec=:A
and name_spec=:B
and patronymic_spec=:C
update specialists
set
dismissal=:dismissal,
dismissal_spec=:dismissal_spec,
data_dism=:data_dism
where
code_spec=:OLD_code_spec
IBQDism->Params->ParamByName("A")->AsString=LabEdSurnSpec->Text;
IBQDism->Params->ParamByName("B")->AsString=LabEdName_Sp->Text;
IBQDism->Params->ParamByName("C")->AsString=LabEdPatrSpec->Text;
IBQDism->Active=true;
IBQDism->Edit();
IBQDism->Fields->FieldByName("DISMISSAL")->AsInteger=0;
IBQDism->Fields->FieldByName("DISMISSAL_SPEC")->AsString="уволен";
IBQDism->Fields->FieldByName("DATA_DISM")->AsString="16.12.2008";
IBUSQLSpec->SetParams(ukModify);
IBUSQLSpec->ExecSQL(ukModify);
Выяснила, что вылет происходит после строки
IBQDism->Edit();