计算机信息管理论文

您当前的位置:学术堂 > 计算机论文 > 计算机信息管理论文 >

管理员端学生信息模块的实现

来源:学术堂 作者:姚老师
发布于:2016-11-07 共3292字
  本篇论文快速导航:

展开更多

  第五章 系统实现

  5.1 管理员端通用模块的实现。

  为了声明全局变量、连接数据库以及从数据库中获取数据,所以创建管理员端所需要的通用模块文件,定义数据库连接字符串,用于关联学生信息管理系统与学生信息数据库。

  用户名和密码以字符串形式通过"登陆"窗体传递到通用模块。

  程序流程图可以说是在程序分析过程中最重要、最基本的分析技术,也是对程序进行流程分析时使用的最基本的工具,使用程序流程图对算法进行描述的优点是对程序流程的描述很直观、易懂,但程序流程图也存在很大的缺点,它的严密性不如程序设计语言,灵活性不如自然语言,但因为程序流程图的历史源远流长,很多人已经习惯使用程序流程图进行算法描述,学界接受度依旧很高,所以至今它仍被广泛使用着[28].

  5.2 管理员端主窗体的实现。

  一。主窗体界面的构建。

  通过 Picture 属性添加图片、设置标题等内容构建主窗体界面。

  主窗体的菜单由菜单编辑器创建生成。选择"工具→菜单编辑器"命令,打开"菜单编辑器"对话框,创建系统的菜单。

  通过每个菜单项的名称就可以与各功能窗体实现挂接。

  二。引入 ADO 部件。

  ADO (ActiveX Data Objects)数据对象是 Microsoft 提出的第三种数据库访问接口,它是一种最新的数据库访问对象。ADO 采用了被称为 OLE DB 的数据访问模式,它可以使应用程序能以更简单、方便、一致的方式访问和修改众多类型的数据源,如关系型数据、电子表格、E-mail 中的数据等。ADO 是远程数据对象 RDO、数据访问对象 DAO 和开放型数据库互联 ODBC 三种方式的扩展。ADO 可以使用最少的代码量来创建基于数据库的应用程序,导入指定的数据库,生成基于查询语言 SQL 的查询语句、存储过程或者表视图的记录集合等[29].

  若想要使用 ADO,可在 VB 中,单击菜单"工程→引用",在"引用"对话框中"可用的引用"列表框中选择"Microsoft ActiveX Objects 2.8 Library"项,确定即可[30].

  5.3 管理员端登陆模块的实现。

  "登陆"模块可判断用户输入的用户名和密码是否为系统管理员,防止非法用户入侵。

  系统设定初始登陆错误次数为 0,用户输入用户名及密码后系统查询用户及密码与数据库中的既有信息是否相同,相同则登陆成功,不同则报错并记登陆错误次数+1,若登陆错误次数达到三次以上,则系统强行退出。

  5.4 管理员端系统模块的实现。

  在"系统"模块仅有"修改密码"这一项功能窗体。

  系统查询指定用户及密码,首先核对旧密码与数据库中既有密码是否相同,其次核对新密码与确认密码是否相同,若均相同则修改成功,把新密码写入数据库替换旧密码,若不同则修改失败。

  因为考虑到安全性因素,所以用户只允许有一人,默认名为 admin,故用户名一栏为不可修改状态,若需要使用修改用户名、查询密码等操作只能通过操作底层数据库来完成。

  5.5 管理员端基础信息设置模块的实现。

  以年级信息设置功能的实现为例介绍本系统如何操作数据库。

  本系统操作数据库部分都使用 MSHFlexGrid 控件显示数据库中的数据。

  VB 附带的 MSHFlexGrid 控件可以在程序中对表格数据进行显示和编辑,可以在任何单元中设置图片和文本信息,并且可以对包含字符串和图片的表格提供便捷的数据插入、编辑、删除、排序等功能,程序员可以在代码中就指定程序初始化时应该停留的当前单元,也可以在运行时使用键盘和鼠标来改变当前单元。当 MSHFlexGrid控件与 Data 控件绑定时,可以只显示只读数据[31].

  在本系统中,年级信息被定义为学生入学的年份,一个年级可能有多个班级,年级作为班级属性的一部分,同时,年级也约束课程信息,规定某年级可以开设的课程。

  "年级信息设置"窗体可以对年级信息进行增加、删除、修改、查询等操作。

  在窗体的 Load 事件中,通过表格 MSHFlexGrid 控件显示数据库中已存在的所有年级信息,可以方便操作。

  在窗体的 Load 事件后,"添加"按钮、退出按钮为可用状态,"删除"按钮、"修改"按钮、"取消"按钮为不可用状态。

  当在左侧表格中选择了某个年级的信息后,该信息就被填充到左侧相关控件中,"修改"按钮、"删除"按钮、"取消"按钮变为可用状态,"添加"按钮变为不可用状态,此时可以对数据库已有的年级信息进行编辑和删除。

  "取消"按钮可以将其它按钮状态恢复为窗体的 Load 事件后的状态。

  当左侧表格中显示的年级数目很多时,可使用下方的查找功能显示满足条件的数据。在下方"查找"文本框中输入查找条件(可使用年级名称的部分文字),单击"查找"按钮,表格中将只显示满足条件的数据。系统首先通过 SQL 语句选出符合查找条件的表项,然后加载数据库中与所要查找的项目相关的全部信息。

  单击"显示全部"按钮可以将所有的年级信息显示在表格中。

  "基础信息设置"模块下的"班级信息设置"、"学期信息设置"窗体,"课程设置"模块下的"课程设置"窗体、"课程类型设置"窗体这四个窗体与"年级信息设置"窗体大体相同,不同点在于:一,操作的数据库的表不同;二,"班级信息设置"窗体的 Load 事件中,会从数据库中获取年级信息,并将信息添加到"年级名称"组合框中,同样地,"课程设置"窗体的 Load 事件中,会从数据库中获取课程类型信息,并将信息添加到"课程类型"组合框中,故此四个窗体不再详细叙述。

  5.6 管理员端课程设置模块的实现。

  在"开设课程"窗体中,可为各年级设置指定学期应该开设的课程,也可以删除指定年级开设的课程。

  "开设课程"窗体的 Load 事件中,分别将课程、课程类别、年级、学期的数据添加到"备选课程"列表框和"年级"、"课程类别"、"学期"两个组合框中,供用户选择。若数据库中无年级信息、课程类别信息和学期信息,则会报错,所以用户必需先添加相关信息后,才能执行"开设课程"功能。

  在"年级"组合框中选择某个年级后,将从数据库中查询得到的该年级在设定学期所开设的课程,显示在"已开设课程"列表框中。

  与"年级"组合框类似,在"学期"组合框中选择某个年级后,将从数据库中查询得到的设定学期所开设的课程,显示在"已开设课程"列表框中。

  同理,在"课程类别"组合框中选择某个年级后,将从数据库中查询得到列表中所有的不同类别的课程,显示在"已开设课程"列表框中。

  "添加"按钮可以将"备选课程"列表框下的已选的课程移入"已开设课程"列表框中。"添加全部"按钮可以将"备选课程"列表框下的所有课程移入"已开设课程"列表框中。

  "删除"按钮可以将"已开设课程"列表框下的课程删除。"删除全部"按钮可以将"已开设课程"列表框下的所有课程删除。

  若在右侧列表框中添加或删除了课程后,再在"年级"、"课程类别"或"学期"组合框中进行选择时,系统先给予"是否保存"的提示,防止之前的操作被丢失。

  当"年级"、"课程类别"、"学期"组合框中的数据有更改时,都将调用 MyFind重新从数据库中查询数据,并填充到"已开设课程"列表框中。

  当在"已开设课程"列表框中添加或删除了课程后,"保存"按钮变为允许使用。

  单击"保存"按钮即可将"已开设课程"列表框中的数据保存到数据库中,操作结束后禁止"保存"按钮。

  5.7 管理员端学生信息模块的实现。

  5.7.1 学生信息设置功能的实现。

  "学生信息设置"窗体用来管理学生的信息,可以增加、修改、删除学生,也可以进行简单的查找,以便缩小查找学生范围。

  "学生信息设置"窗体的 Load 事件中,首先将从数据库中获取年级信息,将其添加到"年级"组合框中,然后从数据库中获得所有学生信息。

  当"年级"组合框中的数据发生改变时,"班级"组合框将只显示属于该年级的班级。

  此窗体中绝大多数控件的代码与"年级信息设置"窗体类似,只是需要输入的变量有所增加,故不再详细叙述。

  5.7.2 登记学生成绩功能的实现。

  "登记学生成绩"窗体可以登记学生各科的考试成绩。通过选择学期、班级来限定具体的学生列表,再选择学生姓名、课程名称,即可输入对应的成绩。在列出的学生成绩中,也可以进行修改和删除操作。

  "登记学生成绩"窗体的 Load 事件中,分别将学期、班级数据添加到"学期"、"班级"两个组合框中。当"班级"组合框中的数据发生改变时,"姓名"组合框将只显示属于该班级的同学姓名。同时根据班级所属年级不同,"课程"组合框中的课程也将发生改变。

  当用户在"姓名"组合框中选择某个学生,左侧列表框中就会显示该学生在指定学期已经登记的课程。

  当用户在"成绩"文本框中输入选定课程的成绩后,单击"添加"按钮即可将该课程的成绩添加到左侧列表框中和数据库中,若添加的成绩信息在列表框中已存在,则会给出错误提示。

  在列表框中选择某一个成绩项,单击"删除"按钮即可将该课程的成绩从列表以及数据库中删除。

返回本篇论文导航
相关内容推荐
相关标签:
返回:计算机信息管理论文