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