哪位老大详细解释一下ADO的WILLMOVE,WILLCHANGERECORDSET。。。。。。

netxray 2001-07-20 04:16:37
还有WILLCHANGERECORD,WILLCHANGEFIELD,以及相应的CHANGECOMPLETE的事件发生的先后顺序以及相互关系?最好举例子,再指出每个事件是怎样触发的。还有发生以后可以做什么处理,等等等等
...全文
200 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmzxg 2002-01-16
  • 打赏
  • 举报
回复
哇,MSDN呀,不用这么详细吧。。。。。。
lihonggen0 2002-01-16
  • 打赏
  • 举报
回复
WillMove 和 MoveComplete (ConnectionEvent) 方法 (ADO)


WillMove 方法在挂起操作更改 Recordset 中的当前位置前调用。MoveComplete 方法则在 Recordset 的当前位置更改后调用。

语法

WillMove adReason, adStatus, pRecordset

MoveComplete adReason, pError, adStatus, pRecordset

参数

adReason EventReasonEnum 值,指定该事件的原因。它的值可以是 adRsnMoveFirst、adRsnMoveLast、adRsnMoveNext、adRsnMovePrevious、adRsnMove 或 adRsnRequery。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccurred 时所发生的错误,否则将不对它进行设置。

adStatus EventStatusEnum 状态值。

当调用 WillMove 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果该方法无法请求取消挂起的操作,则设置为 adStatusCantDeny。

当调用 MoveComplete 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果操作失败,则设置为 adStatusErrorsOccurred。

在 WillMove 返回前,将该参数设置为 adStatusCancel 可请求取消挂起的操作。在 MoveComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。

pRecordset Recordset 对象。发生该事件所针对的记录集。

说明

WillMove 或 MoveComplete 事件可因下列 Recordset 操作而发生:Open、Move、MoveFirst、MoveLast、MoveNext、MovePrevious、Bookmark、AddNew、Delete、Requery 和 Resync。





WillChangeField 和 FieldChangeComplete (ConnectionEvent) 方法 (ADO)


WillChangeField 方法在挂起操作对 Recordset 中的一个或多个 Field 对象值进行更改前调用。FieldChangeComplete 方法在一个或多个 Field 对象值已经更改后调用。

语法

WillChangeField cFields, Fields, adStatus, pRecordset

FieldChangeComplete cFields, Fields, pError, adStatus, pRecordset

参数

cFields 长整型值,Fields 中的 Field 对象数目。

Fields 变体型数组,包含带有挂起更改内容的 Field 对象。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccured 时所发生的错误,否则将不对它进行设置。

adStatus EventStatusEnum 状态值。

当调用 WillChangeField 时,如果引发事件的操作成功,该参数设置为 adStatusOK;如果该方法无法请求取消挂起操作,则设置为 adStatusCantDeny。

当调用 FieldChangeComplete 时,如果引发事件的操作成功,该参数设置为 adStatusOK,如果操作失败,则设置为 adStatusErrorsOccurred。

在 WillChangeField 返回前,将该参数设置为 adStatusCancel 可请求取消挂起的操作。

在 FieldChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent 避免后续的通知。

pRecordset Recordset 对象,发生该事件所针对的 Recordset 。

说明

WillChangeField 或 FieldChangeComplete 事件可因下列 Recordset 操作而发生:Value 和带有字段及数组参数值的 Update。









WillChangeRecord 和 RecordChangeComplete (ConnectionEvent) 方法 (ADO)


WillChangeRecord 方法在 Recordset 中的一个或多个记录(行)更改前调用。RecordChangeComplete 方法在一个或多个记录更改后调用。

语法

WillChangeRecord adReason, cRecords, adStatus, pRecordset

RecordChangeComplete adReason, 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 可请求取消引发该事件的操作。

在 RecordChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。

pRecordset Recordset 对象,发生该事件所针对的记录集。

说明

WillChangeRecord 或 RecordChangeComplete 事件可因下列 Recordset 操作而发生:Update、Delete、CancelUpdate、AddNew、UpdateBatch 和 CancelBatch。

在 WillChangeRecord 事件中,Recordset Filter 属性设置为 adFilterAffectedRecords。在处理事件时更改该属性是不合法的。


ferrytang 2002-01-16
  • 打赏
  • 举报
回复
WillChangeField 方法在挂起操作对 Recordset 中一个或多个 Field 对象的值进行更改前调用。FieldChangeComplete 方法在一个或多个 Field 对象的值已经更改后调用。

