
ZJWCHC 第七章 数据库编程-操作数据
ZJWCHC 第七章 数据库编程-操作数据

目标 ◆理解并使用数据集对象 ◆使用DataAdapter对象 ◆使用DataReader对象 ◆了解DataGridView控件常见的属性和方法 ◆掌握DataGridView的数据绑定 ◆掌握在DataGridView控件中插入、更新和 删除数据 ◆掌握定制DataGridView界面
2 目标 理解并使用数据集对象 使用 DataAdapter 对象 使用 DataReader对象 了解 DataGridView 控件常见的属性和方法 掌握 DataGridView 的数据绑定 掌握在 DataGridView 控件中插入、更新和 删除数据 掌握定制DataGridView界面

为什么使用DataSet对象 ◆大批量的查询、修改数据怎么办? ◆想在断开数据库连接的情况下操所数据怎么办? 使用DataSet对象 应用程序 DataSet 大量的数据 来自多个数据源 数据库 3
3 为什么使用 DataSet 对象 应用程序 大量的数据 来自多个数据源 大批量的查询、修改数据怎么办? 想在断开数据库连接的情况下操所数据怎么办? 使用 DataSet 对象 DataSet 数 据 库

什么是DataSet对象 DataSet数据集 ·简单理解为一个临时数据库 。将数据源的数据保存在内存中 驻留于内存, ·独立于任何数据库 临时存储数据 数据源 应用程序 DataSet 类似 车间的 工厂的仓库 临时仓库 生产线
4 什么是 DataSet 对象 DataSet 数据集 简单理解为一个临时数据库 将数据源的数据保存在内存中 独立于任何数据库 工厂的仓库 车间的 临时仓库 生产线 数据源 DataSet 应用程序 驻留于内存, 临时存储数据 类似

DataSet的结构2-1 DataSet的基本结构 DataSet 数据集 数据表的集合 DataTableCollection 数据表 数据列的集合 DataTable 数据行的集合 DataColumnCollection DataRowCollection 数据列 DataColumn DataRow 数据行
5 DataSet 的结构2-1 DataSet 的基本结构 DataSet DataTable DataColumnCollection DataRowCollection DataColumn DataRow DataTableCollection 数据集 数据表的集合 数据表 数据列的集合 数据行的集合 数据列 数据行

DataSet的结构2-2 DataTableCollection GradeTable 数据表集合 DataTable ClassTable 数据表 StudentTable DataColumnCollection 数据列集合 id name class sex DataColumn 数据列 小菲 女 DataRowCollection 小薇 3 女 DataRow 2 数据行集合 数据行 小强 6 男 6
6 DataSet 的结构2-2 GradeTable ClassTable StudentTable id name class sex 1 小菲 5 女 2 小薇 3 女 3 小强 6 男 DataTableCollection 数据表集合 DataTable 数据表 DataRowCollection 数据行集合 DataRow 数据行 DataColumnCollection 数据列集合 DataColumn 数据列

数据集的工作原理 请求数据 传递数据 发送数据 数据集 服务器 修改数据集 提交修改后的数据 客户端 7
7 数据集的工作原理 数据集 发送数据 修改数据集 传递数据 提交修改后的数据 请求数据 客户端

如何创建DataSet对象 ◆创建一个DataSet ·可以指定一个数据集的名称 ·如果不指定名称,则默认被设为"NewDataSet" 语法 可选的 DataSet数据集对象=new DataSet(("数据集的名称字符串"); DataSet dataSet new DataSet(); DataSet dataSet new DataSet("MySchool"); //MySchool为数据集名称
8 如何创建 DataSet 对象 创建一个 DataSet 可以指定一个数据集的名称 如果不指定名称,则默认被设为"NewDataSet" DataSet dataSet = new DataSet(); DataSet dataSet = new DataSet(“MySchool”); //MySchool为数据集名称 DataSet 数据集对象= new DataSet("数据集的名称字符串"); 可选的

数据集的类型 使用非类型化数据集 访问列 的类型 string studentName studentName dsStudents.Tables["Stu"].Rows[0]["StuName"]; 山。O。點坦生hO,主山丝 使用Tables集合返回StuName列 它是 储在studentName字符串变量中 合的形式 了基类DataSet的所有 公开,而不能用于借助 方法、事件和属性 XML结构文件派生新类
9 数据集的类型 数据集的类型 类型化数据集 非类型化数据集 它是一个生成类,继承 了基类 DataSet 的所有 方法、事件和属性 表和列只能以集合的形式 公开,而不能用于借助 XML 结构文件派生新类 使用类型化数据集 访问列 string studentName; studentName = dsStudents.Stu[0].StuName; 从 dsStudents 数据集的 Stu 表中第一 个记录返回 StuName 列,然后将其存 储在 studentName 字符串变量中 使用非类型化数据集 访问列 string studentName; studentName = dsStudents.Tables[“Stu"].Rows[0][“StuName"]; 使用 Tables 集合返回 StuName 列

使用C#代码创建数据集 ◆数据集实例是由DataSet构造函数创建的 ◆数据集的名称是可选的,不需要指定 ◆如果没有指定名称,则以默认名称NewDataSet创建 数据集 DataSet stuDS new DataSet("StudentDetails"); 属性 说明 DataSetName 用于获取或设置当前数据集的名称 Tables 用于检索数据集中包含的表集合 方法 说明 Clear 清除数据集中包含的所有表的所有行 HasChanges 返回一个布尔值,指示数据集是否更改了 10
10 使用 C# 代码创建数据集 数据集实例是由 DataSet 构造函数创建的 数据集的名称是可选的,不需要指定 如果没有指定名称,则以默认名称 NewDataSet 创建 数据集 属性 说明 DataSetName 用于获取或设置当前数据集的名称 Tables 用于检索数据集中包含的表集合 方法 说明 Clear 清除数据集中包含的所有表的所有行 HasChanges 返回一个布尔值,指示数据集是否更改了 DataSet stuDS = new DataSet(“StudentDetails");