《ACCP_S1_使用C#开发数据库应用系统_TP06.ppt》由会员分享,可在线阅读,更多相关《ACCP_S1_使用C#开发数据库应用系统_TP06.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据数据数据筛选筛选筛选和排序和排序和排序第六章第六章第六章第六章使用使用DataAdapter方法填充数据集方法填充数据集以及语法以及语法绑定绑定ComboBox数据的步骤数据的步骤回顾与作业点评预习检查TreeView的哪个属性表示包含的节点的哪个属性表示包含的节点?本章如何使用实现数据筛选和排序?本章如何使用实现数据筛选和排序?实现学生信息的筛选和排序实现学生信息的筛选和排序实现删除学生信息实现删除学生信息实现学生成绩的添加与查看实现学生成绩的添加与查看本章任务使用使用TreeView制作静态菜单制作静态菜单使用使用DataView实现数据的筛选和排序实现数据的筛选和排序综合运用综合运用
2、ADO.NET知识解决问题知识解决问题本章目标常见的树状菜单典型的树状菜单典型的树状菜单使用使用TreeView控件实现控件实现提供快速筛选查看数据的方式提供快速筛选查看数据的方式TreeView的主要属性节点默认节点默认图像的索引图像的索引存放节点图像的存放节点图像的ImageList控件控件所有节点所有节点编辑树节点制作树状菜单 将年级和性别做成树状菜单,初始显示所有将年级和性别做成树状菜单,初始显示所有学生信息学生信息操作演示:制作树状菜单操作演示:制作树状菜单获得选中的树节点选中某个节点,获得查询条件选中某个节点,获得查询条件属性名称属性名称说说 明明SelectedNode选中的节点
3、选中的节点Level(节点的属性(节点的属性)节点的深度(从节点的深度(从0开始)开始)事件名称事件名称说说 明明AfterSelect节点选中后发生节点选中后发生属性和事件属性和事件操作演示:弹出选中节点的文字操作演示:弹出选中节点的文字关键代码分析选中某节点后选中某节点后string message=string.Format(选中了选中了0节点,深度是节点,深度是1,tvMenu.SelectedNode.Text,tvMenu.SelectedNode.Level);MessageBox.Show(message,提示提示,MessageBoxButtons.OK,MessageBox
4、Icon.Information);数据筛选显示符合选中节点条件的数据显示符合选中节点条件的数据上一章的做法上一章的做法组合查询条件组合查询条件重新查询数据重新查询数据重新填充数据集重新填充数据集使用数据视图使用数据视图 DataView更好的做法更好的做法直接在已有数据中直接在已有数据中筛选筛选不必重新检索数据不必重新检索数据创建DataView对象创建数据视图对象创建数据视图对象位于位于System.Data命名空间命名空间DataView dv=new DataView(dt.TablesStudent);DataView 对象名对象名=new DataView(数据表数据表);数据筛选
5、使用使用 RowFilter 属性属性筛选的条件筛选的条件类似查询语句中类似查询语句中 WHERE 后面部分后面部分筛选姓筛选姓“李李”的学生并显示的学生并显示DataView dv=new DataView(ds.TablesStudent);dv.RowFilter=StudentName like 李李%;dgvList.DataSource=dv;/将数据视图作为数据源将数据视图作为数据源操作演示:实现按年级和性别筛选操作演示:实现按年级和性别筛选关键代码分析2-1按年级筛选按年级筛选DataView dv=new DataView(dt.TablesStudent);string r
6、owFilter=string.Empty;/筛选条件筛选条件/全部,仍绑定数据表全部,仍绑定数据表/年级级别的节点年级级别的节点if(tvMenu.SelectedNode.Level=1)string gradeName=tvMenu.SelectedNode.Text;rowFilter=string.Format(GradeName=0,gradeName);dv.RowFilter=rowFilter;dgvStudent.DataSource=dv;关键代码分析2-2按年级和性别实现筛选按年级和性别实现筛选/性别级别的节点性别级别的节点if(tvMenu.SelectedNode.
7、Level=2)/性别的枚举值性别的枚举值 Gender gender=(Gender)Enum.Parse(typeof(Gender),tvMenu.SelectedNode.Tag.ToString();int genderId=(int)gender;/性别的编号性别的编号 /设置筛选条件设置筛选条件 /绑定数据源绑定数据源 将字符串转换为枚举数将字符串转换为枚举数数据排序使用使用 Sort 属性属性排序的条件排序的条件类似查询语句中类似查询语句中 ORDER BY 后面部分后面部分按姓名排序按姓名排序DataView dv=new DataView(ds.TablesStudent)
8、;dv.Sort=StudentName desc;dgvList.DataSource=dv;/将数据视图作为数据源将数据视图作为数据源操作演示:实现按姓名排序操作演示:实现按姓名排序练习实现学生信息的筛选和排序需求说明:需求说明:默认显示所有学生的信息默认显示所有学生的信息选择树型菜单的节点,显示相应的数据选择树型菜单的节点,显示相应的数据按照学号升序排列按照学号升序排列完成时间:完成时间:25分钟分钟练习实现科目信息的筛选和排序需求说明:需求说明:默认显示所有科目的信息默认显示所有科目的信息选择树型菜单的节点,显示相应的数据选择树型菜单的节点,显示相应的数据按照科目名称升序排列按照科目名
9、称升序排列完成时间:完成时间:25分钟分钟共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解删除学生信息选中某个学生,右键删除选中某个学生,右键删除删除操作分析获得选中的学生学号获得选中的学生学号dgvStudent.SelectedRows0.CellsStudentNo.Value所有选中的行所有选中的行行里面所有单元格行里面所有单元格单元格的值单元格的值学生表和成绩表有主外键关系学生表和成绩表有主外键关系先删除成绩先删除成绩再删除学生再删除学生操作演示:删除学生操作演示:删除学生关键点回顾设置设置 DataGridVi
10、ew 整行选中整行选中SelectionMode属性设为属性设为FullRowSelect获得选中的学号获得选中的学号进行进行类型转换类型转换删除成功后要重新填充数据集删除成功后要重新填充数据集/获得选中学生的学号获得选中学生的学号int studentNo=Convert.ToInt32(dgvStudent.SelectedRows0.CellsStudentNo.Value);练习获得选中学生的学号需求说明:需求说明:选中某个学生行选中某个学生行右键菜单获得该学生的学号右键菜单获得该学生的学号完成时间:完成时间:10分钟分钟练习删除学生信息需求说明:需求说明:从数据库中删除该学生的信息从
11、数据库中删除该学生的信息完成时间:完成时间:20分钟分钟共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解练习整合贯穿案例MySchool需求说明:需求说明:运行整个运行整个MySchool测试每个功能,并修改完善测试每个功能,并修改完善实现扩展功能实现扩展功能完成时间:完成时间:25分钟分钟ADO.NET 小结数数数数 据据据据 库库库库.NET 数据提供程序数据提供程序Connection 对象对象Command 对象对象DataReader 对象对象DataAdapter 对象对象内存内存DataSet Execute
12、Reader()Read()Fill()Update()ExecuteScalar()ExecuteNonQuery()应用程序应用程序总结TreeView 的哪个属性表示树节点?的哪个属性表示树节点?DataView 实现筛选和排序是通过哪两个属性实现筛选和排序是通过哪两个属性实现的?实现的?使用使用 DataView 实现筛选时,需要重新查询实现筛选时,需要重新查询数据吗?数据吗?作业课后作业课后作业必做必做教员备课时在此添加内容教员备课时在此添加内容选做选做教员备课时在此添加内容教员备课时在此添加内容提交时间:提交时间:xxx提交形式:提交形式:xxx预习作业预习作业背诵英文单词背诵英文单词教员备课时在此添加内容教员备课时在此添加内容