Delphi 3 и создание приложений баз данных

       

Использование обработчика OnUpdateError


К наиболее часто встречающимся ошибкам, происходящим при попытках подтверждения кэшированных изменений, относятся:

• нарушение значения поля связи в родительской или дочерней таблицах;

• нарушение уникальности индекса, построенного по первичному или уникальному ключу таблицы БД;

• попытка ввести в поле связи дочерней таблицы значение, отсутствующее в поле связи родительской таблицы;

• нарушение требования ввода в одно из полей обязательного значения;

• нарушение ограничений, накладываемых на значение поля.

Реагировать на ошибки, возникающие при подтверждении кэшированных изменений, можно в обработчике события OnUpdateError:

procedure TForm1.TovaryUpdateError(DataSet: TDataSet;

E: DatabaseError; UpdateKind: TUpdateKind;

var UpdateAction: TUpdateAction);

begin

...

end;

где параметры имеют следующее назначение:

  • DataSet: TDataSet -
  • набор данных, для которого при попытке подтверждения кэшированных изменений произошла ошибка;

  • UpdateKind: TUpdateKind -
  • вид изменений, при попытке подтверждения которых произошла ошибка. Возможные значения:

  • ukModify -
  • запись была изменена (скорректировано значение хотя бы одного поля);

  • uklnsert -
  • запись была добавлена;

  • ukDelete -
  • запись была удалена.

  • var UpdateAction: TUpdateAction -
  • изменяемый параметр. Указывает, что нужно делать с записью, при попытке подтверждения кэшированных изменений которой произошла ошибка. Список возможных значений приводится ниже в подразделе "Использование изменяемого параметра UpdateAction".

  • E: DatabaseError -
  • указатель на исключительную ситуацию, возбужденную в результате невозможности подтвердить кэшированные изменений для данной записи. Может использоваться для получения сообщения об ошибке или кода ошибки. Использование данного параметра описано ниже в подразделе "Использование параметра E".


Содержание раздела