一、 ADO.NET概述
概述:
ADO.NET是微软公司提供的一款全新的数据库访问技术,是在.NET Framework中负责数据访问的类库集;
可以将ADO.NET比喻为数据库应用程序和数据源之间的桥梁,提供了一个面向对象的数据访问架构;
优势:
可以在数据源完全断开连接的情况下,对数据进行更新修改,再将数据的更新情况返回至数据源。这样可以减少由于数据库连接过多而引起服务器资源被占用的情况。
二、 ADO.NET体系结构
在ADO.NET中,用于访问和操作数据库的两种主要组件:.NET Framework数据提供程序、数据集DataSet;
1,.NET Framework数据提供程序
是专为数据操作设计的组件,用于处理不同的数据源,支持访问特定数据库、执行SQl命令和检索结果;
它为不同的数据提供程序对象,其中主要的三类如下:
它还包含了4个核心对象:
2,数据集DataSet
是用于在内存中缓存来自数据源的数据的一个类,包含一个或多个DataTable对象的集合
三、 ADO.NET 操作数据库的方式
ADO.NET提供两种方式访问数据库,分别是:“非断开式访问”和“断开式访问”
两者的区别:
“非断开式访问”在整个操作过程中需要保持数据库连接;
“断开式访问”只需要在执行数据库命令时保持数据库连接。
1, 使用Connection对象、Command对象和DataReader对象实现非断开式访问数据库;步骤如下:
1) 对数据库进行更改(如Insert, Update和Delete)或执行聚合函数
a) 创建数据库连接对象Connection,并打开连接;
b) 创建命令对象Command;
c) 执行相应的SQl命令(Insert, Update, Delete或聚合函数);
d) 关闭数据库连接。
2) 查询数据库(Select)
a) 创建数据库连接对象Connection,并打开连接;
b) 创建命令对象Command;
c) 执行Select查询命令,获取DataReader对象;
d) 使用while循环读取DataReader中的数据;
e) 关闭DataReader对象;
f) 关闭数据库连接。
2, 使用Connection对象、DataAdapter对象和DataSet对象实现断开式访问数据库;步骤如下:
a) 创建数据库连接对象Connection;
b) 创建数据适配对象DataAdapter,指定Select命令和Connection对象;
c) 创建数据集DataSet对象,用于在内存中缓存数据;
d) 使用DataAdapter对象将查询到的数据填充至DataSet数据集中;
e) 更新DataSet中的数据;
f) 使用DataAdapter对象将DataSet对象中的数据回传至数据库中。
g) 注意:创建数据库连接对象Connection,并打开连接;
h) 创建命令对象Command;
i) 执行Select查询命令,获取DataReader对象;
j) 使用while循环读取DataReader中的数据;
k) 关闭DataReader对象;
l) 关闭数据库连接。
注意:在使用ADO.NET访问数据库时,数据库连接使用之后应尽早关闭,释放连接对象。
四、 Connection对象
Connection对象用于连接数据库;
注意:在连接数据库时,要根据使用的数据库类型,引入不同的命名空间,然后创建对应的数据库连接对象。
例如:使用SqlServer数据库,需要导入System.Data.SqlClient命名空间,创建SqlConnection对象。
Connection对象的常见属性,如下
State属性时ConnectionState枚举类型,包含如下6种状态
Connection对象的常用方法
Connection对象的语法
Server = 服务器名; database = 数据库名; Integrated Security = true;
使用案例:
//导入命名空间
usring System.Data.SqlClient;
//定义数据库连接字符串
//其中server = (local) 或者localhost【效果相同】
string connString = “server = .; database = 3CDB; Integrated Security = “true”;
//创建连接对象
SqlConnection conn = new SqlConnection(connString);
//打开数据库连接
conn.Open();