ADO与ADO.NET数据库访问技术比较与分析
2013-08-16薛源
薛 源
(同济大学,中国上海200093)
0 引言
ASP.NET 是Microsoft.NET 平台下的一部分。 它实现了Web 应用程序的快速开发。 其中连接数据库的主流技术是通过ADO.NET 或ADO 实现的。本文基于ASP.NET 框架,介绍ADO 和ADO.NET 两种数据库访问技术,然后就进行分析和研究。
1 ADO 技术简介
1.1 ADO 技术
ActiveX Data Objects (ADO)是微软的一种数据访问技术。 它被设计用来和数据访问层OLE DB Provider 一起协同工作, 以提供通用数据访问(Univer-sal Data Access)。 OLE DB 是一个低层的数据访问接口,并基于微软公司的COM 技术,用它可以访问各种数据源,其模型如图1 所示。ADO 的3 个主要组成对象是:Connection、RecordSet 和Command。

图1 ADO 工作原理图
(1)Connection 对象: 用于表示和数据源的连接,以及处理一些命令和事物。
(2)Command 对象:用于执行某些命令来进行诸如查询、修改数据库结构的操作,并将返回结果存在Recordset 对象中。 也可以进行批操作和操纵数据库的结构, 当然, 这需要使用的OLE DB Provider 提供相应的支持。 此外,可以将一个激活的Connection 对象绑定到Command 对象的ActiveConnection 属性, 这使得多个Command 对象实例可以共用一个Connection 对象。
(3)RecordSet 对象:用于处理数据源的表格集,它是在表中修改、检索数据的最主要的方法。 这些结果由数据的行(记录)和列(字段)组成。
ADO 的几个对象间的关系结构图如图2 所示。

图2 ADO 结构图
使用ADO 访问数据元的特点可以概括如下:
(1)易于使用,可以说这是ADO 最重要的特点之一。
(2)ADO 是高层数据库访问技术,相对与ODBC 来说,具有面向对象的特点。
(3)在ADO 对象结构中,对象与对象之间的层次结构不是非常明显,这会给编写数据库程序带来更多的便利。比如,在应用程序中如果要使用记录集对象,不一定要先建立连接、回话对象,如果需要就可以直接构造记录集对象。……
