学生信息管理系统设计说明书.doc

上传人:知****量 文档编号:28208710 上传时间:2022-07-26 格式:DOC 页数:18 大小:110KB
返回 下载 相关 举报
学生信息管理系统设计说明书.doc_第1页
第1页 / 共18页
学生信息管理系统设计说明书.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《学生信息管理系统设计说明书.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统设计说明书.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学生信息管理系统设计说明书1 系统设计在数据库系统开发的前期,一般要对系统的开发目的、使用对象、实现的功能等进行详细的分析,确定系统的开发方案。 系统功能分析 系统功能模块设计 操作流程图 1.1 系统功能分析开发目的: 学生信息管理系统的开发目的是管理全校学生的各种信息,方便学生信息的查询.系统的使用对象是学生管理部门,如教务处工作人员、校院系领导、班主任、教师等。本章所开发的系统的主要使用对象是教务处。 主要功能: 学生基本信息的录入,包括:学号、姓名、性别、班级、出生日期、籍贯等; 学生基本信息的修改维护; 学生学籍变动情况的记录,包括:休学、复学、转系、结业、毕业等; 学生奖惩情况的记

2、录和修改,包括:奖励和处罚; 学生信息的查询; 院系设置管理,包括院系的添加、修改和删除等; 班级设置管理,包括班级的添加、修改和删除等。 1.2 系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则,可以将整个系统划分为若干个功能模块。 1.3 操作流程图通过操作流程分析,不但可以具体化系统的功能模块的组成,还可以明确系统中的数据流程,明确系统中所要保存的数据以及数据间的关系,为下一步的数据库设计打好基础。本书中采用以下的符号表示操作流程。 大家对学生信息管理是比较熟悉的,因此不难画出右图所示的学生信息管理操作流程图.需要说明的是各所学校的实际情况可能有所不同,同学们可以根据自己

3、学校的实际情况画出符合本校特点的操作流程图. 2 数据库设计数据库是信息管理系统的基础,在系统中占有重要的地位,数据库结构是否合理直接关系到系统功能的实现和运行的效率.合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性,也有利于系统的编程实现。 数据库系统设计一般包括如下几个步骤: 需求分析; 概念结构设计; 逻辑结构设计; 物理结构设计; 应用程序设计及调试; 性能测试与确认。 2.1 数据库需求分析需求分析是整个数据库设计过程中最重要的步骤之一,是后继各阶段的基础。在需求分析阶段,需要从多方面对整个系统进行调查,收集和分析系统对信息和处理两个方面的需求。 收集资料是数据库

4、设计人员和用户共同完成的。必须强调用户的参与,这是数据库应用系统设计的特点.收集资料的目的是明确用户的需求。用户的需求主要包括第三个方面: 信息需求,用户要从数据库获取的内容; 处理需求,即完成什么处理功能以及采用何种处理方式; 安全性及完整性需求。 分析的过程是对所收集的数据进行抽象的过程。抽象是对实际事物或事件的人为处理,抽取共同的本质特征,忽略细微末节,并用各种概念进行精确描述,这些概念组成某种数据模型。 在上节对学生信息管理系统操作流程分析的基础上,可以列出以下学生信息管理系统所需的数据项和数据结构: 院系设置:院系编号、院系名称、院系描述、院系领导、领导联系方式等; 班级设置:班级编

5、号、班级名称、班级创建时间、班级描述、所属院系、班主任、班主任联系方式等; 学生基本情况:学号、姓名、性别、出生日期、籍贯、所属班级等; 学籍变更记录:记录号、学号、变更类别、记录时间、详细描述等; 奖励记录:记录号、学号、奖励类别、记录时间、详细描述等; 处罚记录:记录号、学号、处罚类别、记录时间、详细描述等。 2.2 数据库概念结构设计ER模型(EntityRelationship Module)简称ER图,是描述概念世界,建立概念模型的实用工具。数据库设计工作比较复杂,将现实世界的数据组织成符合具体数据库管理系统所采用的数据模型一般情况下不可能一次到位,P。P.S.Chen于1976年提

