学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> VB >> 浅析ADO 事件模型


浅析ADO 事件模型


  “ADO 事件模型”支持某些同步或异步的 ADO 操作,这些操作在其开始之前或完成之后能够引发事件。“事件”实际上是对事件处理程序例程的调用。

  操作开始前调用的事件处理程序用于检查或修改操作参数,此后可删除操作或使其完成。由于 ADO 2.0 支持异步操作,所以操作完成后调用的事件处理程序特别重要。例如,启动异步Recordset.Open 操作的应用程序在操作完成时,通过执行完毕事件来获得通知。

  有两类事件:

ConnectionEvents — 当连接的事务开始、提交或回卷时,当 Command 执行时,以及 Connection

  开始或结束时所引发的事件。

RecordsetEvents — 当定位 Recordset 对象行,更改 Recordset 行中的字段,更改 Recordset 中的行,或在记录集进行任何更改时所引发的事件。

  ADO 事件总结

  ADO 2.0 支持事件,事件是对某些操作将要或已经发生的通知。

  有两类事件:ConnectionEvent 和 RecordsetEvent。Connection 对象产生ConnectionEvent 事件,而 Recordset 对象则产生 RecordsetEvent 事件。

  事件由事件处理程序例程处理,该例程在某个操作开始之前或结束之后被调用。

  某些事件是成对出现的。开始操作前调用的事件名格式为 WillEvent(Will 事件),而操作结束后调用的事件名格式为 EventComplete(Complete 事件)。

  其余的不成对事件只在操作结束后发生。(其名称没有任何固定模式。)事件处理程序由状态参数控制。附加信息由错误和对象参数提供。

  可以请求事件处理程序不接受第一次通知以后的任何通知。例如,可以选择只接收Will 事件或 Complete 事件。

  在某种编程语言中,来自多个 ADO 对象的事件可以由一个事件处理程序处理。一个事件也可以用多个事件处理程序处理,但不太常见。

  ADO 事件

  ADO 2.0 支持事件。事件是由某些操作在开始之前或结束之后发出的通知。事件实际上是对应用程序中定义的事件处理程序例程的调用。请参阅 不同语言的 ADO 事件实例。
事件分成两类。ConnectionEvent 类从属于 Connection 对象的操作,而 RecordsetEvent类则从属于 Recordset 对象的操作。 ConnectionEvents — 在连接的事务开始、提交或回卷时,或在 Command 被执行、连接开始或结束时,事件即被引发。

  RecordsetEvents — 在 Recordset 对象行中定位、更改 Recordset 行中的字段、更改Recordset 的行、或是在 Recordset 作任何修改时,事件即被引发。

  ADO 事件处理程序概述

  ConnectionEvent 说明

  BeginTransComplete、CommitTransComplete、RollbackTransComplete 事务管理 — 关于连接上的当前事务已经开始、已经提交、或者已经回卷的通知。

  WillConnect、ConnectComplete、Disconnect 连接管理 — 关于当前连接即将开始、已经开始、或者已经结束的通知。

  WillExecute、ExecuteComplete 命令执行管理 — 关于连接的当前命令的执行即将开始、或者已经结束的通知。

  InfoMessage Informational — 关于当前操作有附加信息的通知。

  RecordsetEvent 说明

  FetchProgress、FetchComplete 检索状态 — 关于数据检索操作进度、或者检索操作已经结束的通知。

  WillChangeField、FieldChangeComplete 字段更改管理 — 关于当前字段值即将更改、或者已经更改的通知。

  WillMove、MoveComplete、EndOfRecordset 定位管理 — 关于当前行在 Recordset 中的位置即将更改、已经更改、或者已经到达 Recordset 结尾的通知。

  WillChangeRecord、RecordChangeComplete 行更改管理 — 关于 Recordset 当前行的某些地方即将更改、或者已经更改的通知。

  WillChangeRecordset、RecordsetChangeComplete Recordset 更改管理 — 关于当前 Recordset的某些地方即将更改、或者已经更改的通知。

  事件类型

  Will 事件

  操作开始之前调用的事件处理程序使您有机会检查或修改操作参数,然后取消操作或允许完成该操作。这些事件处理程序例程通常具有形如 WillEvent(Will 事件)的名称。

  Complete 事件

  操作完成之后调用的事件处理程序将向应用程序发出操作已经结束的通知。当挂起的操作被 Will事件处理程序取消时,该事件处理程序也会收到通知。这些事件处理程序例程通常具有如象EventComplete(Complete 事件)的名称。

  Will 和 Complete 事件一般成对使用。

  其他事件

  其他事件处理程序(事件名不使用 WillEvent 或 EventComplete 格式)仅在操作完成后被调用。

  事件参数

  每个事件处理程序都有一个控制它的状态参数。大部分 Complete 事件都有错误参数,用于报告引起事件发生的操作是否成功。另外还有一个对象参数,用于标识操作所执行的 ADO 对象。

  Will 事件也传递用于挂起操作的参数。这样您就有机会检查参数并确定操作是否应该完成。

  状态参数

  当事件处理程序例程被调用时,状态参数将被设置为下列信息值之一。



技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"浅析ADO 事件模型"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 浅析ADO 事件模型 相关内容
Google搜索中 浅析ADO 事件模型 相关内容
雅虎中 浅析ADO 事件模型 相关内容
Sogou搜索中 浅析ADO 事件模型 相关内容

相关软件 最新回复帖子:

·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化


  相关软件 浅析ADO 事件模型相关文章
ADO数据访问模型初学者入门 Visual Basic常用术语释义
VB中利用API函数实现屏幕颜色数设定 探索VB系列中的事件处理的奥秘
VB中用第三方控件打造Office XP菜单 VB中利用第三方控件实现软件在线升级
用Visual Basic实现Office助手 用Visual Basic6类模块打造控件
Visual Basic编程映射/中断网络磁盘 VB中利用ccrpHotKey控件设置热键
Visual Basic编程常见问题及解答 Visual Basic中调用MSN API函数
用Visual Basic实现undo功能 VB中用第三方控件制作资源管理器
VB实现SQL Server 2000存储过程调用 用VB设计一个简单的加法程序
Visual Basic中轻松打造绚丽按钮 用Visual Basic为软件增加注册功能
VB应用程序中实现“查找和替换”功能 VB6如何在托盘中写入应用程序图标