TP8V1.09

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章
用 DataGridView 显示和操作数据库
回顾
// command 是一个有效的 Command 对象 SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.HasRows) 缺少 { dataReader.Read(); studentName= dataReader[0]; } dataReader.Close();
DataRow 数据行
数据集的工作原理
请求数据
传递数据
发送数据
数据集
修改数据集
客户端 提交修改后的数据
如何创建 DataSet 对象
创建一个 DataSet
可以指定一个数据集的名称 如果不指定名称,则默认被设为"NewDataSet"
可选的 DataSet 数据集对象 = new DataSet("数据集的名称字符串");
DataAdapter 对象小结
DataAdapter 的主要属性和方法
属性
SelectCommand
说明
从数据库检索数据的 Command 对象
方法
Fill Update
说明
向 DataSet 中的表填充数据 将 DataSet 中的数据提交到数据库
小结
DataAdapter 的作用是什么? 使用什么方法填充 DataSet ? 使用什么方法将 DataSet 中数据提交到数据库?
SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);
保存 DataSet 中的数据
步骤:
1
自动生成用于更新的相关命令 SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);
综合示例
MySchool 学员信息的批量查看和修改功能 按照性别筛选显示的数据
批量查看和修改——使用 DataSet 填充数据集、更新数据库——使用 DataAdapter 显示数据——使用 DataGridView
演示示例4:演示批量查看和修改学员功能
小结
ExecuteNonQuery() DataSet 应用程序 ExecuteScalar()
示例1 已经填充了 DataSet ,如何在窗体中显示教师 信息?
使用 DataGridView 显示数据 指定 DataGridView 的数据源——DataSource 属性
使用 DataGridView 显示数据
实现步骤:
添加窗体的控件 设置 DataGridView 控件和其中各列的属性 设置 DataSource 属性,指定数据源
数据库
Connection 数据库连接
DataAdapter 对象
不同命名空间的 DataAdapter 对象
命名空间 System.Data.SqlClient System.Data.OleDb System.Data.Odbc System.Data.OracleClient 对应的 DataAdapter 对象 SqlDataAdapter OleDbDataAdapter OdbcDataAdapter OracleDataAdapter
DataSet
数 据 库
什么是 DataSet 对象
DataSet 数据集
简单理解为一个临时数据库 将数据源的数据保存在内存中 独立于任何数据库
驻留于内存, 临时存储数据
数据源
DataSet
应用程序
类似的关系
工厂的仓库
车间的 临时仓库
生产线
DataSet 的结构2-1
DataSet 的基本结构 数据集
本章目标
了解数据集(DataSet)的结构 会使用数据适配器填充数据集 会使用数据适配器将数据集的修改提交到数据库 掌握 DataGridView 控件的使用
为什么使用 DataSet 对象
大批量的查询、修改数据怎么办? 想在断开数据库连接的情况下操所数据怎么办?
使用 DataSet 对象
应用程序 大量的数据 来自多个数据源
在其中编辑 DataGridView 列的属性
列的主要属性小结
DataGridView 中各列的主要属性
属性 DataPropertyName HeaderText Visible Frozen ReadOnly 说明 绑定的数据列的名称 列标题文本 指定列是否可见 指定水平滚动DataGridView时列是否移动 指定单元格是否为只读
GradeTable ClassTable StudentTable
DataTable 数据表
DataColumnCollection 数据列集合
id 1
name 小菲 小薇 小强
class sex 5 3 6 女 女 男
DataColumn 数据列
DataRowCollection 数据行集合
2 3
如何填充数据集
使用 DataAdapter 对象填充数据集
DataAdapter 的 Fill() 方法
DataSet 数据集
Connection
数据库
使用 Connection 连接数据源
使用 Fill() 方法填充 DataSet 中的表
填充数据集
1
创建 SqlDataAdapter 对象 SqlDataAdapter 对象名 = new SqlDataAdapter(查询用sql语句, 数据库连接);
数据库
dataAdapter.Update(dataSet,"Teacher");
调用前,要先设置更新需要的相关命令 可以使用 SqlCommandBuilder 对象
SqlCommandBuilder 对象
利用 SqlCommandBuilder 对象能够自动生成:
INSERT 命令 UPDATE 命令 DELETE 命令
DataSet
数据表的集合
DataTableCollection
数据列的集合
数据表
DataTable
数据行的集合
DataColumnCollection
数据列 DataColumn
DataRowCollection DataRow
数据行
DataSet 的结构2-2
DataTableCollection 数据表集合
dgvTeacher.DataSource = dataSet.Tables["Teacher"];

演示示例2:使用 DataGridView 显示数据
DataGridView 控件重要属性
DataGridView 的重要属性
属性 Columns DataSource ReadOnly 说明 包含的列的集合 DataGridView 的数据源 是否可以编辑单元格
2
填充 DataSet DataAdapter对象. Fill(数据集对象, "数据表名称字符串");
演示示例1:查看教师信息窗体——填充数据集,打印部分内容
如何保存 DataSet 中的数据
把数据集中修改过的数据提交到数据源
DataSet 数据集
Connection DataAdapter 的 Update() 方法
没有类型转换 (string)dataReader[0];
预习检查
DataSet 对象的作用是什么? DataAdapter 对象的作用是什么? DataGridView 控件的作用是什么?
本章任务
MySchool 系统的用户管理模块
实现批量查看和修改教员信息功能 实现批量查看、筛选和修改学员信息功能
DataSet dataSet = new DataSet(); DataSet dataSet = new DataSet("MySchool");
为什么使用 DataAdapter
如何将数据库的数据放在 DataSet 中?
DataSet 数据集
DataAdapter 数据适配器
数据库
DataSet 数据集
Thank you
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet, "Teacher");
演示示例3:通过 DataGridView 修改数据
小结
使用 DataGridView 的什么属性指定数据源?
通过 DataGridView 修改数据
把修改过的教师信息保存到数据库
使用 DataAdapter 的 Update() 方法
注意:将 DataGridView 和相应列的 ReadOnly 属性设为 False
通过 DataGridView 修改数据
实现步骤:
处理“保存修改”按钮的 Click 事件 编写事件处理程序
2
将 DataSet 的数据提交到数据源 DataAdapter对象. Update(数据集对象, "数据表名称字符串");
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,"Teacher");
内存
Fill() Update()
Read() ExecuteReader()
Command 对象
DataReader 对象
DataAdapter 对象
Connection 对象
.NET 数据提供程序
数 据 库
总结
的两大组成部分是什么? .NET 数据提供程序包括哪几个核心对象? 每个核心对象的作用是什么?
在示例3中增加“刷新”按钮,实现刷新功能
查看源代码
// 当点击“刷新”按钮时,重新填充数据集 private void btnReFill_Click(object sender, EventArgs e) { dataSet.Tables["Teacher"].Clear(); // 清空原来的数据 dataAdapter.Fill(dataSet, "Teacher"); // 填充数据集 }
为什么使用 DataGridView
怎样显示 DataSet 中的数据呢?
使用 DataGridView
数 据 集
DataGridView 控件
DataGridView 控件
强大而灵活地显示数据 轻松定义控件外观 像 Excel 表格一样方便 一行代码实现数据绑定
可视化操作
使用 DataGridView 显示数据
相关文档
最新文档