Поделиться через


События WillChangeRecord и RecordChangeComplete (ADO)

Событие WillChangeRecord вызывается перед одним или несколькими записями (строками) в наборе записей . Событие RecordChangeComplete вызывается после изменения одной или нескольких записей.

Синтаксис

  
WillChangeRecord adReason, cRecords, adStatus, pRecordset  
RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset  

Параметры

adReason
Значение EventReasonEnum, указывающее причину этого события. Его значение может быть adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete или adRsnFirstChange.

cRecords
Длинное значение, указывающее количество измененных записей (затронутых).

pError
Объект Error . В нем описывается ошибка, которая произошла, если значение adStatus является adStatusErrorsOccurred; в противном случае оно не задано.

adStatus
Значение состояния EventStatusEnum.

При вызове WillChangeRecord этот параметр имеет значение adStatusOK , если операция, вызвавшей событие, была успешной. Оно имеет значение adStatusCantDeny , если это событие не может запросить отмену ожидающей операции.

При вызове RecordChangeComplete этот параметр имеет значение adStatusOK, если операция, вызвавшей событие успешно, или adStatusErrorsOccurred, если операция завершилась ошибкой.

Перед возвратом WillChangeRecord задайте для этого параметра значение adStatusCancel , чтобы запросить отмену операции, вызвавшей это событие или задав этому параметру значение adStatusUnwantedEvent , чтобы предотвратить последующие уведомления.

Перед возвратом RecordChangeComplete задайте для этого параметра значение adStatusUnwantedEvent , чтобы предотвратить последующие уведомления.

pRecordset
Объект Recordset. Набор записей, для которого произошло это событие.

Замечания

Событие WillChangeRecord или RecordChangeComplete может возникать для первого измененного поля в строке из-за следующих операций набора записей: Update, Delete, CancelUpdate, AddNew, UpdateBatch и CancelBatch. Значение Объекта Recordset CursorType определяет, какие операции вызывают события.

Во время события WillChangeRecord свойство Recordset Filter имеет значение adFilterAffectedRecords. Это свойство нельзя изменить при обработке события.

Для каждого возможного значения adReason необходимо задать параметр adStatusUnwantedEvent, чтобы полностью остановить уведомление о событиях для любого события, включающего параметр adReason.

См. также

Пример модели событий ADO (Visual C ++)
Общие сведения об обработчике событий ADO