6、出形象的实体-联系方法。通过绘制E-R图,可以描述组织模式,并可以进一步转化为任何一种DBMS所支持的数据模型。E-R图有三要素: 实体:用矩形框表示,框内标注实体名称; 属性:用圆角矩形形表示,并用连线与实体连接起来,表示实体的有关属性; 实体间的联系:用菱形框表示,框内注明联系名称,并用连线将菱形框与有关实体连接,在连线上注明联系的类型。 在关系复杂的数据库系统的设计中,E-R图的设计包括局部ER图设计、综合E-R图设计、E-R图优化等步骤。本章的学生信息管理系统的功能比较简单,其ER图如右图所示. 2。3 数据库逻辑结构设计概念结构设计的结果得到一个与计算机、软硬件的具体性能无关的全局概

7、念模式.数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据库模型。从ER图所表示的概念模型可以转换成任何一种具体DBMS所支持的数据模型。 本系统采用关系模型,转换的原则是: 每个实体转化成一个关系模式(即数据表),实体的属性就是关系的属性,实体的关键字就是关系的关键字; 每个1:1的联系转换成一个关系模式。每个实体的关键字都是该关系模式的候选关键字; 每个1:n的联系转换成一个关系模式。多方的实体的关键字是该关系模式的关键字; 每个m:n的联系转换成一个关系模式。联系中各实体关键字的组合组成该关系模式的组合关键字; 具有相同关键字的关系可以合并。 在进行完概念结构的转化以后,还需

8、要进行规范化处理,通过模式合并和模式分解,优化数据逻辑结构,使数据库既能有效减少冗余信息,又能提高数据库的查询、操纵性能。 根据学生信息管理系统的E-R图,通过简单的优化,可以设计6个关系模式(即数据表)来存储所有的信息。为了操作的简便,系统中DBMS选用Access 2000。6个数据表的结构如表1到6所示。 表1 院系设置信息表(Department) 字段名 数据类型(长度)必添字段 说 明 DepartID文本(2) 是 院系编号(主关键字) DepartName文本(20) 是 院系名称 DepartHead文本(8) 否 院系领导 Telephone文本(13) 否 领导联系电话

9、Description备注 否 院系描述 表2 班级设置信息表(Class) 字段名 数据类型(长度)必添字段 说 明 ClassID文本(6) 是 班级编号(主关键字) ClassName文本(20) 是 班级名称 DepartID文本(2) 是 所属院系(外关键字) BeginDate短日期 是 班级创建日期 Master文本(8) 否 班主任 MasterTel文本(13) 否 班主任联系电话 Description备注 否 班级描述 表3 学生基本信息表(Student) 字段名 数据类型(长度)必添字段 说 明 StudentID文本(8) 是 学号(主关键字) Name文本(8)

10、是 姓名 Sex文本(2) 是 性别 ClassID文本(6) 是 班级编号 Birthday短日期 否 出生日期 Native文本(16) 否 籍贯 表4 学籍变更记录表(Change) 字段名 数据类型(长度)必添字段 说 明 CID自动编号 是 记录号(主关键字) StudentID文本(8) 是 学号 Change文本(4) 是 学籍变更类型 RecDate短日期 是 记录日期 Description备注 否 说明 表5 奖励记录表(Reward) 字段名 数据类型(长度)必添字段 说 明 RID 自动编号 是 记录号(主关键字) StudentID 文本(8) 是 学号 Reward

11、 文本(20) 是 奖励类型 RecDate 短日期 是 记录日期 Description 备注 否 奖励具体说明 表6 处罚记录表(Punish) 字段名 数据类型(长度) 必添字段 说 明 PID 自动编号 是 记录号(主关键字) StudentID 文本(8) 是 学号 Punish 文本(8) 是 处罚类型 RecDate 短日期 是 记录日期 Description 备注 否 处罚具体说明 2。4 数据库结构的实现数据库逻辑结构设计完成以后,就可以在DBMS上创建数据库和数据表了。一般情况下可以根据DBMS的SQL语法建立相应的SQL语句,相对于直接操作建立数据库而言,通过SQL创建

