Помощь - Поиск - Пользователи - Календарь
Полная версия: Обновление данных
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
18192123
В базе данных есть таблица (база в 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



Так же есть компонент IBUSQLSpec (TIBUpdateSQL), где в поле ModifySQL прописано:

update specialists
set
dismissal=:dismissal,
dismissal_spec=:dismissal_spec,
data_dism=:data_dism
where
code_spec=:OLD_code_spec



для IBQDism в поле UpdateObject прописала свой компонент IBUSQLSpec..

Обработчик по нажатию кнопки:

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);


И всё это дело заканчивается ошибкой (рисунок)..
Подскажите пожалуйста, что я не так делаю? В чём может быть причина?
18192123
Выяснила, что вылет происходит после строки

IBQDism->Edit();


....
Может, кто-нибудь знает, в чём дело...?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.