《- 3用 DataGridView 显示和操作数据库 [兼容模式].pdf》由会员分享,可在线阅读,更多相关《- 3用 DataGridView 显示和操作数据库 [兼容模式].pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章:用用DataGridView显示 显示 和操作数据库 和操作数据库 马瑞新马瑞新teacher_回顾回顾/command是一个有效的是一个有效的 Command对象对象SqlDataReaderdataReader=command.ExecuteReader()if(dataReader.HasRows)studentName=dataReader0dataReader.Close()缺少缺少dataReader.Read()没有类型转换没有类型转换(string)dataReader0预习检查预习检查DataSet对象的作用是什么对象的作用是什么?DataAdapter对象的作
2、用是什么对象的作用是什么?DataGridView控件的作用是什么控件的作用是什么?本章任务本章任务MySchool系统的用户管理模块 系统的用户管理模块 实现批量查看和修改实现批量查看和修改教员教员信息功能 信息功能 实现批量查看实现批量查看、筛选和修改筛选和修改学员学员信息功能信息功能本章目标 本章目标 了解数据集了解数据集(DataSet)的结构 的结构 会使用数据适配器填充数据集 会使用数据适配器填充数据集 会使用数据适配器将数据集的修改提交到数据库 会使用数据适配器将数据集的修改提交到数据库 掌握掌握DataGridView控件的使用控件的使用为什么使用为什么使用DataSet对象
3、对象 应用程序 应用程序 大量的数据 大量的数据 来自多个数据源 来自多个数据源 大批量的查询大批量的查询、修改数据怎么办?修改数据怎么办?想在断开数据库连接的情况下操所数据怎么办?想在断开数据库连接的情况下操所数据怎么办?使用使用DataSet对象对象DataSetDataSet数 数 数 据 数 据 据 据 库 库 库库什么是什么是DataSet对象对象DataSet数据集 数据集 简单理解为一个临时数据库 简单理解为一个临时数据库 将数据源的数据保存在内存中 将数据源的数据保存在内存中 独立于任何数据库 独立于任何数据库 工厂的仓库 工厂的仓库 工厂的仓库 工厂的仓库 车间的 车间的 车
4、间的 车间的 临时仓库 临时仓库 临时仓库 临时仓库 生产线 生产线 数据源 数据源 数据源数据源DataSetDataSet应用程序应用程序 驻留于内存驻留于内存,临时存储数据临时存储数据 类似的关系类似的关系DataSet的结构的结构21DataSet的基本结构的基本结构DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection数据集 数据集 数据表的集合 数据表的集合 数据表 数据表 数据列的集合 数据列的集合 数据行的集合 数据行的集合 数据列 数据列 数据行数据行D
5、ataSet的结构的结构22GradeTableClassTableStudentTableidnameclass sex1小菲小菲5女女2小薇小薇3女女3小强小强6男男DataTableCollection数据表集合数据表集合DataTable数据表数据表DataRowCollection数据行集合数据行集合DataRow数据行数据行DataColumnCollection数据列集合数据列集合DataColumn数据列数据列数据集的工作原理数据集的工作原理 数据集 数据集 数据集 数据集 发送数据 发送数据 修改数据集 修改数据集 传递数据 传递数据 提交修改后的数据 提交修改后的数据 请求
6、数据请求数据 客户端客户端如何创建如何创建 DataSet对象 对象 创建一个创建一个DataSet可以指定一个数据集的名称 可以指定一个数据集的名称 如果不指定名称如果不指定名称,则默认被设为则默认被设为NewDataSetDataSetdataSet=newDataSet()DataSetdataSet=newDataSet(MySchool)DataSet数据集对象数据集对象=newDataSet(数据集的名称字符串数据集的名称字符串)可选的可选的为什么使用为什么使用 DataAdapter如何将数据库的数据放在如何将数据库的数据放在 DataSet中中?DataSetDataSet数据
7、集 数据集 数据集 数据集 数据库数据库DataSet数据集数据集Connection数据库连接数据库连接DataAdapter数据适配器 数据适配器 数 数 数 数 据 据 据 据 库 库 库库DataAdapter对象 对象 不同命名空间的不同命名空间的 DataAdapter对象 对象 命名空间 命名空间 对应的对应的DataAdapter对象对象System.Data.SqlClientSqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.OdbcOdbcDataAdapterSystem.Data.OracleClien
8、tOracleDataAdapter如何填充数据集 如何填充数据集 使用使用DataAdapter对象填充数据集对象填充数据集DataSetDataSet数据集 数据集 数据集 数据集 使用使用Fill()方法方法填充填充DataSet中的表 中的表 使用使用Connection连接数据源连接数据源Connection数 数 数 数 据 据 据 据 库 库 库库DataAdapter的的 Fill()方法方法填充数据集填充数据集 演示示例演示示例1:查看教师信息窗体查看教师信息窗体填充数据集,填充数据集,打印部分内容打印部分内容SqlDataAdapter对象名对象名=newSqlDataAd
9、apter(查询用查询用sql语句语句,数据库连接数据库连接)创建创建SqlDataAdapter对象对象1DataAdapter对象对象.Fill(数据集对象数据集对象,数据表名称字符串数据表名称字符串)填充填充DataSet2如何保存如何保存 DataSet中的数据 中的数据 把数据集中修改过的数据提交到数据源把数据集中修改过的数据提交到数据源DataSetDataSet数据集 数据集 数据集 数据集 数 数 数 数 据 据 据 据 库 库 库库dataAdapter.Update(dataSet,Teacher)DataAdapter的的 Update()方法方法 调用前调用前,要先设置
10、更新需要的相关命令 要先设置更新需要的相关命令 可以使用可以使用SqlCommandBuilder 对象对象ConnectionSqlCommandBuilder对象 对象 利用利用SqlCommandBuilder对象能够自动生成对象能够自动生成:INSERT命令命令UPDATE命令命令DELETE命令命令SqlCommandBuilderbuilder=newSqlCommandBuilder(已创建的已创建的DataAdapter对象对象)保存保存DataSet中的数据中的数据 自动生成用于更新的相关命令自动生成用于更新的相关命令1将将DataSet的数据提交到数据源的数据提交到数据源2
11、SqlCommandBuilderbuilder=newSqlCommandBuilder(dataAdapter)dataAdapter.Update(dataSet,Teacher)步骤步骤:SqlCommandBuilderbuilder=newSqlCommandBuilder(已创建的已创建的DataAdapter对象对象)DataAdapter对象对象.Update(数据集对象数据集对象,数据表名称字符串数据表名称字符串)DataAdapter对象小结对象小结DataAdapter的主要属性和方法 的主要属性和方法 属性 属性 说明说明SelectCommand从数据库检索数据的从
12、数据库检索数据的 Command对象 对象 方法 方法 说明说明Fill向向DataSet中的表填充数据中的表填充数据Update将将DataSet中的数据提交到数据库中的数据提交到数据库小结 小结 使用什么方法填充使用什么方法填充 DataSet?DataAdapter的作用是什么的作用是什么?使用什么方法将使用什么方法将 DataSet中数据提交到数据库?中数据提交到数据库?为什么使用为什么使用 DataGridView怎样显示怎样显示DataSet中的数据呢中的数据呢?数 数 数 据 数 据 据 据 集 集 集集 使用使用DataGridViewDataGridView控件控件DataG
13、ridView控件控件 强大而灵活地显示数据 强大而灵活地显示数据 轻松定义控件外观 轻松定义控件外观 像像Excel表格表格一样方便 一样方便 一行代码一行代码实现数据绑定 实现数据绑定 可视化可视化操作操作使用使用DataGridView显示数据 显示数据 示例示例1已经填充了已经填充了DataSet,如何如何在窗体中显示在窗体中显示教师 教师 信息信息?使用使用DataGridView显示数据 显示数据 指定指定DataGridView的数据源的数据源DataSource属性属性使用使用DataGridView显示数据 显示数据 实现步骤实现步骤:添加窗体的控件 添加窗体的控件 设置设置
14、DataGridView控件和其中各列的属性 控件和其中各列的属性 设置设置DataSource属性属性,指定数据源指定数据源dgvTeacher.DataSource=dataSet.TablesTeacher演示示例演示示例2:使用使用 DataGridView显示数据显示数据DataGridView控件重要属性控件重要属性DataGridView的重要属性 的重要属性 属性 属性 说明说明Columns包含的列的集合包含的列的集合DataSourceDataGridView的数据源的数据源ReadOnly是否可以编辑单元格是否可以编辑单元格 在其中编辑在其中编辑 DataGridView
15、列的属性列的属性列的主要属性小结列的主要属性小结DataGridView中各列的主要属性 中各列的主要属性 属性 属性 说明说明DataPropertyName绑定的数据列的名称绑定的数据列的名称HeaderText列标题文本列标题文本Visible指定列是否可见指定列是否可见Frozen指定水平滚动指定水平滚动DataGridView时列是否移动时列是否移动ReadOnly指定单元格是否为只读指定单元格是否为只读通过通过DataGridView修改数据 修改数据 把修改过的教师信息保存到数据库 把修改过的教师信息保存到数据库 使用使用DataAdapter的的Update()方法方法 注意注
16、意:将将DataGridView和相应列的和相应列的ReadOnly属性设为属性设为False通过通过DataGridView修改数据 修改数据 实现步骤实现步骤:处理处理“保存修改保存修改”按钮的按钮的Click事件 事件 编写事件处理程序编写事件处理程序SqlCommandBuilderbuilder=newSqlCommandBuilder(dataAdapter)dataAdapter.Update(dataSet,Teacher)演示示例演示示例3:通过通过 DataGridView修改数据修改数据小结 小结 使用使用DataGridView的什么属性指定数据源?的什么属性指定数据源
17、?在示例在示例3中增加中增加“刷新”“刷新”按钮按钮,实现刷新功能实现刷新功能/当点击当点击“刷新刷新”按钮时按钮时,重新填充数据集,重新填充数据集privatevoidbtnReFill_Click(objectsender,EventArgse)dataSet.TablesTeacher.Clear()/清空原来的数据清空原来的数据dataAdapter.Fill(dataSet,Teacher)/填充数据集填充数据集查看源代码查看源代码综合示例 综合示例 批量查看和修改批量查看和修改使用使用 DataSet填充数据集填充数据集、更新数据库更新数据库使用使用 DataAdapter显示数据
18、显示数据使用使用DataGridViewMySchool学员信息的批量查看和修改学员信息的批量查看和修改功能 功能 按照性别筛选显示按照性别筛选显示的数据的数据 演示示例演示示例4:演示批量查看和修改学员功能演示批量查看和修改学员功能ADO.NET小结 小结 数 数 数 据 数 据 据 据 库 库 库库.NET数据提供程序数据提供程序Connection 对象对象Command对象对象DataReader对象对象DataAdapter对象对象 内存内存DataSetExecuteReader()Read()Fill()Update()ExecuteScalar()ExecuteNonQuery()应用程序应用程序总结总结ADO.NET的两大组成部分是什么?的两大组成部分是什么?每个核心对象的作用是什么?每个核心对象的作用是什么?.NET数据提供程序包括哪几个核心对象?数据提供程序包括哪几个核心对象?