Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/Delphi/D3/SB36OnUpdateError.shtml

Глава 36. TDataSet.OnUpdateError

Событие OnUpdateError

Затрагиваемые объекты TDataSet
Назначение Событие OnUpdateError ссылается на процедуру обработчика событий, в которой можно указать пользовательскую обработку, выполняющуюся при обнаружении ошибок обновления записи.
Объявление
type TUpdateKind = (ukModify,uklnsert,ukDelete);
     TUpdateAction = (uaFail,uaAbort,uaSkip,uaRetry,uaApplied);
     TUpdateErrorEvent = procedure(DataSet:TDataSet; E: EDatabaseError;
         UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction) of  object;
     property OnUpdateError: TUpdateErrorEvent;
Пример синтаксиса
// Присвоить или отменить  присвоение  обработчика событий OnUpdateError
// в соответствии с флажком

procedure TTDataSetTestForm.OnUpdateErrorCheckBoxClick(Sender: TObject);
begin
   if OnUpdateErrorCheckBox.Checked
      then CustomerTable.OnUpdateError := CustomerUpdateError
      else CustomerTable.OnUpdateError := Nil;

end;
Описание        Событие OnUpdateError происходит, когда обращение к методу ApplyUpdates из TDataSet завершилось неудачно вследствие какой-либо ошибки. Если процедура обработчика событий для OnUpdateError определена, она будет иметь четыре параметра. Первый параметр идентифицирует TDataSet, второй параметр является объектом исключения EDatabaseError, описывающим ошибку, третий указывает на вид обновления, причинивший проблему, и четвертый является управляющим var-пaраметром UpdateAction, посредством которого можно сделать вывод о пользовательской обработке ошибок, которую следует закодировать в процедуре обработчика событий. Параметр UpdateKind может принимать значения uaFail, uaAbort, uaSkip, uaRetry, uaApplied. Действие обновления uaFail повторно возбуждает исходное исключение и передает его обычной системе обработки исключений. Действие uaFail является значением по умолчанию для параметра UpdateAction. Действие обновления uaAbort прекращает кэшированное обновление и возбуждает "молчаливое" исключение EAbort. Действие обновления uaSkip сбрасывает текущее обновление и продолжает обрабатывать остальные. Действие обновления uaRetry пытается еще раз выполнить операцию обновления для текущей записи. Обратите внимание, что если во время повтора происходит ошибка, обработчик событий OnUpdateError вызывается повторно. Наконец, действие обновления uaApplied сигнализирует о том, что обновление в процедуре обработчика событий OnUpdateError было применено успешно.

[Свойство Active] [Метод ActiveBuffer] [Событие AfterCancel] [Событие AfterClose] [Событие AfterDelete] [Событие AfterEdit] [Событие AfterInsert] [Событие AfterOpen] [Событие AfterPost] [Метод Append] [Метод AppendRecord] [Метод ApplyUpdates] [Свойство AutoCalcFields] [Свойство BOF] [Событие BeforeCancel] [Событие BeforeClose] [Событие BeforeDelete] [Событие BeforeEdit] [Событие BeforeInsert] [Событие BeforeOpen] [Событие BeforePost] [Свойство Bookmark] [Свойство CachedUpdates] [Свойство CanModify] [Метод Cancel] [Метод CancelUpdates] [Метод CheckBrowseMode] [Метод ClearFields] [Метод Close] [Метод CommitUpdates] [Метод ControlsDisabled] [Метод CursorPosChanged] [Свойство DataSource] [Свойство DefaultFields] [Метод Delete] [Метод DisableControls] [Метод Edit] [Метод EnableControls] [Свойство EOF] [Свойство ExpIndex] [Метод FetchAll] [Метод FieldByName] [Свойство FieldCount] [Свойство FieldDefs] [Свойство FieldValues] [Свойство Fields] [Свойство Filter] [Свойство FilterOptions] [Свойство Filtered] [Метод FindField] [Методы FindFirst] [Методы FindLast] [Методы FindNext] [Методы FindPrior] [Метод First] [Свойство Found] [Метод FreeBookmark] [Метод GetBookmark] [Метод GetCurrentRecord] [Метод GetFieldList] [Метод GetFieldNames] [Метод GotoBookmark] [Свойство Handle] [Метод Insert] [Метод InsertRecord] [Метод IsLinkedTo] [Свойство KeySize] [Метод Last] [Свойство Locale] [Метод Locate] [Метод Lookup] [Свойство Modified] [Метод MoveBy] [Метод Next] [Событие OnCalcFields] [Событие OnDeleteError] [Событие OnEditError] [Событие OnFilterRecord] [Событие OnNewRecord] [Событие OnPostError] [Событие OnServerYield] [Событие OnUpdateError] [Событие OnUpdateRecord] [Метод Open] [Метод Post] [Метод Prior] [Свойство RecNo] [Свойство RecordCount] [Свойство RecordSize] [Метод Refresh] [Метод Resync] [Метод RevertRecord] [Метод SetDetailFields] [Метод SetFields] [Свойство State] [Метод UpdateCursorPos] [Свойство UpdateObject] [Метод UpdateRecord] [Свойство UpdateRecordTypes] [Метод UpdateStatus] [Свойство UpdatesPending]


<<< Пред. Оглавление
Начало раздела
След. >>>




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/Delphi/D3/SB36OnUpdateError.shtml