前言:
在学习过程中我们一遍又一遍的听说一个名词—“ADO.NET"。那么ADO.NET是什么呢?它又有什么作用呢?一些列的问题,困扰了很久。终于下定决心去查一下。
什么是ADO.NET
ADO.NET 名称起源于ADO(AxtioveX Data Objects),是一个COM组件库,它是.net编程环境中有限使用的数据访问接口。
ADO.NET的架构
传统的资料处理主要是依赖相互连接的双层式模型。随着资料处理朝多层架构发展,程式设计人员也逐渐改用中断连接的方式,使应用程序更具有延展性.
ADO.NET3.0中用于存取和管理资料的两个主要元件是.NET Framework资料提供者和DataSet.
在北大青鸟的例子中曾经多次遇到过DataSet。后续了解 还需要继续学习。
ADO.NET的作用:
它提供了平台互用性和可伸缩的数据访问,ADO .NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。
ado.net是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
ado.net允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过NET的ADO .NET类库来进行连接。
ado.net提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。[2]
ado.net是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,开发人员将使用相似的对象与数据源进行交互。 SqlConnection对象管理与数据源的连接。SqlCommand对象允许开发人员与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。
ADO.NET中的类库:
Connection 类
和数据库交互,必须连接它。结合我们曾经做过的项目,早在vb版的学生信息管理系统就已经用过。我们必须通过connection类指明数据库服务器,数据库的名字、用户名、密码和连接数据库所需要的其他参数。
<span style="font-family:KaiTi_GB2312;font-size:18px;color:#666666;">Public Function ConnectString() As String
ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD=1"
End Function</span>
与数据库交互的过程以为这必须指明想要执行的操作。这是依靠Command对象执行的。开发人员使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出哪个与数据源进行连接。开发人员能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给DataAdapter。
Command对象
成功与数据库建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader() 方法,ExecuteScalar()方法和ExecuteNoQuery()方法。这个在我们的机房收费系统和牛腩新闻发布系统都有用到。
DataReader类
DataReader对象只允许以只读、顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看模式,同时DataReader对象还是一种非常节省资源的数据对象。它可以通过Command对象和ExecuteReader方法从数据源中检索数据来创建。
DataSet对象
DataSet支持多表、表间关系、数据约束等,和关系数据库的模型基本一致。
DataSet有三大特性如下:
(1) 独立性。DataSet独立于各种数据源。
(2) 离线(断开)和连接。
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
DataSet的使用方法:
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。
(2) 通过DataAdapter对象操作DataSet实现更新数据库。
(3) 把XML数据流或文本加载到DataSet。
DataAdapter类
在我理解起来DataAdapter类其实就是.NET 为了满足DataSet能够与数据源交互而提供的类。使用DataAdapter我们需要引用程序集system.data。其实DataAdapter就像DataSet和数据源之间用于建松和保存数据的桥梁。
DataTable类
这个类我们已经非常熟悉了。就不多做介绍。
总结:
通过对ADO.NET的总结,系统的了解了ADO.NET的知识。对以后的编程有了更深入的了解。只有知其然才能知其所以然。ADO.NET值得我们继续去学习。