События WillExecute и ExecuteComplete в ADO

Определение и использование

Событие - это подпроцесс, который автоматически вызывается после выполнения конкретной операции.

  • Событие WillExecute будет вызываться перед вызовом objcomm.Execute, objconn.Execute или objrs.Open.
  • Событие ExecuteComplete будет вызываться после завершения вызова objcomm.Execute, objconn.Execute, objrs.Open, objrs.Requery или objrs.NextRecordset.

Синтаксис

WillExecute src,cursortyp,locktyp,options,status,objcomm,objrs,objconn
ExecuteComplete recaffected,objerror,status,objcomm,objrs,objconn
параметр Описание
src строка, содержащая имя SQL-запроса или хранимой процедуры.
cursortyp определяет тип курсора, который необходимо использовать.CursorTypeEnum одного из значений.
locktyp определяет тип блокировки, который необходимо использовать.LockTypeEnum одного из значений.
options один или несколько CommandTypeEnum или ExecuteOptionEnum Значение
recaffected Долгий значений, количество записей,影响的命令。
objerror Объект Error, содержащий произошедшие ошибки.

Комментарий: значение EventStatusEnum должно быть установлено в adStatusErrorsOccurred, чтобы создать этот объект Error.

status один EventStatusEnum значение.
objcomm

Для WillExecute: если это событие вызывается Command.Execute, параметр objcomm будет ссылаться на объект Command, а параметр objrs будет установлен в Nothing.

Для ExecuteComplete: выполняемый объект Command.

objrs

Для WillExecute: Если это событие вызвано Recordset.Open, параметр objrs будет ссылаться на объект Recordset, а параметр pCommand будет установлен в Nothing.

Для ExecuteComplete: Объект Recordset, это результат выполнения команды.

objconn Объект подключения, связанный с выполнением команды.

Значения EventStatusEnum

Константа Значение Описание
adStatusOK 1 Операция, вызвавшая это событие, успешна.
adStatusErrorsOccurred 2 Операция, вызвавшая это событие, не удалась.
adStatusCantDeny 3 Невозможно отменить приостановленную операцию.
adStatusCancel 4 Отмените операцию, вызвавшую событие.
adStatusUnwantedEvent 5 Запрещено отправлять последующие уведомления до завершения выполнения метода события.