WillChangeRecordset 和 RecordsetChangeComplete 事件 (ADO)

WillChangeRecordset 事件在挂起操作更改 Recordset 之前进行调用。 RecordsetChangeComplete 事件在 Recordset 已更改之后进行调用

语法

  
WillChangeRecordset adReason, adStatus, pRecordset  
RecordsetChangeComplete adReason, pError, adStatus, pRecordset  

参数

adReason
一个 EventReasonEnum 值,用于指定此事件的原因。 其值可以是 adRsnRequery、adRsnResynch、adRsnClose、adRsnOpen

adStatus
EventStatusEnum 状态值。

调用 WillChangeRecordset 时,如果导致事件的操作成功,则此参数设置为 adStatusOK。 如果此事件无法请求取消挂起的操作,则设置为 adStatusCantDeny

调用 RecordsetChangeComplete 时,如果导致事件的操作成功,则此参数设置为 adStatusOK;如果操作失败,则设置为 adStatusErrorsOccurred;如果与之前接受的 WillChangeRecordset 事件关联的操作已被取消,则设置为 adStatusCancel

在返回 WillChangeRecordset 之前,将此参数设置为 adStatusCancel 以请求取消挂起的操作,或将此参数设置为 adStatusUnwantedEvent 以阻止后续通知

在返回 WillChangeRecordset 或 RecordsetChangeComplete 之前,将此参数设置为 adStatusUnwantedEvent 以阻止后续通知

pError
一个 Error 对象。 它描述了在 adStatus 的值为 adStatusErrorsOccurred 时发生的错误;否则不设置此参数

pRecordset
一个 Recordset 对象。 发生此事件的 Recordset

注解

由于 Recordset Requery 或 Open 方法,WillChangeRecordsetRecordsetChangeComplete 事件可能发生。

如果提供程序不支持书签,则每次从提供程序检索新行时都会发出 RecordsetChange 事件通知。 此事件的频率取决于 RecordsetCacheSize 属性

对于每个可能的 adReason 值,必须将 adStatus 参数设置为 adStatusUnwantedEvent,以便完全停止关于包含 adReason 参数的任何事件的事件通知

另请参阅

ADO 事件模型示例 (VC++)
ADO 事件处理程序摘要