12、数据库的好处是便于数据库的重复创建。 2。5 初始数据的录入在某些数据库系统的开发中,需要录入一些初始据。在完成数据库的创建以后,便可以在DBMS中录入初始数据。本章的数据库中不需要初始数据。 数据库创建完毕以后,还需要对数据库的性能进行一些测试,以确保数据库设计的合理性,避免在系统软件开发过程中发现数据库不合理而修改数据库. 3 系统主窗体的创建 数据设计完成后,下一步的工作就是使用某种程序开发语言实现系统的具体功能,本书采用的语言为微软公司的中文版Visual Basic 6.0程序开发语言。 本节内容包括如下几个方面: 创建工程文件 ; 主窗体的设计 ; 主菜单设计 ; 部分程序的实现

13、。 3.1 创建工程文件启动Visual Basic 6。0,直接单击【打开】按钮,Visual Basic创建工程文件,并自动产生一个窗体文件.根据Visual Basic配置的不同,有时会出现不同的运行界面,系统会直接创建新的工程文件。 此外,也可以通过单击【文件】【新建工程】菜单项来创建工程。 为了构造便于用户操作的程序界面,需要在工程中添加相应的部件。单击【工程】【部件】菜单项,打开“部件”对话框,在“控件”选项卡的列表框中将下面所列控件前面的方框勾选,然后单击“确定按钮。相应的控件就会被添加到工具箱上。本程序需要添加如下几个部件: Microsoft Data Bound Grid

14、Control 5。0 (SP3) Microsoft Tabbed Dialog Control 6.0 Microsoft Windows Common Controls2 6。0 3。2 主窗体的设计在设计复杂的应用程序时,为了方便用户的操作,往往要考虑系统的界面框架结构,常用的框架结构有SDI(单文档界面)和MDI(多文档界面)两种.为简便起见,本例采用单文档界面. 打开主窗体(文件名为FormMain),设置窗体的有关属性. 属性名 属性值 说 明 名称 frmMain 主窗体的名称 Caption 学生信息管理系统 主窗体标题 BackColor &H8000000C& 主窗体背景

15、颜色 WindowState 2 Maximized 主窗体启动后最大化 3。3 主菜单的设计单击【工具】【菜单编辑器】菜单项,打开菜单编辑器设计窗体的主菜单。为每个菜单项取一个比较有意义的名称。 在系统开发时,应该养成良好的命名习惯.推荐使用驼峰式格式,即每个标识符开头字母要大写,内嵌单词的首字母也要大写,其他字母用小写.在给控件命名时,每个控件名称前面加上该控件的缩写,一般取24个字母,采用小写,缩写时取控件名的主要辅音,以元音开头的控件可以取第一个元音字母。本书中所有标识符都采用这个约定。 菜单项结构 菜单项名称 说 明 系统维护(S) mntSystem 一级菜单(mnt是MenuIt

16、em的缩写) 院系设置(&D) mntSysDepart 二级菜单项 班级管理(C) mntSysClass 二级菜单项 mntSysSP 二级菜单项,分隔线 退出系统(Q) mntSysQuit 二级菜单项 学生管理(t) mntStudent 一级菜单 学生管理(M) mntStuManage 二级菜单项 mntStuSP 二级菜单项,分隔线 学生信息查询(&Q) mntStuQuery 二级菜单项 教务管理(&E) mntEduAdmin 一级菜单 学籍变更(C) mntEduChange 二级菜单项 奖励情况(R) mntEduReward 二级菜单项 处罚情况(P) mntEduPu

17、nish 二级菜单项 3。4 部分程序的实现先实现退出功能。单击主窗体的“退出系统”菜单项,系统自动生成相应事件过程框架,并切换到代码窗口,添加退出过程代码如下: Private Sub mntSysQuit_Click() EndEnd Sub主窗体中其它菜单项功能的实现在后面介绍。 4 院系设置模块院系设置模块是学生信息管理系统的辅助功能模块,实现院系添加、删除以及院系信息浏览、修改等功能。 本节内容包括如下几个方面: 模块功能分析; 窗体的创建; 模块用户界面的设计; 模块功能的实现. 4.1 模块功能分析实现思路 在窗体上添加控件和数据控件,将其它控件与数据控件绑定,就可以实现院系数据

18、的显示和浏览。为了便于用户直观浏览院系设置信息,本系统采用数据表格的形式显示数据。数据的添加、删除、修改可以通过数据控件和数据绑定控件来实现。 为了验证数据的有效性,保持数据库的完整性,在添加、删除、修改数据时必须对数据进行验证,可以在窗体上再添加一个数据控件,通过它查询相关数据表来验证数据. 在添加记录时,通过字段内容检验来实现域值和非空字段验证,通过对新添加的院系编号的查询,验证院系编号的唯一性(记录层验证)。 在删除记录时,通过查询是否有属于该院系的班级来确保数据的完整性. 实现步骤 添加、保存窗体,设置窗体属性; 添加控件,设置控件属性,构造窗体界面; 编写代码,实现相应功能; 和主窗

19、体连接,测试模块功能。 4。2 主窗体的设计在Visual Basic中单击【工程】【添加窗体】(或者工具栏的“添加窗体”按钮),给工程添加一个新窗体,将窗体保存为FormDepartment.frm。窗体的主要属性设置如下表所示: 属性名 属性值 说 明 名称 frmDepartment 窗体名称 Caption 院系设置 窗体标题 BorderStyle 1 - Fixed Single 窗体为固定边界,禁止用户改变大小 StartUpPosition 1 所有者中心 窗体启动后居于主窗体中央 4.3 模块用户界面的设计 在窗体上添加若干标签、文本框、按钮,并添加一个数据表格控件、两个数据

20、控件。窗体布局如下图所示: 其中dbgDepart是数据表格控件,如果看不到该控件,请参考相关操作.将该控件绑定到数据控件上后(设置该控件的DataSource属性),在该控件上单击右键,选择【Retrieve Fields】菜单项,将数据控件的所有字段绑定到表格上。再次单击右键,选择【Properties】菜单项,打开属性对话框,对数据表格的各项属性进行设置。其中在General选项卡中可以设置表格标题,去掉AllowUpdate选项,如下图所示,在Columns选项卡中可以设置各列标题,如下图所示。 在该控件上单击右键,选择【Edit】菜单项,可以设置数据表格每列的宽度以及行的高度。此外还

21、可以在字体选项卡中设置表头和数据项的字体。去掉AllowUpdate选项的目的是禁止用户通过数据表格直接修改数据,从而通过程序代码更好地控制数据的有效性和数据库的完整性.其他各项的设置可以根据需要设置。 表格控件属性设置: 4.4 模块功能的实现通用变量、通用模块定义 本模块在同一个用户界面上实现数据的浏览、添加、删除、修改等功能,为了避免用户操作不当而错误修改数据,在浏览数据时应禁止数据的修改;在添加、修改数据时允许用户输入数据并禁止移动记录集指针,可以设置一个通用过程来实现界面的切换。单击【工具】【添加过程】,添加一个名为ToggleEditMode的私有子过程,代码如下:其中InEdit

22、Mode是一个模块级变量,用于标识用户界面是否处在修改模式。另外还需要定义一个模块级变量BookMK用于表示数据控件的书签.这两个变量的定义放在模块的通用变量定义部分。 Dim BookMKDim InEditMode As Boolean窗体加载过程 在窗体加载时需要进行初始化处理.首先,为了保证应用程序在任何路径下都可以访问到数据库,必须修改数据控件的DatabaseName属性,使其能自动定位到应用程序所在的路径。其次,确保窗体加载时界面处在浏览模式下,不允许修改数据库中的数据。代码如下: Private Sub Form_Load() dataDepart。DatabaseName =

23、 App.Path & Student.mdb” dataValid.DatabaseName = App.Path Student。mdb dataValid.Visible = False InEditMode = False ToggleEditModeEnd Sub其中App.Path表示应用程序运行时所在的绝对路径,本系统中将数据库文件和应用程序的可执行文件放在同一个文件夹下。窗体加载以后就可以通过数据控件的按钮和数据表格浏览数据库中的数据了。 数据添加功能的实现 数据添加功能比较容易实现,通过数据控件的数据集的AddNew方法可以添加一条空记录,同时将界面切换到编辑模式下供用户输入

24、数据.为了在操作完成以后数据控件能回到添加前的记录位置,需要设置数据控件的书签。添加功能的代码如下: 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数据记录删除功能的实现 记录删除功能通过数据控件的数据集的D