语法

WillChangeField cFields, Fields, adStatus, pRecordset

FieldChangeComplete cFields, Fields, pError, adStatus, pRecordset

参数

cFields 长整型,Fields 中的 Field 对象数目。

Fields 变体型数组,包含带有挂起发生更改的 Field 对象。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccured 时所发生的错误,否则将不对它进行设置。

adStatus EventStatusEnum 状态值。

当调用 WillChangeField 时,如果引发事件的操作成功,该参数设置为 adStatusOK;如果该方法无法请求取消挂起操作,则设置为 adStatusCantDeny。

当调用 FieldChangeComplete 时,如果引发事件的操作成功,该参数设置为 adStatusOK;如果操作失败,则设置为 adStatusErrorsOccurred。

在 WillChangeField 返回前,将该参数设置为 adStatusCancel 可请求取消挂起的操作。

在 FieldChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent避免后续的通知。

pRecordset Recordset 对象,发生该事件所针对的 Recordset。

说明

WillChangeField 或 FieldChangeComplete 事件可因下列 Recordset 操作而发生: Value 和带有字段及数组参数值的 Update。
ferrytang 2002-01-16
  • 打赏
  • 举报
回复
WillChangeRecordset 方法在挂起操作更改 Recordset 之前调用。
语法

WillChangeRecordset adReason, adStatus, pRecordset

adReason EventReasonEnum 值,指定该事件的原因。它的值可以是 adRsnReQuery、adRsnReSynch、adRsnClose、adRsnOpen。

adStatus EventStatusEnum 状态值。

当调用 WillChangeRecordset 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果该方法无法请求取消挂起的操作,则设置为 adStatusCantDeny。
WillChangeRecordset 事件关联的操作已经取消,则设置为 adStatusCancel。

在 WillChangeRecordset 返回前,将该参数设置为 adStatusCancel 以请求取消挂起操作。

在 WillChangeRecordset 或 RecordsetChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccurred 时所发生的错误,否则将不对它进行设置。

pRecordset Recordset 对象,发生该事件所针对的记录集
ferrytang 2002-01-16
  • 打赏
  • 举报
回复
事件 说明
BeginTransComplete、CommitTransComplete 和 RollbackTransComplete (ConnectionEvent) 方法 以下 Event 处理方法将在 Connection 对象的关联操作执行完成后进行调用。
BeginTransComplete 在 BeginTrans 操作后调用。

CommitTransComplete 在 CommitTrans 操作后调用。

RollbackTransComplete 在 RollbackTrans 操作后调用。

ConnectComplete 和 Disconnect (Connection Event) 方法 在连接开始后调用 ConnectComplete 方法。
在连接结束后调用 Disconnect 方法。

EndOfRecordset (RecordsetEvent) 方法 当试图移动到超过 Recordset 末尾行时,调用 EndOfRecordset 方法。
ExecuteComplete (Connection Event) 方法 命令执行完成之后,调用 ExecuteComplete 方法。
FetchComplete (RecordsetEvent) 方法 当在长异步操作中所有记录已经被恢复(获取)到 Recordset 之后,调用 FetchComplete 方法。
FetchProgress (Recordset Event) 方法 在长异步操作期间定期调用 FetchProgress 方法,以便报告当前有多少行已经被恢复(获取)到 Recordset 中。
InfoMessage (Connection Event) 方法 在 ConnectionEvent 操作期间一旦出现警告,则调用 InfoMessage 方法。
onError (Event) 方法 (RDS) 在操作期间一旦发生错误,则调用 onError 方法。
onReadyStateChange (Event) 方法 (RDS) 一旦 ReadyState 属性的值发生更改,则调用该方法。
WillChangeField 和 FieldChangeComplete (RecordsetEvent) 方法 在挂起操作更改 Recordset 中一个或多个 Field 对象的值之前,则调用 WillChangeField 方法。
在挂起操作更改一个或多个 Field 对象的值之后,则调用 FieldChangeComplete 方法。

WillChangeRecord 和 RecordChangeComplete (RecordsetEvent) 方法 在 Recordset 中一个或多个记录(行)发生更改之前,将调用 WillChangeRecord 方法。
在一个或多个记录发生更改之后,将调用 RecordChangeComplete 方法。

