设为首页 加入收藏

TOP

用VC++开发数据库应用程序(六)(六)
2012-11-04 15:17:10 来源: 作者: 【 】 浏览:902
Tags:开发 数据库 应用程序
  6.38 事件

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

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

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

  某些事件是成对出现的。开始操作前调用的事件名格式为 WillEvent(Will 事件),而操作结束后调用的事件名格式为 EventComplete(Complete 事件)。其余的不成对事件只在操作结束后发生。(其名称没有任何固定模式。)事件处理程序由状态参数控制。附加信息由错误和对象参数提供。

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

  下面的代码显示了一个使用ADO的例子。

  首先加入Microsoft ActiveX Data Object 2.0 Library引用。

Dim db As Connection

Set db = New Connection

db.CursorLocation = adUseClient

db.Open "PROVIDER=MSDASQL;DSN=TestDatabase", "sa", "", -1

Dim i As Long

Dim id As Long

Dim value As Single

Dim rst As New Recordset

Set rst = New Recordset

rst.Open "select * from 模拟量变化历史表", db, adOpenDynamic, adLockOptimistic

rst.MoveFirst

For i = 0 To rst.RecordCount - 1

id = rst.Fields("ID")

value=rst.Fields(“VALUE”)

rst.MoveNext

Next i

rst.Close

Set rst = Nothing

db.Close

  6.4总结

  ADO技术是访问数据库的新技术,具有易于使用、访问灵活、应用广泛的特点。用ADO访问数据源的特点可总结如下:

  易于使用

  这是ADO技术的最重要的一个特征。由于ADO是高层应用,所以相对于OLE DB或者ODBC来说,它具有面向对象的特性。同时,在ADO的对象结构中,其对象之间的层次关系并不明显。相对于DAO等访问技术来讲,又不必关心对象的构造顺序和构造层次。对于要用的对象,不必选建立连接、会话等对象,只需直接构造即可,方便了应用程序的编制。

  高速访问数据源

  由于ADO技术基于OLE DB,所以,它也继承了OLE DB访问数据库的高速性。

  可以访问不同数据源

  ADO技术可以访问包括关系数据库和非关系数据库的所有文件系统。此特点使应用程序有很多的灵活性和通用性。

  可以用于Microsoft ActiveX页

  ADO技术可以以ActiveX控件的形式出现,所以,可以被用于Microsoft ActiveX页,此特征可简化WEB页的编程(www.cppentry.com)。

  程序占用内存少

  由于ADO是基于组件对象模型(COM)的访问技术,所以,用ADO产生的应用程序占用内存少。

  7、总结

  要在访问数据时判断出应该使用哪一种技术,这并不容易。可能需要公用实用程序来处理多个数据库类型;部分数据可能出现在本地硬盘驱动器上,部分在网络上,还有一部分在主机上。甚至客户安装在设备上的产品也会使这种选择更加困难。例如,你所期待的ODBC支持级别也许依赖于所安装的Microsoft Office的版本,因为这个产品不提供ODBC支持。你还会发现,ADO类提供的对象和方法要比ODBC类多。ADO可以提供程序中绝对必须具有的一些特性棗例如,你会发现OLE-DB和ADO两者都支持DFX_Currency,但在ODBC中没有对应的功能,但你要想掌握它们也必须付出一定的努力。

  选择OLE-DB或ODBC时,有几条一般的规则。因为ADO实际上只是OLE-DB的包装,所以这些规则也适用于它。下面提供一些基本的原则,可以用来帮助你决定选择OLE-DB还是ODBC。

  非OLE环境 如果要访问支持ODBC的数据库,而该数据库又在不支持OLE的服务器上,那么ODBC是最好的选择。

  非SQL环境 ODBC在处理SQL时非常出众。处理非SQL数据库时,OLE-DB则具有非常明显的优势。

  OLE环境 对支持OLE的服务器来说,选择OLE-DB还是ODBC也许是希望各半。如果有ODBC驱动程序可供利用,那么使用ODBC是一个好主意;否则,就只有选择OLE-DB了。

  所需的互操作性 如果需要可互操作的数据库部件,那么只有选择OLE-DB。
首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC设计可自动循环播放的MP3播放器 下一篇用VC++开发数据库应用程序(五)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: