实例学生信息管理系统.ppt_第1页
实例学生信息管理系统.ppt_第2页
实例学生信息管理系统.ppt_第3页
实例学生信息管理系统.ppt_第4页
实例学生信息管理系统.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 学生信息管理系统 主讲教师:张宇敬主讲教师:张宇敬 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 目 录 n系统设计 n数据库设计 n系统主窗体的创建 n院系设置模块 n班级管理模块 n学生管理模块 n学生信息查询模块 n学籍变更管理模块 n奖励、处罚管理模块 n系统的编译和发行 n小结与提高 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 1系统设计 在数据库系统开发的前期,一般要对系 统的开发目的、使用对象、实现的功能等 进行详细的分析,确定系统的开发方案。 n系统功能分析 n系统功能模块设计 n操作流程图 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 1 系统设计 n开发目的: 学生信息管理系统的开发目的是管理全校学生的各种信 息,方便学生信息的查询。系统的使用对象是学生管理 部门,如学生处工作人员、校院系领导、班主任、教师 等。本章所开发的系统的主要使用对象是学生处。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 一、系统功能分析一、系统功能分析 n主要功能: 学生基本信息的录入,包括:学号、姓名、性别、班 级、出生日期、籍贯等; 学生基本信息的修改维护; 学生学籍变动情况的记录,包括:休学、复学、转系 、结业、毕业等; 学生奖惩情况的记录和修改,包括:奖励和处罚; 学生信息的查询; 院系设置管理,包括院系的添加、修改和删除等; 班级设置管理,包括班级的添加、修改和删除等。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 1 系统设计 二、系统功能模块设计二、系统功能模块设计 根据系统所要实现的功能,按照结构化程序设计的原 则,可以将整个系统划分为若干个功能模块。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 1 系统设计 三、操作流程图三、操作流程图 通过操作流程分析,不但可以具体化系统的功能模块 的组成,还可以明确系统中的数据流程,明确系统中所 要保存的数据以及数据间的关系,为下一步的数据库设 计打好基础。本书中采用以下的符号表示操作流程。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 1 系统设计 三、操作流程图三、操作流程图 大家对学 生信息管理是比 较熟悉的,因此 不难画出右图所 示的学生信息管 理操作流程图。 需要说明的是各 所学校的实际情 况可能有所不同 ,同学们可以根 据自己学校的实 际情况画出符合 本校特点的操作 流程图。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 数据库是信息管理系统的基础,在系统中占有 重要的地位,数据库结构是否合理直接关系到系统 功能的实现和运行的效率。合理的数据库结构设计 可以提高数据存储的效率,保证数据的完整性和一 致性,也有利于系统的编程实现。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 数据库系统设计一般包括如下几个 步骤: n需求分析; n概念结构设计; n逻辑结构设计; n物理结构设计; n应用程序设计及调试; n性能测试与确认。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 一、数据库需求分析一、数据库需求分析 需求分析是整个数据库设计过程中最重要的步骤之一,是后继 各阶段的基础。在需求分析阶段,需要从多方面对整个系统进行调 查,收集和分析系统对信息和处理两个方面的需求。 收集资料是数据库设计人员和用户共同完成的。必须强调用户 的参与,这是数据库应用系统设计的特点。收集资料的目的是明确 用户的需求。用户的需求主要包括第三个方面: 信息需求信息需求,用户要从数据库获取的内容; 处理需求处理需求,即完成什么处理功能以及采用何种处理方式; 安全性及完整性需求安全性及完整性需求。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 分析的过程是对所收集的数据进行抽象的过程。抽象是对实际事物或 事件的人为处理,抽取共同的本质特征,忽略细微末节,并用各种概念进行 精确描述,这些概念组成某种数据模型。在上节对学生信息管理系统操作流 程分析的基础上,可以列出以下学生信息管理系统所需的数据项和数据结构 : 院系设置院系设置:院系编号、院系名称、院系描述、院系领导、领导联系 方式等; 班级设置班级设置:班级编号、班级名称、班级创建时间、班级描述、所属 院系、班主任、班主任联系方式等; 学生基本情况学生基本情况:学号、姓名、性别、出生日期、籍贯、所属班级等 ; 学籍变更记录学籍变更记录:记录号、学号、变更类别、记录时间、详细描述等 ; 奖励记录奖励记录:记录号、学号、奖励类别、记录时间、详细描述等; 处罚记录处罚记录:记录号、学号、处罚类别、记录时间、详细描述等。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 二、数据库概念结构设计二、数据库概念结构设计 E-R模型(Entity-Relationship Module)简称E-R图,是描述 概念世界,建立概念模型的实用工具。数据库设计工作比较复杂, 将现实世界的数据组织成符合具体数据库管理系统所采用的数据模 型一般情况下不可能一次到位,P.P.S.Chen于1976年提出形象的实 体-联系方法。通过绘制E-R图,可以描述组织模式,并可以进一步 转化为任何一种DBMS所支持的数据模型。E-R图有三要素: 实体实体:用矩形框表示,框内标注实体名称; 属性属性:用圆角矩形表示,并用连线与实体连接起来,表示 实体的有关属性; 实体间的联系实体间的联系:用菱形框表示,框内注明联系名称,并用连 线将菱形框与有关实体连接,在连线上注明联系的类型。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2数据库设计 二、数据库概念结构设计二、数据库概念结构设计 在关系复 杂的数据库系 统的设计中, E-R图的设计 包括局部E-R 图设计、综合 E-R图设计、E -R图优化等步 骤。学生信息 管理系统的功 能比较简单, 其E-R图如右 图所示。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 概念结构设计的结果得到一个与计算机、软硬件的具体性能无 关的全局概念模式。数据库逻辑设计的任务是将概念结构转换成特 定DBMS所支持的数据库模型。从E-R图所表示的概念模型可以转换成 任何一种具体DBMS所支持的数据模型。本系统采用关系模型,转换 的原则是: 每个实体转化成一个关系模式(即数据表),实体的属性就 是关系的属性,实体的关键字就是关系的关键字; 每个1:1的联系转换成一个关系模式。每个实体的关键字都 是该关系模式的候选关键字; 每个1:n的联系转换成一个关系模式。多方的实体的关键字 是该关系模式的关键字; 每个m:n的联系转换成一个关系模式。联系中各实体关键字 的组合组成该关系模式的组合关键字; 具有相同关键字的关系可以合并。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 在进行完概念结构的转化以后,还需要进行规范化处理,通 过模式合并和模式分解,优化数据逻辑结构,使数据库既能有效减 少冗余信息,又能提高数据库的查询、操纵性能。 根据学生信息管理系统的E-R图,通过简单的优化,可以设 计6个关系模式(即数据表)来存储所有的信息。为了操作的简便, 系统中DBMS选用Access 2000。6个数据表的结构如表所示。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表1 院系设置信息表(Department) 字段名 数据类型( 长度) 必添字段说 明 DepartID文本(2)是院系编号(主关键字) DepartName文本(20)是院系名称 DepartHead文本(8)否院系领导 Telephone文本(13)否领导联 系电话 Description备注否院系描述 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表2 班级设置信息表(Class) 字段名 数据类型(长 度) 必添字段说 明 ClassID文本(6)是班级编号(主关键字) ClassName文本(20)是班级名称 DepartID文本(2)是所属院系(外关键字) BeginDate短日期是班级创建日期 Master文本(8)否班主任 MasterTel文本(13)否班主任联系电话 Description备注否班级描述 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表3 学生基本信息表(Student) 字段名 数据类型( 长度) 必添字 段 说 明 StudentID文本(8)是学号(主关键字) Name文本(8)是姓名 Sex文本(2)是性别 ClassID文本(6)是班级编号 Birthday短日期否出生日期 Native文本(16)否籍贯 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表4 学籍变更记录表(Change) 字段名 数据类型(长 度) 必添字段说 明 CID自动编号是记录号(主关键字) StudentID文本(8)是学号 Change文本(4)是学籍变更类型 RecDate短日期是记录日期 Description备注否说明 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表5 奖励记录表(Reward) 字段名 数据类型( 长度) 必添字 段 说 明 RID自动编号是记录号(主关键字) StudentID文本(8)是学号 Reward文本(20)是奖励类型 RecDate短日期是记录日期 Description备注否奖励具体说明 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 三、数据库逻辑结构设计三、数据库逻辑结构设计 表6 处罚记录表(Punish) 字段名 数据类型( 长度) 必添字 段 说 明 PID自动编号是记录号(主关键字) StudentID文本(8)是学号 Punish文本(8)是处罚类 型 RecDate短日期是记录日期 Description备注否处罚具体说明 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 四、数据库结构的实现四、数据库结构的实现 数据库逻辑结构设计完成以后,就可以在DBMS上创建 数据库和数据表了。一般情况下可以根据DBMS的SQL语法 建立相应的SQL语句,相对于直接操作建立数据库而言, 通过SQL创建数据库的好处是便于数据库的重复创建。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 2 数据库设计 五、五、初始数据的录入初始数据的录入 在某些数据库系统的开发中,需要录入一些 初始据。在完成数据库的创建以后,便可以在 DBMS中录入初始数据。本章的数据库中不需要初 始数据。 数据库创建完毕以后,还需要对数据库的性 能进行一些测试,以确保数据库设计的合理性, 避免在系统软件开发过程中发现数据库不合理而 修改数据库。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 数据设计完成后,下一步的工作就是使用某种 程序开发语言实现系统的具体功能,本系统采用 的语言为微软公司的中文版Visual Basic 6.0程 序开发语言。 本节内容包括如下几个方面: n创建工程文件 ; n主窗体的设计 ; n主菜单设计 ; n部分程序的实现 。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 一、一、创建工程文件创建工程文件 启动Visual Basic 6.0,直接单击【打开】按钮, Visual Basic创建工程文件,并自动产生一个窗体文件 。根据Visual Basic配置的不同,有时会出现不同的运 行界面,系统会直接创建新的工程文件。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 一、一、创建工程文件创建工程文件 为了构造便于用户操作的程序界面,需要在工程中添 加相应的部件。单击【工程】【部件】菜单项,打开 “部件”对话框,在“控件”选项卡的列表框中将下面 所列控件前面的方框勾选,然后单击“确定”按钮。相 应的控件就会被添加到工具箱上。本程序需要添加如下 几个部件: Microsoft Data Bound Grid Control 5.0 (SP3) Microsoft Tabbed Dialog Control 6.0 Microsoft Windows Common Controls-2 6.0 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 二、二、主窗体的设计主窗体的设计 在设计复杂的应用程序时,为了方便用户的操作,往往 要考虑系统的界面框架结构,打开主窗体(文件名为FormMain ),设置窗体的有关属性。 属性名属性值说 明 名称frmMain主窗体的名称 Caption学生信息管理系统主窗体标题 BackColor&H8000000C&主窗体背景颜色 WindowState 2 - Maximized主窗体启动后最大化 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 三、三、主菜单的设计主菜单的设计 单击【工具】【菜单编辑器】菜单项,打开菜单编辑器设计窗 体的主菜单。为每个菜单项取一个比较有意义的名称。 在系统开发时,应该养成良好的命名习惯。推荐使用驼峰式格式 ,即每个标识符开头字母要大写,内嵌单词的首字母也要大写,其他字母用 小写。在给控件命名时,每个控件名称前面加上该控件的缩写,一般取24个 字母,采用小写,缩写时取控件名的主要辅音,以元音开头的控件可以取第 一个元音字母。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 菜单项结 构菜单项 名称说 明 系统维护 (&S)mntSystem一级菜单(mnt是MenuItem的缩 写) 院系设置(&D)mntSysDepart二级菜单项 班级管理(&C)mntSysClass二级菜单项 -mntSysSP二级菜单项 ,分隔线 退出系统(&Q)mntSysQuit二级菜单项 学生管理(&t)mntStudent一级菜单 学生管理(&M)mntStuManage二级菜单项 -mntStuSP二级菜单项 ,分隔线 学生信息查询 (&Q) mntStuQuery二级菜单项 教务管理(&E)mntEduAdmin一级菜单 学籍变更(&C)mntEduChange二级菜单项 奖励情况(&R)mntEduReward二级菜单项 处罚 情况(&P)mntEduPunish二级菜单项 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 3 系统主窗体的创建 四、四、部分程序的实现部分程序的实现 先实现退出功能。单击主窗体的“退出系统”菜单项, 系统自动生成相应事件过程框架,并切换到代码窗口,添加退 出过程代码如下: Private Sub mntSysQuit_Click() End End Sub 主窗体中其它菜单项功能的实现在后面介绍。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 院系设置模块是学生信息管理系统的辅助功能模 块,实现院系添加、删除以及院系信息浏览、修改 等功能。 本节内容包括如下几个方面: n模块功能分析; n窗体的创建; n模块用户界面的设计; n模块功能的实现。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 一、模块功能分析一、模块功能分析 n实现思路 在窗体上添加控件和数据控件,将其它控件与数据控件绑定,就 可以实现院系数据的显示和浏览。为了便于用户直观浏览院系设置信 息,本系统采用数据表格的形式显示数据。数据的添加、删除、修改 可以通过数据控件和数据绑定控件来实现。 为了验证数据的有效性,保持数据库的完整性,在添加、删除、 修改数据时必须对数据进行验证,可以在窗体上再添加一个数据控件 ,通过它查询相关数据表来验证数据。 在添加记录时,通过字段内容检验来实现域值和非空字段验证, 通过对新添加的院系编号的查询,验证院系编号的唯一性(记录层验 证)。 在删除记录时,通过查询是否有属于该院系的班级来确保数据的 完整性。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 一、模块功能分析一、模块功能分析 n实现步骤 添加、保存窗体,设置窗体属性; 添加控件,设置控件属性,构造窗体界面 ; 编写代码,实现相应功能; 和主窗体连接,测试模块功能。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 二、二、主窗体的设计主窗体的设计 在Visual Basic中单击【工程】【添加窗体】( 或者工具栏的“添加窗体”按钮),给工程添加一个新窗体, 将窗体保存为FormDepartment.frm。窗体的主要属性设置如下 表所示: 属性名属性值说 明 名称frmDepartment窗体名称 Caption院系设置窗体标题 BorderStyle1 - Fixed Single 窗体为固定边界,禁止用户改 变大小 StartUpPosition 1 - 所有者中心窗体启动后居于主窗体中央 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 12.4 院系设置模块 三、三、模块用户界面的设计模块用户界面的设计 在窗体上添加若干标签、文本框、按钮,并添加一 个数据表格控件、两个数据控件。窗体布局如下图所示: Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 三、三、模块用户界面的设计模块用户界面的设计 其中dbgDepart是数据表格控件,如果看不到该控件,请参考 相关操作。将该控件绑定到数据控件上后(设置该控件的DataSource属性 ),在该控件上单击右键,选择【Retrieve Fields】菜单项,将数据控件 的所有字段绑定到表格上。再次单击右键,选择【Properties】菜单项, 打开属性对话框,对数据表格的各项属性进行设置。其中在General选项卡 中可以设置表格标题,去掉AllowUpdate选项,如下图所示,在Columns选 项卡中可以设置各列标题,如下图所示。 在该控件上单击右键,选择【Edit】菜单项,可以设置数据表 格每列的宽度以及行的高度。此外还可以在字体选项卡中设置表头和数据 项的字体。去掉AllowUpdate选项的目的是禁止用户通过数据表格直接修改 数据,从而通过程序代码更好地控制数据的有效性和数据库的完整性。其 他各项的设置可以根据需要设置。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 三、三、模块用户界面的设计模块用户界面的设计 表格控件属性设置: Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n 通用变量、通用模块定义 本模块在同一个用户界面上实现数据的浏览、添加、删除、修改等功能 ,为了避免用户操作不当而错误修改数据,在浏览数据时应禁止数据的修 改;在添加、修改数据时允许用户输入数据并禁止移动记录集指针,可以 设置一个通用过程来实现界面的切换。单击【工具】【添加过过程】,添 加一个名为为ToggleEditMode的私有子过过程,代码码如下: (有关代码参见教材) 其中InEditMode是一个模块级变量,用于标识用户界面是否处 在修改模式。另外还需要定义一个模块级变量BookMK用于表示数据控件的 书签。这两个变量的定义放在模块的通用变量定义部分。 Dim BookMK Dim InEditMode As Boolean Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n窗体加载过程 在窗体加载时需要进行初始化处理。首先,为了保证应用程序在任何路 径下都可以访问到数据库,必须修改数据控件的DatabaseName属性,使其 能自动定位到应用程序所在的路径。其次,确保窗体加载时界面处在浏览 模式下,不允许修改数据库中的数据。代码如下: Private Sub Form_Load() dataDepart.DatabaseName = App.Path & “Student.mdb“ dataValid.DatabaseName = App.Path & “Student.mdb“ dataValid.Visible = False InEditMode = False ToggleEditMode End Sub 其中App.Path表示应用程序运行时所在的绝对路径,本系统中 将数据库文件和应用程序的可执行文件放在同一个文件夹下。窗体加载以 后就可以通过数据控件的按钮和数据表格浏览数据库中的数据了。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n数据添加功能的实现 数据添加功能比较容易实现,通过数据控件的数据集的AddNew方法可以 添加一条空记录,同时将界面切换到编辑模式下供用户输入数据。为了在 操作完成以后数据控件能回到添加前的记录位置,需要设置数据控件的书 签。添加功能的代码如下: Private Sub cmdAdd_Click() If dataDepart.Recordset.RecordCount 0 Then BookMK = dataDepart.Recordset.Bookmark Else BookMK = Null End If dataDepart.Recordset.AddNew 添加记录 InEditMode = True 设置编辑模式 ToggleEditMode 切换模式 End Sub Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n数据记录删除功能的实现 记录删除功能通过数据控件的数据集的Delete方法实现。为了保证数据库 的完整性,在删除院系设置记录前应确保数据库中没有属于该院系的班级。保 证数据库的完整性,一般可以采取“层级更新/级联删除”或者“拒绝操作” 的方法,本系统中采用“拒绝删除”的办法,同时向用户显示警告信息。 SQL语句 SELECT * FROM Class WHERE DepartID= 用于从班级数据表Class中选择属于指定院系编号的班级的信息。 过程中通过SQL语句打开dataValid数据集,如果数据集不为空则“拒绝删除” ,并将属于该院系的班级名称显示出来。 注意,在修改了dataValid的RecordSource属性以后,必须调用 Refresh方法才能刷新数据集里的数据。记录删除后,需要修改数据集的指针 位置,处理可能出现的异常情况。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n数据修改功能的实现 调用数据控件的数据集的Edit方法可以使数据集处于编辑状态 ,供用户修改各个字段,同时应将界面切换到编辑模式下,并设置好数据 控件的书签。 如果用户修改了Department数据表中的院系编号,而Class数 据表中相关班级的院系编号不作修改,数据库的完整性就会遭到破坏,这 里采用“拒绝修改”的办法,通过设置txtDepartID.Locked = True,使用 户不能修改院系的编号。这种处理限制了用户的操作,给用户使用造成一 定的不便,下一章中将采用“级联更新”的办法保证数据库的完整性。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 4 院系设置模块 四、四、模块功能的实现模块功能的实现 n数据保存功能的实现 添加新记录或者修改记录字段值以后需要保存数据,保存通过调 用数据控件的UpdateRecords方法实现。保存数据前必须对数据进行有效性验 证。 首先要对用户输入的数据进行规范化处理。这个步骤很重要,必 须确保用户输入的数据是有效的。先利用Trim函数去掉数据前后的多余空格, 然后利用Replace函数去掉数据中的非法字符“”,请思考为什么要去掉字 符“”(提示:“”会破坏SQL语句而造成语法错误)。 其次要对用户输入的数据进行验证,如果用户没有给非空字段输 入数据,则提示用户必须输入该字段,并通过控件的SetFocus方法直接将焦点 定位到该相关控件,便于用户的操作。 最后在添加新记录的情况下还需要通过数据控件dataValid验证输 入的院系编号是否唯一。判断当前是添加状态还是修改状态可以通过 txtDepartID控件的Locked属性确定(参考“数据修改功能的实现”)。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 班级管理模块实现班级添加、删除以及班级信息 浏览、修改等功能。 本节内容包括如下几个方面: n模块功能分析; n窗体的创建; n模块用户界面的设计; n模块功能的实现。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 一、模块功能分析一、模块功能分析 n实现思路 班级管理模块的实现和院系设置模块的实现类似, 本模块中需要设置班级所属院系的编号,为了防止用户 输入不存在的院系编号,可以通过将Department表中所 有院系的编号取出填充到ComboBox控件中供用户选择来 实现。本模块采用DTPicker控件来输入班级创建日期值 ,保证用户输入的日期是有效日期。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 一、模块功能分析一、模块功能分析 n实现步骤 添加、保存窗体,设置窗体属性; 添加控件,设置控件属性,构造窗体界面 ; 编写代码,实现相应功能; 和主窗体连接,测试模块功能。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 二、二、主窗体的设计主窗体的设计 在工程中新建一个窗体,将窗体保存为 FormClass.frm。窗体的主要属性设置如下表所示: 属性名属性值说 明 名称名称名称 frmClassfrmClassfrmClass BorderStyle1 - Fixed Single 窗体为固定边界,禁止用户改 变大小 StartUpPosition1 - 所有者中 心 窗体启动后居于主窗体中央 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 三、三、模块用户界面的设计模块用户界面的设计 在窗体上添加若干标签、文本框、按钮、组合框, 并添加一个日期选择框、一个数据表格控件、两个数据控件。 窗体布局如下图所示: 其中dtpBeginDate是日期选择框。数据表格 dbgClass的设置可以参考“院系设置模块”中对dbgDepart的 操作。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 四、四、模块功能的实现模块功能的实现 n 通用变量、通用模块定义 为为模块块添加通用变变量InEditMode、BookMK和私有过过程ToggleEditMode 。注意日期选择选择 控件没有Locked属性,可以使用Enabled属性禁止用户户操作 该该控件,禁止操作组组合框控件使用Enabled属性比较较好。 此外再添加一个私有过过程FullDepart,该过该过 程将Department数 据表中所有的院系编编号添加到cmbDepart组组合框中供用户选择户选择 ,过过程代码码 如下: Private Sub FullDepart() dataValid.RecordSource = “SELECT * FROM Department“ dataValid.Refresh cmbDepart.Clear While Not dataValid.Recordset.EOF cmbDepart.AddItem dataValid.Recordset(“DepartID“) dataValid.Recordset.MoveNext Wend End Sub Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 5 班级管理模块 四、四、模块功能的实现模块功能的实现 n窗体加载过程 和院系设置模块相比,本模块在窗体加载时还需要调用 FullDepart过程填充cmbDepart组合框。代码如下: Private Sub Form_Load( ) dataClass.DatabaseName = App.Path & “Student.mdb“ dataValid.DatabaseName = App.Path & “Student.mdb“ dataValid.Visible = False FullDepart InEditMode = False ToggleEditMode If cmbDepart.ListCount 注意:Student字段为文本型,SQL语句中应该在具体学号前后加引 号,在VB中应注意SQL字符串的书写。 查找指定学号的学生的学籍变化记录的SQL语句为: SELECT * FROM Change WHERE StudentID= 奖励记录和处罚记录的查找和学籍变化相同。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 学籍变更管理是教务管理的一个组成部分,本模 块实现对学生学籍变更情况的记录、浏览、修改、 删除等功能 。 本节内容包括如下几个方面: n模块功能分析; n窗体的创建; n模块用户界面的设计; n模块功能的实现。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 一、模块功能分析一、模块功能分析 n实现思路 本模块的实现和院系管理、班级管理、学生管理等 模块的实现类似。为了便于用户使用,浏览学籍变更记 录的同时,应该将该学生的基本信息显示出来(类似于 学生信息查询模块),通过构造主从表可以实现该功能 。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 二、二、主窗体的设计主窗体的设计 在Visual Basic中单击【工程】【添加窗体】给工 程添加一个新窗体,将窗体保存为FormChange.frm。窗体的主 要属性设置如下表所示: 属性名属性值说 明 名称名称名称 frmChangefrmChangefrmChange BorderStyle1 - Fixed Single 窗体为固定边界,禁止用户改 变大小 StartUpPosition 1 - 所有者中心窗体启动后居于主窗体中央 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 三、三、模块用户界面的设计模块用户界面的设计 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 四、四、模块功能的实现模块功能的实现 学籍变更记录的添加、删除、修改、数据浏览等功能的实现可以参考 前面各个模块。本模块中删除记录不会破坏数据库的完整性,不需要进行完整 性检验;数据保存时需要对学号是否存在进行验证。 为了实现主从表功能,当浏览记录或者用户输入学号时,通过文本框 txtStudent的Change事件,动态查询该学生的基本信息。代码如下: Private Sub txtStudent_Change() strSQL = “SELECT Student.*, ClassName, DepartName, Master FROM Student, Class, Department “ strSQL = strSQL & “ WHERE Student.ClassID = Class.ClassID“ strSQL = strSQL & “ AND Class.DepartID = Department.DepartID“ strSQL = strSQL & “ AND StudentID=“ & txtStudent.Text & “ dataStudent.RecordSource = strSQL dataStudent.Refresh End Sub Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 8 学籍变更管理模块 四、四、模块功能的实现模块功能的实现 在保存数据时需要验证用户输入学号的有效性,如果学号 不存在或者非法,那么dataStudent的记录集必然为空,利用这一 特征可以对学号进行验证。代码如下: Private Sub cmdSave_Click() If dataStudent.Recordset.EOF Then MsgBox “查无此人,无法保存!“ Exit Sub End If dataChange.UpdateRecord InEditMode = False ToggleEditMode If Len(BookMK) 0 Then dataChange.Recordset.Bookmark = BookMK ElseIf dataChange.Recordset.RecordCount 0 Then dataChange.Recordset.MoveFirst End If End Sub Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 9 奖励、处罚模块 奖励、处罚管理模块和学籍变更管理模块的 功能以及程序代码类似。这里只给出模块的界面 。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 10 系统的编译和发行 一、一、系统的编译系统的编译 单击【运行】【启动 】菜单项(或者按F5功能键),运 行程序,输入实验数据,测试 系统的功能,如果有任何问题 请检查、修改各项设置和程序 代码。 系统目前还只能在 Visual Basic环境下运行,为了 使系统能脱离Visual Basic环境 独立运行,必须对系统进行编 译。单击【文件】【生成 StudentMIS.exe】菜单项, Visual Basic生成一个可执行文 件StudentMIS.exe,这个文件可 以独立于Visual Basic运行了。 所有模块设计完成以后,系统的工程窗口应该如右图所示 。 Visual Basic Visual Basic 数据库编程教程数据库编程教程 学生信息管理系统学生信息管理系统 10 系统的编译和发行 二、二、系统的运行测试系统的运行测试 将StudentM

温馨提示

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

评论

0/150

提交评论