56
with DM do begin
if zakazchik.State in [dsInsert,dsEdit] then
zakazchik.Post;
end;
Бывает, что при сохранении информации в БД возникают ошибки,
например, обязательное поле не заполнено, или БД доступна только для чтения.
Действия по исправлению ошибок, выдаче окон-комментариев и пр. можно
предусмотреть в обработчике события OnPostError у набора данных,
предварительно подключив модули Controls и Dialogs.
MessageDlg('Ошибка. Проверьте поля кодзаказчика и кодцены',
mtError,[mbOK],0);
if MessageDlg('Отменить изменения?',
mtConfirmation,[mbYes,mbNo],0)=mrYes
then zakazchik.Cancel
else Form1.DBEdit1.SetFocus;
Обработчик события OnClick, выполняемый при нажатии на кнопку
«Отменить».
with DM do begin
if zakazchik.State in [dsInsert,dsEdit] then
zakazchik.Cancel;
end;
Метод Cancel набора данных отменяет внесенные изменения, не
сохраненные пока в БД
Обработчик события OnClick, выполняемый при нажатии на кнопку
«Удалить».
with DM do begin
if zakazchik.State=dsBrowse then
if MessageDlg('Удалить запись?'+#10#13+
'При этом соответствующие записи в '+
'подчиненных таблицах средствами СУБД будут удалены! ',