第8章 典型数据处理模块的设计_第1页
第8章 典型数据处理模块的设计_第2页
第8章 典型数据处理模块的设计_第3页
第8章 典型数据处理模块的设计_第4页
第8章 典型数据处理模块的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学出版社高职教育出版中心大连理工大学出版社高职教育出版中心第第8 8章章 典型数据处理模块的设计典型数据处理模块的设计 2 2主要内容:主要内容:l登录模块登录模块l密码修改模块密码修改模块l数据添加模块数据添加模块l数据查询模块数据查询模块l数据维护模块数据维护模块l打印报表模块打印报表模块l树状浏览模块树状浏览模块目的要求:目的要求:l 掌握典型数据处理模块的设计方法与技巧掌握典型数据处理模块的设计方法与技巧 3 36.16.1数据库设计数据库设计 根据根据“通讯录管理系统通讯录管理系统”功能需要,设计一个功能需要,设计一个SQL ServerSQL Server数据库:数据库:

2、phoneBookphoneBook,共包含以下,共包含以下3 3个个数据表:数据表: (1)(1)用户表用户表 (2)(2)联系人表联系人表 (3)(3)组别代码表组别代码表4 46.2 6.2 登录模块的设计登录模块的设计如图如图8-1为用户登录时的效果,当用户输入用户名为用户登录时的效果,当用户输入用户名和密码后单击【登录】按钮时,如果用户名或和密码后单击【登录】按钮时,如果用户名或密码错误,则提示重新输入,否则,进入系统密码错误,则提示重新输入,否则,进入系统主界面,如图主界面,如图8-2所示。所示。 注:需设置密码文本框的注:需设置密码文本框的PasswordChar属性为属性为“*

3、 *”5 58.3 8.3 密码修改模块的设计密码修改模块的设计 如图如图8-3为密码修改模块运行时的效果。修改密码时,为密码修改模块运行时的效果。修改密码时,要求用户依次输入各项并回车,当修改成功时,会弹出要求用户依次输入各项并回车,当修改成功时,会弹出如图如图8-4所示的对话框。所示的对话框。图图8-3 8-3 密码修改模块运行效果密码修改模块运行效果图图8-4 8-4 密码修改成功时的效果密码修改成功时的效果6 61窗体界面设计窗体界面设计2添加相关代码添加相关代码(1) 声明窗体级变量声明窗体级变量(2) 窗体的窗体的load事件处理过程事件处理过程(3) 用户名文本框的用户名文本框的

4、KeyPress事件处理过程事件处理过程(4) 各密码文本框的各密码文本框的TextChanged事件处理过程事件处理过程 (5) 旧密码文本框的旧密码文本框的KeyPress事件处理过程事件处理过程(6) 新密码文本框的新密码文本框的KeyPress事件处理过程事件处理过程(7) 确认新密码文本框的确认新密码文本框的KeyPress事件处理过程事件处理过程 (8) 【确定】按钮的【确定】按钮的Click事件处理过程事件处理过程(9) 【重置】按钮的【重置】按钮的Click事件处理过程事件处理过程(10) 【退出】按钮的【退出】按钮的Click事件处理过程事件处理过程7 78.4 8.4 数据

5、添加模块的设计数据添加模块的设计 数据添加模块主要包含用户输入控件,除标数据添加模块主要包含用户输入控件,除标签、按钮外,经常应用文本框(签、按钮外,经常应用文本框(TextBox)、下拉)、下拉列表框列表框(ComboBox)、日期时间拾取器、日期时间拾取器(DateTimePicker)、图片框、图片框(PictureBox)等控件,通等控件,通过将输入的各个参数写入数据库,实现数据添加过将输入的各个参数写入数据库,实现数据添加的功能。的功能。 以以“通讯录管理系统通讯录管理系统”中的添加联系人模块中的添加联系人模块为例,介绍数据添加模块的一般设计方法。为例,介绍数据添加模块的一般设计方法

6、。 8 8 案例效果案例效果: 如图如图8-6所示,用户单击按钮,可为联系人选择图所示,用户单击按钮,可为联系人选择图片,当用户输入完各项后单击【保存】按钮时,就将这片,当用户输入完各项后单击【保存】按钮时,就将这条记录插入到条记录插入到“联系人表联系人表”中,并提示中,并提示“添加成功添加成功”,如果不成功也给出相应提示。如果不成功也给出相应提示。图8-6 数据添加模块运行效果9 9设计步骤设计步骤:1窗体界面设计窗体界面设计2添加相关代码添加相关代码 (1) 添加引用添加引用 using System.Data.SqlClient; using System.IO; /用于访问字节流用于访

