10.1 数据库与 ADO.NET
概述
10.1.1 数据库概述
- 表、记录和字段
- 数据库
- 索引
- 数据表之间的关系
10.1.2 SQL
概述
- SQL 简介
- 常用 SQL 语句
10.1.3 ADO.NET
概述
- 连接对象
- 命令对象
- 数据读取对象,用于从数据源返回一个仅向前的只读数据流
- 数据适配对象,自动将数据的各种操作变换到数据源相应的 SQL 语句
- 临时数据库
Connection
Command
DataReader
DataAdaper
DataSet
10.1.4 ADO.NET
访问数据库的一般步骤
见图
10.2 Connection
与 Command
对象的使用
10.2.1 Connection
对象
属性或方法 | 说明 |
---|---|
ConnectionString | 连接字符串 |
Open() | 打开数据库连接 |
Close() | 关闭数据库连接 |
一般步骤
1
. 定义连接字符串
SQL Server 身份验证
string constring = "Data Source = 服务器名;Initial Catalog = 数据库名;User ID = 用户名; Pwd = 密码;"
Windows 身份验证
string constring = "Data Source = 服务器名;Initial Catalog = 数据库名;Integrated Security = True;"
2
. 创建Connection
对象
SqlConnection conn = new SqlConnection(constring);
3
. 打开与数据库的连接
conn.Open();
4
. 使用该连接
..............
5
. 关闭与数据库的连接
conn.Close();
10.2.2 Command
对象
Command
用于封装和执行 SQL
命令并从数据源中返回结果,命令对象的 CommandText
属性用来保存最终由数据库管理系统执行的 SQL
语句。
Command的主要成员
属性或方法 | 说明 |
---|---|
Connection | Command对象使用的数据库连接 |
CommandText | 执行的 SQL 语句 |
ExecuteNonQuery | 执行不返回的语句,如update 等,执行后返回受影响的行数 |
ExecuteReader() | 返回DataReader对象 |
ExecuteScalar() | 执行查询并返回查询结果的第一行第一列 |
一般步骤
1. 创建数据库连接
2. 定义 SQL
语句
3. 创建 Command
对象
SqlCommand comm = new SqlCommand(SQL 语句, 数据库连接对象);
或
SqlCommand comm = new SqlCommand();
comm.Connection = 数据库连接对象;
comm.CommandText = "SQL 语句";
4
. 执行命令
10.2.3 应用实例——实现用户登录
10.2.4 应用实例——实现收支类别的添加
10.3 DataReader
对象的使用
10.3.1 DataReader
对象
DataReader
提供从一种数据库只向前读取行的方式。
DataReader的主要成员
属性或方法 | 说明 |
---|---|
HasRows | DataReader 是否包含一行或多行 |
Read() | 前进道下一行记录,如果有返回true ,否则返回false |
Close() | 关闭 DataReader 对象 |
一般步骤
1
. 创建 Command
对象
2
. 调用 Command
对象的 ExecuteReader()
方法创建 DataReader
对象
SqlDataReader dr = Command 对象.ExecuteReader();
注意:DataReader是抽象类!
3
. 调用 DataReader
对象的 Reader()
方法逐行读取数据
while(dr.Read())
{
// 读取某列数据
}
4
. 读取某列的值,可以指定列的索引,也可以指定列名
(数据类型)dr[索引或列名]
5
. 关闭 DataReader
对象
dr.Close();
10.3.2 应用实例——实现收支项目的添加
10.3.3 应用实例——实现收支明细的添加
10.4 DataAdaper
与 DataSet
对象的使用
10.4.1 DataAdaper
与 DataSet
对象
DataAdaper
是 DataSet
和数据源之间的桥接器,用于检索和保存数据。
DataSet 数据集对象 = new DataSet("数据集的名称字符串");
DataSet dst = new DataSet();
DataSet dst = new DataSet("MyData");
DataAdaper的主要成员
属性或方法 | 说明 |
---|---|
SelectCommand | |
InsertCommand | |
UpdateCommand | |
DeleteCommand | |
Fill() | 向 DataSet 填充数据 |
Update() |
使用 DataAdaper
对象填充数据集时,先使用 Connection
连接数据源,然后使用 Fill()
方法填充 DataSet
中的表。
1
. 创建 SqlDataAdapter
对象
SqlDataAdapter 对象名 = new SqlDataAdapter(SQL 语句, 数据库连接);
2
. 填充 DataSet
DataAdaper 对象.Fill(数据集对象, “数据表名”);
把数据集中修改过的数据提交到数据源
1
. 自动生成勇于更新的相关命令
SqlCommandBuilder builder = new SqlCommandBuilder(DataAdaper对象);
2
. 将 DataSet
的数据提交到数据源
DataAdaper 对象.Update(数据集对象, "数据表名称字符串");