→ Пошук по сайту       Увійти / Зареєструватися
Знання Технология ADO в Delphi Компоненты Delphi для поддержки ADO Общие свойства компонентов-наборов

События класса TCustomADODataSet

Некоторые события используют следующие типы данных, определяющие статус и смысл события:

type TeventStatus = (esOK, esErrorsOccured, esCantDeny, esCancel, esUnwantedEvent);

Здесь:

  • esOK - нет ошибок;
  • esErrorsOccured - событие вызвало ошибки;
  • esCantDeny - ожидаемую связь нельзя разорвать;
  • esCancel - ожидаемую связь можно разорвать до ее активизации;
  • esUnwantedEvent - блокирует связанные события.

type TEventReason = (erAddNew, erDelete, erUpdate, erUndoUpdate, erUndoAddNew, ertlndoDelete, erRequery, erResynch, erClose, erMove, erFirstChange, erMoveFirst, erMoveNext, erMovePrevious, erMoveLast);

Здесь:

  • erAddNew - добавлена запись;
  • erDelete - уничтожена запись;
  • erUpdate - запись изменена;
  • erUndoUpdate - произошел откат изменений записи;
  • erUndoAddNew- произошел откат вставки записи;
  • erUndoDelete - произошел откат стирания записи;
  • erRequery - к НД был применен метод Requere;
  • erResynch - к НД был применен метод Resync;
  • erClose - НД был закрыт;
  • erMove - курсор сместился к другой записи;
  • erFirstChange - произошло первое изменение НД;
  • erMoveFirst - курсор сместился к первой записи;
  • erMoveNext курсор сместился к следующей записи;
  • erMovePrevious -курсор сместился к предыдущей записи;
  • erMoveLast - курсор сместился к последней записи.

Особенностью события OnEndOfRecordset является то, что оно предшествует событиям BeforeScroll и AfterScroll. В обработчике события нельзя проверять конец НД с помощью функции EOF, т.к. сам НД может быть частично не наполнен, если наполнение его записями идет в асинхронном режиме.

Обработчик события OnFetchProgressEvent обычно используется при длительном по времени обращении к БД в асинхронном режиме для индикации процесса. Например:

procedure  TForml.ADODataSetlFetchProgress(DataSet:
    TCustomADODataSet;   Progress,   MaxProgress:   Integer;
var EventStatus:   TEventStatus); 
begin
  Caption   :=   'Percent  complete: ‘  +
      IntToStr (Trunc (Progress / MaxProgress   *   100))   +’%’;
  Application.PrосеssMessages;
end;
загрузка...
Сторінки, близькі за змістом