7、问字节流Stream (2) 声明变量声明变量 (3) 窗体的窗体的load事件处理过程事件处理过程 /用于填充组别下拉列表框用于填充组别下拉列表框 (4) 图片浏览按钮的图片浏览按钮的Click事件处理过程事件处理过程 (5)【保存】按钮的【保存】按钮的Click事件处理过程事件处理过程10108.5 8.5 数据查询模块的设计数据查询模块的设计案例效果案例效果 如图如图8-8所示,当用户输入姓名或选择组别后单所示,当用户输入姓名或选择组别后单击【查询】按钮后,即可以数据网格形式显示查询击【查询】按钮后,即可以数据网格形式显示查询结果,并在状态栏中显示共找到多少条记录。结果,并在状态栏中显示

8、共找到多少条记录。 1111 设计步骤设计步骤 1.窗体界面设计窗体界面设计2.添加相关代码添加相关代码 (1)声明窗体级变量声明窗体级变量 (2) 窗体的窗体的load事件处理过程事件处理过程 /填充组别组合框填充组别组合框 /在在dgView1中显示联系人表中的信息中显示联系人表中的信息 /状态栏中显示找到的记录数状态栏中显示找到的记录数 (3)【查询】按钮的【查询】按钮的Click事件处理过程事件处理过程12128.6 8.6 数据维护模块的设计数据维护模块的设计 在数据库应用程序中,添加到数据库中的数在数据库应用程序中,添加到数据库中的数据常需维护,即修改或删除,并且要把维护后的据常需

9、维护,即修改或删除,并且要把维护后的数据再更新到数据库中。要想修改或删除某条记数据再更新到数据库中。要想修改或删除某条记录,首先要查找到这条记录,为此本节在上节设录,首先要查找到这条记录,为此本节在上节设计的数据查询模块的基础上设计一个数据维护模计的数据查询模块的基础上设计一个数据维护模块。块。 1313案例效果案例效果 如图如图8-11为数据维护模块运行时主界面的效果,为数据维护模块运行时主界面的效果,单击【删除】按钮可删除选中的记录,单击【修改】单击【删除】按钮可删除选中的记录,单击【修改】按钮则弹出修改窗口,如图按钮则弹出修改窗口,如图8-12所示,在此窗口显示所示,在此窗口显示要修改的

10、记录,单击图片浏览按钮可选择照片,当修要修改的记录,单击图片浏览按钮可选择照片,当修改完各数据项并单击【保存】按钮时,就将用户的修改完各数据项并单击【保存】按钮时,就将用户的修改保存到数据库中,并返回主界面。改保存到数据库中,并返回主界面。1414设计步骤设计步骤 1.数据维护模块主窗体设计数据维护模块主窗体设计2.修改窗体的界面设计修改窗体的界面设计3.为主窗体添加代码为主窗体添加代码4.为修改窗体添加代码为修改窗体添加代码 1515 说明说明: 先要在修改窗体中添加属性先要在修改窗体中添加属性ID,这样就可将主窗,这样就可将主窗体中选中记录的体中选中记录的ID值传递到修改窗体中;在修改窗体

11、值传递到修改窗体中;在修改窗体中修改成功后要将返回值设置为中修改成功后要将返回值设置为DialogResult.OK,这,这样,就会由修改窗体自动返回到主窗体,并自动刷样,就会由修改窗体自动返回到主窗体,并自动刷新新dgView1中的数据。中的数据。 此模块设计的两个要点:此模块设计的两个要点: 一是要修改的记录的主键值由主窗体传递到修改窗体。一是要修改的记录的主键值由主窗体传递到修改窗体。 二是二是SQLServer数据库中图片字段的存取。这里应用数据库中图片字段的存取。这里应用了字节流了字节流Stream和内存字节流和内存字节流MemoryStream的知识,的知识,并介绍了为窗体添加属性

12、的方法。并介绍了为窗体添加属性的方法。16168.7 8.7 打印报表模块的设计打印报表模块的设计水晶报表相关概念(1) 水晶报表设计器水晶报表设计器(Crystal Report Designer)用来创建和编辑水晶报表。 (2) 水晶报表查看器控件水晶报表查看器控件(Crystal Report Viewer)用于显示水晶报表。 (3) 报表文档报表文档(ReportDocument)表示内存中的一个报表,含有定义、格式化、加载、导出和打印该报表的属性和方法。利用该组件可动态更改报表的数据源,从而更改报表的显示内容。常用其SetDataSource() 方法来设置数据源,如数据集等。 17

