1、天道酬勤ADO.NET技术研究摘 要:ADO(ActiveX Data Object)NET技术成为这一体系中数据库访问、处理数据和应用程序开发的强大工具。对ADO.NET的根本思想和结构以及其在.NET体系中的地位和作用进行了阐述,介绍了其技术特点、其中的关键对象和方法,并以C#语言为例描述了其实现的过程。关键词:NET Framework;ADO.NET;网络数据库;数据库连接中图分类号:TP393.09 文献标识码:A 文章编号:1672-7800202309-0121-031 ADO.NET的根本概念ODBCOpen Database Connectivity,开放数据库互连是Micr
2、osoft公司WOSACWindows Open Services Architecture,开放效劳结构中有关数据库的一个组成局部,它建立一组标准,并提供了一组对数据库访问的标准API应用程序编程接口。OLE DB是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性ODBC的结构化问题语言SQL能力,还具有面向其他非SQL数据类型的通路。ODBC 标准的对象是基于SQL 的数据源,而OLE DB 的对象那么是范围更为广泛的任何数据存储。ADOActiveX Data Objects,活动数据对象是Microsoft在OLE DB AP
3、I之上提供了一种面向对象,与语言无关的应用程序接口。ADO被实现为OLE DB之上的一个薄层,像一座连接应用程序和OLE DB的桥梁,这使程序员可以使用简单的语言来操作OLE DB,能够编写通过OLE DB对在数据库效劳器中的数据进行访问和操作的应用程序。ADO是ADO.NET的前身,.NET Framework是Microsoft的主要数据访问技术。Windows开发人员运用这个易用的技术建立Windows和Web数据库应用程序。这个技术为访问各种数据库中的数据提供了友好的用户界面,开发人员可以使用它以几乎任何语言编写代码。ADO.NET是.NET FrameWork SDK中用以操作数据库
4、的类库的总称。它是专门为.NET框架而设计的。ADO.NET是.NET Framework提供的数据访问技术,其主要作用是在.NET平台下访问数据源。ADO.NET相对于ADO的最大优势在于对于数据的更新修改可以在与数据源完全断开连接的情况下进行,然后再把数据更新情况传回到数据源。这样大大减少了连接过多对于数据库效劳器资源的占用。2 ADO.NET的体系结构ADO.NET提供对SQL Server等数据源以及通过OLE DB和XML公开数据源的一致的访问。数据共享使用者应用程序使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。ADO.NET技术通过数据处理将数据访问分解为多个可以单
5、独使用或者一前一后使用的不连续组建。直接处理检索到的结果,或将检索到的结果放入ADO.NET对象中,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NET DataSet对象可以独立于NET Framework数据提供程序使用,用来管理应用程序本地的数据或来自XML的数据。ADO.NET技术主要包含Connection、Command、DataReader、DataAdapter、DataSet和DataTable等6个对象:Connection对象主要提供与数据库的连接功能;Command对象用于返回数据、修改数据、运行储存过程以及发送或检索参数信
6、息的数据库命令;DataReader对象通过Command对象提供从数据库检索信息的功能。DataReader对象是以一种只读的、向前的、快速的方式访问数据库;DataAdapter对象提供连接DataSet对象和数据源的桥梁,DataAdapter对象使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并确保DataSet中数据的更改与数据源保持一致;DataSet是ADO.NET中的中心概念,它是支持ADO.NET断开式、分布式数据方案的核心对象。它是一个数据库容器,可以把它当作存在于内存中的数据库。DataSet是数据的内存驻留表示形式,无论数据源是什么,它
7、都会提供一致的数据编程模型;它可以用于多种不同的数据源,例如,用于访问XML数据,或用于管理本地应用程序的数据;DataTable对象可以理解为内存中的数据表。ADO.NET对象模型是由Connection对象提供与数据源的连接和Command对象执行数据库命令以返回修改数据,运行存储过程等组成,如图1所示。ADO.NET对象模型是ADO.NET的核心。ADO.NET对象包括连接对象和非连接对象。连接对象:直接与数据库通信,以管理连接和事务,以及从数据库检索数据和想数据库提交所做的更改。如Command类。非连接对象:关闭与数据源的连接,允许用户脱机处理数据。如DataTable类。使用ADO
8、.NET组件的目的是为了从数据操作中分解出数据访问。ADO.NET的两个核心组件会完成此任务,它们分别是DataSet和.NET Framework数据提供程序。DataSet是ADO.NET结构的核心组件,其设计目的是为了实现独立于任何数据数据源的数据访问。因此,DataSet可以用于多种不同的数据访问,用于XML数据或用于管理应用程序本地的数据。DataSet还包括一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中的数据关系信息组成。.NET Framework数据提供程序是一组包括Connection、Command、Dat
9、aReader和DataAdapter对象在内的组件,该组件的设计目的是为了实现数据操作和对数据的快速、只读访问。ADO.NET的结构图如图2所示。3 ADO.NET技术连接数据库的应用在.net架构中应用程序连接数据库时,首先要选择一个.net数据提供程序。数据提供程序包含一些类,这些类能够连接到数据源,并高效的读取数据、修改数据、操作数据和更新数据等操作。.net中提供了4中数据提供程序的连接对象。3.1 SQLConnection连接对象SQL Server .net数据提供程序的SQLConnection连接对象。需要用到的命名空间:System.Data.SQLClient,语法格式
10、如下:SQLConnection conn = new SQLConnection(“Data Source=效劳器名;Initial Catalog=数据库名;User ID=用户名;password=密码);3.2 OleDbConnection连接对象Ole Db .net数据提供程序的OleDbConnection连接对象。Ole Db数据源包含具有Ole Db驱动程序的任何数据源,如SQL Server,Access,Excel,Oracle等数据源。ole db数据源连接字符串必须提供provide属性及其值。需要用到的命名空间:System.Data.OleDb。语法格式如下:O
11、le Db连接Access数据库的语法格式:OleDbConnection con = new OleDbConnection(provider=提供者;Data Source=Access数据文件路径);Ole Db连接SQL Server2022数据库的语法格式:OleDbConnection con = new OleDbConnection(provider=OLE DB提供程序的名称;Data Source=SQL效劳器;Initial Catolog=数据库名称;Uid=用户名;Pwd=密码);3.3 OdbcConnection连接对象Odbc .net数据提供程序的OdbcCo
12、nnection连接对象。3.4 OracleConnection连接对象数据提供程序的OracleConnection连接对象。需要用到的命名空间:System.Data.OracleClient。语法格式如下:OracleConnection con = new OracleConnection(Data Source=Oracle8i;Integrated Security=yes); 4 ADO.NET的优越性ADO的主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO支持用于建立基于客户端/效劳器和Web的应用程序的主要功能。ADO.NET相比ADO最大的特点是使用了别离
13、的类和库。ADO.NET为不同数据存储区使用相互别离的库和类,而传统的数据访问技术都没有为不同数据存储区使用相互别离的库和类。ADO.NET的优越性主要表达在三个方面:(1)性能更佳。在编写ADO代码时,实际上是将ADO接口用作与数据存储区进行通信时的中介。而ADO.NET数据提供程序不涉及中间层,因此,大大提高了程序执行效率。(2)扩展性更强。XML支持基于Web的数据查看和对应用程序的操作,XML的标记不固定,可以由用户自己决定,只要符合XML标准即可。XML格式是最为彻底的数据交换格式,可以被多种操作数据接口所接受,能穿透公司防火墙,也因此,ADO.NET具有了跨平台性和良好的交互性。(
14、3)增值性。ADO.NET不仅在支持基于COM的ADO原有的Windows平台的数据,也能够访问不同平台下的数据,能够使用不同平台下的数据操作的编程接口。5 结束语ADONET提供了比ADO更具有通用性、使用更灵活的一种更适合网络计算的非连接数据处理模式,也为编程人员提供了功能更为强大的数据访问方式。总之,程序员通过微软NET软件开发平台,可以创立和使用基于XML的应用程序、进程和Web站点以及效劳,它们之间可以按设计在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。作为.NET体系架构中最重要的数据访问接口ADO.NET技术势必在软件开发环境中起到至关重要的作用
15、。参考文献:1 精英科技.ASP核心技术M.北京:中国电力出版社,2001.2 邵良杉,刘好增,马海军.ASP.NET(C#)实践教程M.北京:清华大学出版社,2022.3 王小科,王军,赵会东.C#编辑宝典M.北京:人民邮电出版社,2023.4 SIMON,ROBINSON,OLLIE,等.PROFESSIONAL C#M.康博,译.北京:清华大学出版社,2002.责任编辑:王 钊Analysis on ADO.Net TechnologyAbstract:The paper discussed the basic ideas and structure of ADO.Net and the position and function in .Net system, introduces the technical characteristics, the key of objects and methods, and describes the implementation process.Key Words: NET Framework; ADO.Net; Network Database; Database Connection