第10章 C# 数据库编程技术

10.1 数据库与 ADO.NET 概述

10.1.1 数据库概述

  1. 表、记录和字段
  2. 数据库
  3. 索引
  4. 数据表之间的关系

10.1.2 SQL 概述

  1. SQL 简介
  2. 常用 SQL 语句

10.1.3 ADO.NET 概述

Connection
连接对象
Command
命令对象
DataReader
数据读取对象,用于从数据源返回一个仅向前的只读数据流
DataAdaper
数据适配对象,自动将数据的各种操作变换到数据源相应的 SQL 语句
DataSet
临时数据库

10.1.4 ADO.NET 访问数据库的一般步骤

见图


10.2 ConnectionCommand 对象的使用

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的主要成员

属性或方法说明
ConnectionCommand对象使用的数据库连接
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的主要成员

属性或方法说明
HasRowsDataReader是否包含一行或多行
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 DataAdaperDataSet 对象的使用

10.4.1 DataAdaperDataSet 对象

DataAdaperDataSet 和数据源之间的桥接器,用于检索和保存数据。

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(数据集对象, "数据表名称字符串");

10.4.2 DataGridView 控件

10.4.3 应用实例——实现收支明细的查询

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值