25、elete方法实现。为了保证数据库的完整性,在删除院系设置记录前应确保数据库中没有属于该院系的班级.保证数据库的完整性,一般可以采取“层级更新/级联删除”或者“拒绝操作”的方法,本系统中采用“拒绝删除”的办法,同时向用户显示警告信息. SQL语句 SELECT FROM Class WHERE DepartID=院系编号用于从班级数据表Class中选择属于指定院系编号的班级的信息.过程中通过SQL语句打开dataValid数据集,如果数据集不为空则“拒绝删除”,并将属于该院系的班级名称显示出来。 注意,在修改了dataValid的RecordSource属性以后,必须调用Refresh方法才能

26、刷新数据集里的数据。记录删除后,需要修改数据集的指针位置,处理可能出现的异常情况。 数据修改功能的实现 调用数据控件的数据集的Edit方法可以使数据集处于编辑状态,供用户修改各个字段,同时应将界面切换到编辑模式下,并设置好数据控件的书签. 如果用户修改了Department数据表中的院系编号,而Class数据表中相关班级的院系编号不作修改,数据库的完整性就会遭到破坏,这里采用“拒绝修改”的办法,通过设置txtDepartID.Locked = True,使用户不能修改院系的编号.这种处理限制了用户的操作,给用户使用造成一定的不便,下一章中将采用“级联更新”的办法保证数据库的完整性。 数据保存功

27、能的实现 添加新记录或者修改记录字段值以后需要保存数据,保存通过调用数据控件的UpdateRecords方法实现。保存数据前必须对数据进行有效性验证. 首先要对用户输入的数据进行规范化处理。这个步骤很重要,必须确保用户输入的数据是有效的。先利用Trim函数去掉数据前后的多余空格,然后利用Replace函数去掉数据中的非法字符“”,请思考为什么要去掉字符“”(提示:“”会破坏SQL语句而造成语法错误)。 其次要对用户输入的数据进行验证,如果用户没有给非空字段输入数据,则提示用户必须输入该字段,并通过控件的SetFocus方法直接将焦点定位到该相关控件,便于用户的操作。 最后在添加新记录的情况下还

28、需要通过数据控件dataValid验证输入的院系编号是否唯一。判断当前是添加状态还是修改状态可以通过txtDepartID控件的Locked属性确定(参考“数据修改功能的实现”)。 5 班级管理模块班级管理模块实现班级添加、删除以及班级信息浏览、修改等功能。 本节内容包括如下几个方面: 模块功能分析; 窗体的创建; 模块用户界面的设计; 模块功能的实现。 5。1 模块功能分析实现思路 班级管理模块的实现和院系设置模块的实现类似,本模块中需要设置班级所属院系的编号,为了防止用户输入不存在的院系编号,可以通过将Department表中所有院系的编号取出填充到ComboBox控件中供用户选择来实现。

29、本模块采用DTPicker控件来输入班级创建日期值,保证用户输入的日期是有效日期。 实现步骤 添加、保存窗体,设置窗体属性; 添加控件,设置控件属性,构造窗体界面; 编写代码,实现相应功能; 和主窗体连接,测试模块功能. 5.2 主窗体的设计在工程中新建一个窗体,将窗体保存为FormClass。frm。窗体的主要属性设置如下表所示: 属性名 属性值 说 明 名称 名称 名称 frmClass frmClass frmClass BorderStyle 1 - Fixed Single 窗体为固定边界,禁止用户改变大小 StartUpPosition 1 - 所有者中心 窗体启动后居于主窗体中央

30、 5。3 模块用户界面的设计在窗体上添加若干标签、文本框、按钮、组合框,并添加一个日期选择框、一个数据表格控件、两个数据控件。窗体布局如下图所示: 其中dtpBeginDate是日期选择框。数据表格dbgClass的设置可以参考“院系设置模块”中对dbgDepart的操作. 5。4 模块功能的实现 通用变量、通用模块定义 为模块添加通用变量InEditMode、BookMK和私有过程ToggleEditMode。注意日期选择控件没有Locked属性,可以使用Enabled属性禁止用户操作该控件,禁止操作组合框控件使用Enabled属性比较好。 此外再添加一个私有过程FullDepart,该过程

