一、ADO.NET是微软公司提供的一款全新的数据库访问技术,是在.NET Framework中负责数据访问的类库集。它用于支持对Microsoft SQL Server和XML等数据源进行访问。可以将ADO.NET比喻为数据库应用程序和数据源之间的桥梁,它提供了一个面向对象的数据访问架构。
二、.NET Framework数据提供程序包括4个核心对象:
Connection 建立与特定数据源的连接
Command 对数据源执行命令
DataReader 从数据源中读取只进只读的数据流
DataAdapter 使用数据源填充DataSet并支持更新
三、ADO.NET提供两种方式访问数据库,分别为“非断开式访问”和“断开式访问”。两者的区别在于“非断开式访问”在整个操作过程中需要保持数据库连接,而“断开式访问”只需要在执行数据库命令数据命令时保持数据库连接,而“断开式访问”只需要在执行数据库命令时保持数据库连接。
四、使用connection对象,command对象和datareader对象实现非断开式访问数据库
具体操作步骤如下:
1.对数据库进行更改(如insert、update和delete)或执行聚合函数
①创建数据库连接对象connection,并打开连接
②创建命令对象command
③执行相应的sql命令(如insert、update和delete或执行聚合函数)
④关闭数据库连接
2.查询数据库(select)
①创建数据库连接对象connection,并打开连接
②创建命令对象command
③执行select命令,获取datareader对象
④使用while循环读取datareader中的数据
⑤关闭datareader对象
⑥关闭数据库连接
3.使用connection对象、dataAdapter对象和dataSet对象实现断开式访问数据库
具体操作步骤如下:
①创建数据库连接对象connection
②创建数据适配对象dataAdapter,指定Select命令和Connection对象
③创建数据集DataSet对象,用于在内存中缓存数据
④使用dataAdapter对象将查询到的数据填充至DataSet数据集中
⑤更新DataSet中数据
⑥使用dataAdapter对象将DataSet对象中的数据回传至数据中。
2.2
一、Connection对象用于连接数据库
注:使用微软的SQL Server数据库,需要导入System.Data.SQLClient命名空间,创建SqlConnection对象
Connection对象的常用属性:
ConnectionString 用于连接数据库字符串
State 用于指示连接对象的状态,枚举类型
Connection对象的常用方法:
Open() 打开数据库连接
Close()关闭数据库连接
二、使用Connection对象连接数据库步骤:
1.设置连接字符串
①SQL Server身份验证连接字符串,语法:
server=服务器名;database=数据库名;uid=用户名;pwd=密码;
②Windows身份验证连接字符串,语法:
server=服务器名;database=数据库名;Integrated Security=true;
2。导入命名空间
using System.Data;
using System.Data.SqlClient;
3.创建Connection对象,语法:
SqlConnection 连接对象名=new SQLConnection(“连接字符串”)
4.打开连接:
连接对象名.Open();
5.关闭连接:
连接对象名.Close();
2.3 Command对象
一、Command对象用于执行sql命令,对数据库中的数据进行增删改查和执行聚合函数。
Command对象的常用属性:
CommandText 获取或设置对数据库执行的T-SQL命令
Connection 获取或设置连接数据库的Connection对象
Command对象的常用方法:
ExecuteNonQuery 执行T-SQL语句,并返回受影响的行数
ExecuteReader 执行查询命令,并返回DataReader对象
ExecuteSclar 执行查询命令,返回结果集中首行首列的值
二、使用Command对象执行命令
①创建Connection对象
②打开数据库连接
③定义需要执行的增删改SQL语句,存入字符串变量
④创建Command对象
SqlConnection 命令对象名=new SqlConnection(“SQL语句”,Connection对象)
⑤执行SQL语句,返回受影响的行数
Int 受影响的行数=命令对象名.ExecuteNonQuery();
⑥关闭连接
2.4 DataReader对象
一、DataReader对象是数据读取对象,它提供了一个只读只进的数据读取器,用于查询结果中读取数据,它每次只能读取一行数据,并且在读取过程中,必须保持连接处于打开状态
DataReader对象的常用属性:
FieldCount 获取每行数据的列数
HasRows 指示查询结果中是否还存在未读取的数据,Bool类型
DataReader对象的常用方法:
Read 使DataReader前进到下一条记录,如果下一条有记录,则返回true,否则返回false
Close 关闭DataReader对象
GetName 获取指定列的名称
二、使用DataReader对象读取查询的结果
①创建数据库连接对象Connection
②打开数据库连接
③定义用于查询sql语句
④创建命令对象Command
⑤执行sql命令,返回DataReader对象
SqlDataReader 数据读取对象=命令对象.ExecuteReader();
⑥使用循环,逐行读取数据
While(数据读取对象.Read()){
Object 某列的值=数据读取对象[“索引名或列名”];
}
⑦关闭DataReader对象
数据读取对象.Close();
⑧关闭连接对象
三、使用Command对象执行聚合函数
①创建Connection对象
②打开数据库连接
③定义需要执行的sql语句
④创建Command对象
⑤执行sql语句,返回结果集的首行首列
Object 结果集中首行首列的值=命令对象.ExecuteScalar();
⑥关闭数据库