13、17案例效果案例效果 如图如图8-13为打印报表模块运行时的效果,选择打印为打印报表模块运行时的效果,选择打印范围后单击【预览报表】按钮,则可预览查询结果报表,范围后单击【预览报表】按钮,则可预览查询结果报表,如图如图8-14所示,在此窗口可利用工具栏按钮打印该报表,所示,在此窗口可利用工具栏按钮打印该报表,也可将该报表导出也可将该报表导出Excel等格式的文件。等格式的文件。 1818设计步骤设计步骤1.主窗体的设计主窗体的设计2. 报表预览窗体的设计报表预览窗体的设计3.为报表预览窗体添加属性为报表预览窗体添加属性 ,用于从主窗体传递用于从主窗体传递SQL语句语句4.为主窗体添加相关代码为

14、主窗体添加相关代码 (1)窗体的窗体的load事件处理过程事件处理过程 /将组别代码表中的将组别代码表中的“组别组别”字段的值填充到组别组合框字段的值填充到组别组合框 (2) 【预览报表】按钮的【预览报表】按钮的Click事件处理过程事件处理过程19195.为项目添加数据源为项目添加数据源 单击【数据】单击【数据】|【添加新数据源】,按照向导,选择【添加新数据源】,按照向导,选择SQL Server数数据库据库PhoneBook中的中的“联系人表联系人表”作为数据源。配置成功后,项作为数据源。配置成功后,项目中会增加一个文件:目中会增加一个文件:phoneBookDataSet.xsd。6.为

15、报表预览窗体添加报表为报表预览窗体添加报表 向窗体加一个向窗体加一个CrystalReportViewer控件控件,在其任务面板上,取消在其任务面板上,取消“显显示组树示组树”选项,并单击选项,并单击“创建新创建新Crystal报表报表”,启动报表创建向导,启动报表创建向导,创建报表创建报表CrystalReport1.rpt 。 7.为报表预览窗体添加代码为报表预览窗体添加代码8.打印机设置打印机设置 2020 8.8 8.8 树状浏览模块的设计树状浏览模块的设计案例效果案例效果 如图如图8-23为树状浏览模块运行时的效果,当为树状浏览模块运行时的效果,当用户在左侧单击某组别节点后,在该节点

16、下方就用户在左侧单击某组别节点后,在该节点下方就显示该组别的人员节点,单击某人员节点,右边显示该组别的人员节点,单击某人员节点,右边就显示该人员的信息就显示该人员的信息 。 2121treeView控件相关知识控件相关知识1.常用属性常用属性:ImageList, Nodes, SelectedNode, Dock2.节点节点TreeNode的创建的创建: 如如TreeNode node = new TreeNode(nodeText,0,1);3.节点节点TreeNode的属性的属性:Text,Tag, ImageIndex, SelectedImageIndex, , 4.添加节点:添加节

17、点:利用利用 Nodes属性的属性的Add() 方法方法如:如:TreeNode node = new TreeNode(“新节点新节点”,0,1); TreeView1.SelectedNode.Nodes.Add (node); 5.清空节点:如清空节点:如TreeView1.Nodes.Clear();6.删除节点:如删除节点:如 TreeView1.Nodes.Remove(TreeView1. SelectedNode); 7.常用事件:常用事件:BeforeExpand, AfterSelect, AfterExpand , AfterCollapse 2222设计步骤设计步骤1.

18、窗体界面设计窗体界面设计23232.为窗体添加相关代码为窗体添加相关代码 (1) 定义数据库操作的公共类定义数据库操作的公共类 (2)为窗体加载事件添加代码为窗体加载事件添加代码 (3) 为为treeView1控件的控件的BeforeExpand事件添加代码事件添加代码 (4) 为为treeView1控件的控件的AfterSelect事件添加代码事件添加代码 (5) 为为treeView1控件的控件的AfterExpand事件添加代码事件添加代码 (6) 为为treeView1控件的控件的AfterCollapse事件添加代码事件添加代码注注:treeView1控件的控件的4个常用事件中的参数个常用事件中的参数e都带入了当都带入了当前节点的信息前节点的信息2424设计要点设计要点:n分割窗体的实现分割窗体的实现n事件参数事件参数e的应用的应用n如何判断如何判断TreeView控件中某数据节点的类型控件中某数据节点的类型(层次层次)n该模块中在该模块中在TreeView控件中添加根节点后为何要添加空控件中添加根节点后为何要添加空的子节点的子节点n如何定义数据库操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论