31、将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 WendEnd Sub 窗体加载过程 和院系设置模块相比

32、,本模块在窗体加载时还需要调用FullDepart过程填充cmbDepart组合框.代码如下: Private Sub Form_Load()dataClass。DatabaseName = App.Path Student。mdb”dataValid.DatabaseName = App.Path & ”Student。mdb”dataValid.Visible = FalseFullDepartInEditMode = FalseToggleEditModeIf cmbDepart.ListCount 1 ThenMsgBox ”目前院系库为空,请先进行院系设置,然后再进行班级管理!cmd

33、Add。Enabled = False End IfEnd Sub如果数据库中不存在院系设置数据,就不允许添加班级。在系统开发中,应尽量考虑到一些细节问题,使系统更具实用性。 数据保存功能的实现 组合框和日期选择框的验证稍有不同,请参考如下的程序片断: If cmbDepart。ListIndex 0 ThenMsgBox 所属院系编号输入不正确, , 输入错误”cmbDepart.SetFocusExit SubElseIf dtpBeginDate.Value = ” ThenMsgBox 请选择一个入学日期!”, , ”输入错误dtpBeginDate。SetFocusExit Sub

34、其他代码可参考“院系设置模块” 其它功能的实现 其它功能和院系设置类似。为了方便用户使用,在添加记录时可以将日期选择控件的日期设置为用户操作当时的日期,具体可参考如下代码片断: dataClass。Recordset。AddNewInEditMode = TrueToggleEditModedtpBeginDate。Value = Date 6 学生管理模块学生管理模块实现学生基本信息的添加、删除、浏览、修改等功能.本模块的界面布局和事件处理程序类似于前面两个模块,这里只给出界面布局图。 在删除验证时,需要分别验证教务管理记录中是否存在该学生的学籍变更、奖励、处罚记录。各文本框的MaxLeng

35、th属性应按照数据库中字段的长度设置。 7 学生信息查询模块学生信息查询模块实现对学生信息的查询显示,包括学生基本信息和学籍变更记录、奖励记录、处罚记录等教务管理信息。 本节内容包括如下几个方面: 模块功能分析; 窗体的创建; 模块用户界面的设计; 模块功能的实现. 7.1 模块功能分析实现思路 学生基本信息存储在Student数据表中。Student数据表中ClassID字段存储着学生所在的班级的编号,班级名称、班主任姓名、所属院系名称等信息则分别保存在Class、Department等数据表中,使用SQL语句对多个数据表进行关联,可以从多个数据表中提取相应的数据。编程时通过将数据控件的数据

36、集类型设置成动态数据集、将数据控件的数据源设置成SQL语句来实现. 学生的教务管理记录信息分表保存在Change、Reward、Punish三个数据表中,每个学生可能对应着多条记录,所以需要使用主从表的形式,将所有记录显示出来。由于需要显示的数据比较多,为了在有限的窗体界面上显示更多的信息,本模块采用SSTab控件分页显示多项数据 。 7.2 主窗体的设计在Visual Basic中单击【工程】【添加窗体】给工程添加一个新窗体,将窗体保存为FormQuery。frm 。窗体的主要属性设置如下表所示: 属性名 属性值 说 明 名称 名称 名称 frmQuery frmQuery frmQuery

37、 BorderStyle 1 Fixed Single 窗体为固定边界,禁止用户改变大小 StartUpPosition 1 所有者中心 窗体启动后居于主窗体中央 7。3 模块用户界面的设计SSTab控件在工具箱窗口的图标为。该控件的功能是分页显示数据,类似于选项卡。在该控件上单击右键,选择【属性】菜单项,打开“属性对话框,可以设置该控件的外观属性,如选项卡个数、各选项卡标题、字体、颜色等。 在每个选项卡上分别放置一个数据控件和一个数据表格控件,控件名称分别为dataChange、dataReward、dataPunish和dbgChange、dbgReward、dbgPunish。数据控件的