WillChangeRecordset 和 RecordsetChangeComplete (RecordsetEvent) 方法 在挂起操作更改 Recordset 之前调用 WillChangeRecordset 方法。
在 Recordset 已经更改之后,将调用 RecordsetChangeComplete 方法。

WillConnect (ConnectionEvent) 方法 在连接开始之前调用 WillConnect 方法。在挂起连接中使用的参数作为输入参数提供,并可以在方法返回之前更改。该方法可以返回取消挂起连接的请求。
WillExecute (ConnectionEvent) 方法 WillExecute 方法在对该连接执行挂起命令之前调用,使用户能够检查和修改挂起执行的参数。该方法可以返回取消挂起连接的请求。
WillMove 和 MoveComplete (RecordsetEvent) 方法 在挂起操作更改 Recordset 中的当前位置之前,调用 WillMove 方法。
Recordset 中的当前位置发生更改之后,调用 MoveComplete 方法。

dbcontrols 2002-01-16
  • 打赏
  • 举报
回复
WillChangeRecordset 和 RecordsetChangeComplete (ConnectionEvent) 方法 (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 以请求取消挂起操作。

在 WillChangeRecordset 或 RecordsetChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccurred 时所发生的错误,否则将不对它进行设置。

pRecordset Recordset 对象,发生该事件所针对的 Recordset。

说明

WillChangeRecordset 或 RecordsetChangeComplete 事件可因下列 Recordset 操作而发生:Requery、Resync、Close、Open 和 Filter。
dbcontrols 2002-01-16
  • 打赏
  • 举报
回复
WillMove 和 MoveComplete (ConnectionEvent) 方法 (ADO)


WillMove 方法在挂起操作更改 Recordset 中的当前位置前调用。MoveComplete 方法则在 Recordset 的当前位置更改后调用。

语法

WillMove adReason, adStatus, pRecordset

MoveComplete adReason, pError, adStatus, pRecordset

参数

adReason EventReasonEnum 值,指定该事件的原因。它的值可以是 adRsnMoveFirst、adRsnMoveLast、adRsnMoveNext、adRsnMovePrevious、adRsnMove 或 adRsnRequery。

pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccurred 时所发生的错误,否则将不对它进行设置。

adStatus EventStatusEnum 状态值。

当调用 WillMove 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果该方法无法请求取消挂起的操作,则设置为 adStatusCantDeny。

当调用 MoveComplete 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果操作失败,则设置为 adStatusErrorsOccurred。

在 WillMove 返回前,将该参数设置为 adStatusCancel 可请求取消挂起的操作。在 MoveComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。

pRecordset Recordset 对象。发生该事件所针对的记录集。

说明

WillMove 或 MoveComplete 事件可因下列 Recordset 操作而发生:Open、Move、MoveFirst、MoveLast、MoveNext、MovePrevious、Bookmark、AddNew、Delete、Requery 和 Resync。
dbcontrols 2002-01-16
  • 打赏
  • 举报
回复
在你硬盘里搜索Ado210.chm这个文件
claider 2002-01-16
  • 打赏
  • 举报
回复
kyuwong 2001-07-20
  • 打赏
  • 举报
回复
WillMove:
当执行 Recordset.open ,Recordset.movenext ,Recordset.move ,Recordset.movelast,
Recordset.movefirst , Recordset.moveprevious ,Recordset.bookmark ,Recordset.addnew ,
Recordset.delete , Recordset.requery , Recordset.resync 时发生。

WillchangeRecordset :
在执行 Recordset.requery , Recordset.resync ,Recordset.close , Recordset.open ,
Recordset.filter 时发生。

Willchangerecord:
当执行 Recordset.update , Recordset.delete , Recordset.cancelupdate ,
Recordset.updatebatch , Recordset.cancelbatch 时发生。

Willchangefield:
在Value属性更改之前。

Fieldchangecomplete:
Willchangefield事件之后。

Movecomplete:
Willmove事件之后。

Recordchangecomplete:
Willchangerecord事件之后。

Recordsetchangecomplete:
willchangerecordset事件之后。
ouyangke 2001-07-20
  • 打赏
  • 举报
回复
用楼上的方法可以知道他们执行的顺序!
至于他们发生以后做什么处理?
那当然是你在代码里要求他们做什么处理他们就做什么处理啦!
至于等等等等?
那就看看到底等等等等是什么啦!
natfit 2001-07-20
  • 打赏
  • 举报
回复
你可以写一个小程序,把他们都放进去,一步步调试就知道了!
至于干什么最好看帮助,应当有说明!

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