用 DataGridView 显示和操作数据库

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
31
总结
ADO.NET 的两大组成部分是什么? .NET 数据提供程序包括哪几个核心对象? 每个核心对象的作用是什么?
32
33

没有类型转换 (string)dataReader[0];
2
预习检查
DataSet 对象的作用是什么? DataAdapter 对象的作用是什么? DataGridView 控件的作用是什么?
3
本章任务
MySchool 系统的用户管理模块
– 实现批量查看和修改教员信息功能 – 实现批量查看,筛选和修改学员信息功能
17
保存 DataSet 中的数据
步骤:
1
自动生成用于更新的相关命令 SqlCommandBuilder builder = new SqlCommandBuilder(已创建的 已创建的DataAdapter对象 对象); 已创建的 对象
2
将 DataSet 的数据提交到数据源 DataAdapter对象 Update(数据集对象 "数据表名称字符串 对象. 数据集对象, 数据表名称字符串"); 对象 数据集对象 数据表名称字符串
如何将数据库的数据放在 DataSet 中?
DataSet 数据集
DataAdapter 数据适配器
数据库
DataSet 数据集
数据库
Connection 数据库连接
12
DataAdapter 对象
不同命名空间的 DataAdapter 对象
命名空间 System.Data.SqlClient System.Data.OleDb System.Data.Odbc System.Data.OracleClient 对应的 DataAdapter 对象 SqlDataAdapter OleDbDataAdapter OdbcDataAdapter OracleDataAdapter
new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet, "Teacher");
演示示例3: 演示示例 :通过 DataGridView 修改数据
28
小结
使用 DataGridView 的什么属性指定数据 源? 在示例3中增加"刷新"按钮,实现刷新 功能 查看源代码
4
本章目标
了解数据集(DataSet)的结构 会使用数据适配器填充数据集 会使用数据适配器将数据集的修改 提交到数据库 掌握 DataGridView 控件的使用
5
为什么使用 DataSet 对象
大批量的查询,修改数据怎么办? 想在断开数据库连接的情况下操所数据怎么 使用 DataSet 对象 办?
29
综合示例
MySchool 学员信息的批量查看和修改功能 按照性别筛选显示的数据 批量查看和修改——使用 DataSet 填充数据集,更新数据库——使用 DataAdapter 演示示例4: 演示示例 :演示批量查看和修改学员功能 显示数据——使用 DataGridView
30
ADO.NET 小结
16
SqlCommandBuilder 对象
利用 SqlCommandBuilder 对象能够自动生 成:
– INSERT 命令 – UPDATE 命令 – DELETE 命令
SqlCommandBuilder builder = new SqlCommandBuilder(已创建的 已创建的DataAdapter对象 对象); 已创建的 对象
DataGridView 控件
强大而灵活地显示数据 轻松定义控件外观 表格一样方便 像 Excel 表格一样方便 一行代码实现数据绑定 一行代码实现数据绑定 可视化操作 可视化操作
22
使用 DataGridView 显示数据
示例1 已经填充了 DataSet ,如何在窗 体中显示教师信息?
使用 DataGridView 显示数据 指定 DataGridView 的数据源—— DataSource 属性
// 当点击"刷新"按钮时,重新填充数据集 当点击"刷新"按钮时, private void btnReFill_Click(object sender, EventArgs e) { dataSet.Tables["Teacher"].Clear(); // 清空原来的数据 dataAdapter.Fill(dataSet, "Teacher"); // 填充数据集 }
可选的Fra Baidu bibliotek
DataSet 数据集对象 = new DataSet("数据集的名称字符串 数据集的名称字符串"); 数据集的名称字符串
DataSet dataSet = new DataSet(); DataSet dataSet = new DataSet("MySchool");
11
为什么使用 DataAdapter
ExecuteNonQuery() 应用程序 ExecuteScalar() DataSet
内存
Fill() Update()
Read() ExecuteReader() Command 对象 DataReader 对象
DataAdapter 对象
Connection 对象
.NET 数据提供程序
数 据 库
2
填充 DataSet DataAdapter对象 Fill(数据集对象 "数据表名称字符串 对象. 数据集对象, 数据表名称字符串"); 对象 数据集对象 数据表名称字符串
演示示例1:查看教师信息窗体 填充数据集, 演示示例 :查看教师信息窗体——填充数据集,打印部分内容 填充数据集
15
如何保存 DataSet 中的数据
生产线
7
DataSet 的结构2-1
DataSet 的基本结构 数据集 DataSet 数据表的集合 DataTableCollection 数据列的集合 DataTable 数据表
数据行的集合
DataColumnCollection 数据列 DataColumn
DataRowCollection DataRow 数据行
属性 DataPropertyName HeaderText Visible Frozen ReadOnly 说明 绑定的数据列的名称 列标题文本 指定列是否可见 指定水平滚动DataGridView时列是否 移动 指定单元格是否为只读
26
通过 DataGridView 修改数据
把修改过的教师信息保存到数据库
使用 DataAdapter 的 Update() 方法
注意: 注意:将 DataGridView 和相应列的 ReadOnly 属性设为 False
27
通过 DataGridView 修改数据
实现步骤:
– 处理"保存修改"按钮的 Click 事件 – 编写事件处理程序 = SqlCommandBuilder builder
24
DataGridView 控件重要属性
DataGridView 的重要属性
属性 Columns DataSource ReadOnly 说明 包含的列的集合 DataGridView 的数据源 是否可以编辑单元格
在其中编辑 DataGridView 列的属性
25
列的主要属性小结
DataGridView 中各列的主要属性
5 3 6
女 女 男
DataRow 数据行
DataRowCollection 数据行集合
2 3
9
数据集的工作原理
请求数据
传递数据
发送数据
数据集
修改数据集 客户端 提交修改后的数据
10
如何创建 DataSet 对象
创建一个 DataSet
– 可以指定一个数据集的名称 – 如果不指定名称,则默认被设为 "NewDataSet"
8
DataSet 的结构2-2
DataTableCollection 数据表集合 GradeTable ClassTable StudentTable DataColumnCollection 数据列集合 DataTable 数据表
id 1
name
class
sex
DataColumn 数据列
小菲 小薇 小强
23
使用 DataGridView 显示数据
实现步骤:
– 添加窗体的控件 – 设置 DataGridView 控件和其中各列的属性 dgvTeacher.DataSource = dataSet.Tables["Teacher"]; – 设置 DataSource 属性,指定数据源
演示示例2: 演示示例 :使用 DataGridView 显示数据
把数据集中修改过的数据提交到数据源
DataSet 数据集
Connection DataAdapter 的 Update() 方法
数据库
dataAdapter.Update(dataSet,"Teacher");
调用前, 调用前,要先设置更新需要的相关命令 可以使用 SqlCommandBuilder 对象
应用程序 大量的数据 来自多个数据源
DataSet
数 据 库
6
什么是 DataSet 对象
DataSet 数据集
– 简单理解为一个临时数据库 驻留于内存, 驻留于内存, – 将数据源的数据保存在内存中 临时存储数据 – 独立于任何数据库
数据源 DataSet
应用程序
类似的关系
工厂的仓库
车间的 临时仓库
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,"Teacher");
18
DataAdapter 对象小结
DataAdapter 的主要属性和方法
属性 SelectCommand 方法 Fill Update 说明 从数据库检索数据的 Command 对象 说明 向 DataSet 中的表填充数据 将 DataSet 中的数据提交到数 据库
13
如何填充数据集
使用 DataAdapter 对象填充数据集
DataAdapter 的 Fill() 方法
DataSet 数据集
Connection
数据库
使用 Connection 连接数据源
方法填充 使用 Fill() 方法填充 DataSet 中的表
14
填充数据集
1
创建 SqlDataAdapter 对象 SqlDataAdapter 对象名 = new SqlDataAdapter(查询用 语句 数据库连接 查询用sql语句 查询用 语句, 数据库连接);
用 DataGridView 显 示和操作数据库
回顾
// command 是一个有效的 Command 对象 SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.HasRows) 缺少 { dataReader.Read(); studentName= dataReader[0]; } dataReader.Close();
19
小结
DataAdapter 的作用是什么? 使用什么方法填充 DataSet ? 使用什么方法将 DataSet 中数据提交到 数据库?
20
为什么使用 DataGridView
怎样显示 DataSet 中的数据呢?
使用 DataGridView
数 据 集
21
DataGridView 控件
相关文档
最新文档