ADO.NET是.NET Framework中用以操作数据库的类库的总称。ADO.NET 是专门为.NET 框架而设计的,是一组向.NET 程序员员公开数据访问的类。
一、命名空间
ADO.NET是围绕System.Data 基本名称空间设计,其他名称空间都是从System.Data派生而来。它们使得ADO.Net不仅访问DataBase中的数据,而且可以访问支持OLEDB的数据源。当在VB.net中使用ADO.NET时,必须引用System.Data名称空间,并取决于选择哪一个管理程序。例如:要使用SQL管理支持程序访问数据,在代码中需要使用。
Imports System.Data
Imports System.Data.SQLClient
二、特点和 ADO关系
关于ADO.NET 和ADO的区别,在周洲同学的博客中已经做了很好的比较。因为当初自己也没有好好总结,所以这里就再次学习一下ADO.Net 。
特点:
1)互操作性:用不同的开发的组件可以通过数据存储进行通信。
2)性能:在ADO.Net中的数据存储是用XML格式传递的,不需要数据类型转化过 程,提高了访问效率;而在早期的ADO中,是借助于COM组件使用记录集传 送数据时,记录集中的数据必须转化为COM组件。
3)标准化:数据统一
4)可编程化:可以使用多种语言进行编程。
ADO.NET相对于ADO的最大的优势在于对数据的更新修改可以在与数据源完全断开连接的情况下进行,然后再把数据更新情况传回到数据源,这样大大减少了连接过多对于服务器资源的占用。
三、ADO.NET 数据库连接对象
为适应数据库应用程序的开发,Net Framework数据提供程序包含了4个核心的对象,AOD.Net 首先用Connection对象在web页面和数据库之间建立连接,然后通过Commands向数据库提供者发出操作命令,使操作结果以流数据的形式返回连接,再通过DataReader快速的读取数据,保存数据到DataSet对象,最后DataSetCommand对象对数据进行集中访问。
ADO.NET核心对象之间的关系:
1、connection对象
功能:提供与数据库连接。.NET框架提供了两个connections对象:SQLConnection和OleDbconnection。应用Connection对象时,先用Connection对象建立连接,然后调用Open方法打开,通常建立连接时候,要提供一些信息,如数据库所在的位置、数据库名称、用户账号和密码。Connection对象提供了一些常用的属性来进行此类的设置此属性。
OleDbconnection 的链接字符串有以下几个属性和方法。
一旦用上面的方法初始化了一个连接对象,就可以调用类的任何一个方法来操作数据。其中打开和关闭是任何操作的基本环节
2.Command 对象
主要方法和属性如下表:
当连接到数据库后,可以使用command对象对数据库进行操作,如进行数据增删改查等。一个命令(command)可以用典型的SQL语句来表达,包括执行选择查询(Select Qusery)来返回记录集,执行行动查询(Action Query)来更新数据库的记录。
1、Execute方法:
ExecuteReader:可以从数据中获取一个只读、向前的数据流,这个对象除了读数据以外,不做其他任何数据库操作。在创建了command对象后,可以通过调用command.executeReader来创建DataReader对象,来获取数据源中的数据。
ExecuteScalar:用于返回一个单元值。
ExecuteNoQuery:用于执行不返回行的命令,它常常包括输出参数和返回值的可存储的过程。
我们在使用的时候,使用sqlCommand对象的EXecuteReader 方法执行查询,该方法返回一个sqlDataReader对象,然后通过DataReader对象的read 方法获取查询结果的某一行,通过传递列名或序列号(序列号从0开始)返回行中的每一列。DataReader对象提供了一系列方法来存取当前数据类型的列值。如GetDateTime、GetDouble和GetInt32等。
2、其他属性:
commandType.Text代表执行的是SQL语句CommandType.StoreProcedure代表执行的是存储过程
CommandType代表要执行的类型DataAdapter是为将查询结果存储到DataSet对象和DataTable对象中而设计的。
小结:
这些都是数据库操作的基础的知识,尤其是在我们三层中的DAL层,十分的常用。熟悉他们,在重构机房的时候,才能够解除更多的疑惑,更加的顺利。