38、Visible属性设置为False,RecordsetType属性设置为1 Dynaset,RecordSource属性在运行时动态设置,为了便于数据表格控件的绑定和设置,可将三个数据控件的RecordSource分别设置为三个表的名称(Change、Reward和Punish)。将三个数据表格分别和三个数据控件绑定,设置好数据表格的外观属性.注意,数据控件和数据表格应该分表放置在SSTab控件的三个页面(选项卡)上,否则将不能达到分页显示的目的。 7。4 模块功能的实现窗体加载过程 窗体加载过程 在窗体加载的时修改各数据控件的DatabaseName属性,使其能自动到应用程序所在的路径下查找

39、数据库文件。代码如下: Private Sub Form_Load()dataStudent。DatabaseName = App.Path & Student.mdb”dataChange。DatabaseName = App.Path Student。mdb”dataReward。DatabaseName = App。Path Student.mdb”dataPunish.DatabaseName = App。Path ”Student.mdbtxtStudent。Text = ”End Sub查询功能的实现 通过文本框的Change事件响应用户的操作,当用户在txtStudent控件中输

40、入学号后,自动在数据库中检索符合条件的记录。 从多个数据表中查找某个指定学号(txtStudent。Text)学生的基本信息的SQL语句为: SELECT Student.*, ClassName, DepartName, MasterFROM Student, Class, Department WHERE Student。ClassID = Class.ClassIDAND Class。DepartID = Department。DepartIDAND StudentID=注意:Student字段为文本型,SQL语句中应该在具体学号前后加引号,在VB中应注意SQL字符串的书写。 查找指定学

41、号的学生的学籍变化记录的SQL语句为: SELECT FROM Change WHERE StudentID=具体学号奖励记录和处罚记录的查找和学籍变化相同。 8 学籍变更管理模块学籍变更管理是教务管理的一个组成部分,本模块实现对学生学籍变更情况的记录、浏览、修改、删除等功能。 本节内容包括如下几个方面: 模块功能分析; 窗体的创建; 模块用户界面的设计; 模块功能的实现。 8.1 模块功能分析实现思路 本模块的实现和院系管理、班级管理、学生管理等模块的实现类似.为了便于用户使用,浏览学籍变更记录的同时,应该将该学生的基本信息显示出来(类似于学生信息查询模块),通过构造主从表可以实现该功能.

42、8。2 主窗体的设计在Visual Basic中单击【工程】【添加窗体】给工程添加一个新窗体,将窗体保存为FormChange.frm。窗体的主要属性设置如下表所示: 属性名 属性值 说 明 名称 名称 名称 frmChange frmChange frmChange BorderStyle 1 Fixed Single 窗体为固定边界,禁止用户改变大小 StartUpPosition 1 - 所有者中心 窗体启动后居于主窗体中央 8.3 模块用户界面的设计 8.4 模块功能的实现学籍变更记录的添加、删除、修改、数据浏览等功能的实现可以参考前面各个模块.本模块中删除记录不会破坏数据库的完整性,

43、不需要进行完整性检验;数据保存时需要对学号是否存在进行验证。 为了实现主从表功能,当浏览记录或者用户输入学号时,通过文本框txtStudent的Change事件,动态查询该学生的基本信息。代码如下: Private Sub txtStudent_Change()strSQL = SELECT Student。*, ClassName, DepartName, Master FROM Student, Class, Department strSQL = strSQL & WHERE Student。ClassID = Class.ClassIDstrSQL = strSQL AND Class

44、。DepartID = Department.DepartIDstrSQL = strSQL & ” AND StudentID=” txtStudent.Text & ”dataStudent.RecordSource = strSQLdataStudent.RefreshEnd Sub在保存数据时需要验证用户输入学号的有效性,如果学号不存在或者非法,那么dataStudent的记录集必然为空,利用这一特征可以对学号进行验证.代码如下: Private Sub cmdSave_Click()If dataStudent。Recordset。EOF ThenMsgBox 查无此人,无法保存!”Exit SubEnd If dataChange.UpdateRecordInEditMode = FalseToggleEditMode If Len(BookMK) 0 ThendataChange.Recordset。Bookmark = BookMKElseIf dataChange.Recordset。RecordCount 0 ThendataChange。Recordset.MoveFirstEnd IfE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