教学目标及基本要求: 1、了解学生管理系统的系统设计。 2、熟悉用Visual Basic语言对学生管理系统的程序开发。 3、掌握用Visual Basic对系统的主要功能进行设计。 教学重点: 1、Visual Basic集成开发环境; 2、学生管理系统的系统设计的步骤; 3、主要功能的模块设计; 4、系统管理系统的数据库设计。 教学难点: 数据库的连接 教学内容: 1、学生管理系统的系统设计 2、学生管理系统的程序开发 3、学生管理系统的主要功能模块程序设计 教学时间: 2学时 主要内容: 本章将介绍Visual Basic应用程序开发实例-学生管理系统。本学生管理系统采用Visual Basic 6.0作为系统开发环境,以Access数据库作为后台数据库。在功能能够满足要求的条件下,Access数据库往往成为一些小型数据库软件的首选。Visual Basic 6.0作为一种现代的编程语言,提供了完善的指令控制语句,类与对象的支持及丰富的数据类型,满足了代码的模块化要求,更有利于今后对系统的扩展与修改。本学生管理系统的主要特点有;一是可以对学生的入学档案资料、课程成绩等进行全方位的管理;二是界面设计简单易懂,操作简便;三是简单实用的数据库、报表设计及打印功能。 15.1 学生管理系统的系统设计
高校学生的管理是一项既重要又繁琐的工作。为更好的做好这项工作,提高工作效率,更好的为学校的发展和一线教学服务,开发一套学生管理系统,不仅可以节省人力物力,而且增强了学校资料的安全性,提高学校的管理能力。
|
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
课程名称 |
文本 |
20 |
否 |
课程名称 |
出版社 |
文本 |
30 |
否 |
出版社名称 |
表15-2成绩数据表(cj)
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
学号 |
文本 |
10 |
否 |
学号 |
学期 |
文本 |
50 |
否 |
学期 |
类型 |
文本 |
16 |
否 |
考试类型 |
课程名称 |
文本 |
20 |
否 |
课程名称 |
分数 |
数字 |
单精度 |
否 |
成绩分数 |
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
年级 |
文本 |
16 |
否 |
年级 |
班级 |
文本 |
20 |
否 |
班级 |
教室 |
文本 |
5 |
否 |
教室编号 |
年制 |
文本 |
8 |
否 |
学年制 |
专业 |
文本 |
16 |
否 |
专业名称 |
班主任任 |
文本 |
8 |
否 |
班主任名称 |
备注 |
备注 |
无 |
是 |
备注 |
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
年级 |
文本 |
16 |
否 |
年级 |
专业 |
文本 |
12 |
否 |
专业名称 |
年制 |
文本 |
8 |
否 |
学年制 |
学期 |
文本 |
50 |
否 |
学期 |
课程名称 |
文本 |
20 |
否 |
课程名称 |
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
类型 |
文本 |
10 |
否 |
考试类型 |
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
username |
文本 |
20 |
否 |
用户名 |
password |
文本 |
20 |
否 |
密码 |
Admin |
文本 |
2 |
否 |
管理权限 |
readonly |
文本 |
2 |
否 |
是否只读 |
Qx1 |
文本 |
2 |
否 |
权限1 |
Qx2 |
文本 |
2 |
否 |
权限2 |
Qx3 |
文本 |
2 |
否 |
权限3 |
字段名称 |
字段类型 |
字段大小 |
是否为空 |
描述 |
学号 |
文本 |
5 |
否 |
学号 |
姓名 |
文本 |
8 |
否 |
姓名 |
性别 |
文本 |
2 |
否 |
性别 |
班级 |
文本 |
10 |
否 |
班级 |
出生年月 |
日期/时间 |
自动 |
否 |
出生年月 |
家庭住址 |
文本 |
30 |
否 |
家庭住址 |
邮政编码 |
数字 |
长整型 |
否 |
邮政编码 |
联系电话 |
数字 |
长整型 |
否 |
联系电话 |
入学时间 |
日期/时间 |
自动 |
否 |
入学时间 |
备注 |
备注 |
无 |
是 |
备注说明 |
学生管理系统流程图如图15-2所示。
图15-2 学生管理系统流程图
1.Visual Basic与数据库的连接
通过连接字符串模块Modulel.bas来建立与数据库的连接,代码如下:
Public Function connstring() As String
connstring = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" & App.Path & "/xsgl.mdb"
End Function
2.程序运行结果
(1)运行程序首先看到欢迎界面,如图15-3所示。然后进入登录界面如图15-4所示,输入用户名和密码(初始用户名和密码分别为“admin”和“123”),单击确定,进入系统主程序界面,如图15-5所示。
(2)在系统主界面中选择【系统管理】|【添加用户】菜单命令即可进入【新增用户】界面,如图15-6所示。在该界面中,可以建立新用户,设置使用权限,权限可设置为超级用户、只读用户和普通用户。选择【权限】选项组中的复选框,用户可以具有相应的权限。
选择【系统管理】|【修改密码】菜单命令就可以更改密码。
选择【系统管理】|【重新登录】菜单命令或单击工具栏中的
选择【班级管理】|【班级浏览】菜单命令,可以浏览班级资料,如图15-8所示,单击左侧的年级或班级,右侧就会相应地显示对应的班级资料信息。单击工具栏中的【修改】按钮可以在如图15-9所示窗体中进行班级资料修改。单击工具栏的【查找】按钮就会打开班级查询窗体,如图15-10所示。单击工具栏中的【删除】按钮可以删除当前的班级资料。单击工具栏中的【打印】按钮会让用户选择【打印当前记录】还是【打印全部记录】,相应地会得到打印预览窗体,如图15-11所示。
选择【班级管理】|【班级查询】菜单命令或单击工具栏中的
(4)在系统主界面中选择【学生档案管理】|【档案添加】菜单命令或单击工具栏中的
选择【学生档案管理】|【档案浏览】菜单命令或单击工具栏中的
⑹在系统主界面中选择【成绩管理】|【考试类型设置】菜单命令,进入考试类型设置窗体,如图15-19所示。
选择【成绩管理】|【成绩浏览】菜单命令或单击工具栏中的
⑺ 在系统主界面中选择【打印报表】|【学生档案信息】菜单命令或单击工具栏中的
选择【打印报表】|【学生班级信息】菜单命令,进入如图15-11所示的学生班级信息打印预览窗体。
⑻ 在系统主界面中选择【系统维护】|【数据库备份】菜单命令或单击工具栏中的
本节只介绍几个重要模块的实现过程,其它模块的详细代码请参见光盘中的\学生管理系统文件夹的源代码。在Visual Basic编程的过程中需要用到很多ActivceX控件,所以在编程以前必须添加这些部件。通过Visual Basic界面,选择【工程】|【部件】菜单命令,然后按照图15-24所示选择相应的部件,各个部件的类型及其用法请参照相关文献。
公共模块(Modulel.bas)主要由3个函数组成:函数ExecuteSQL用于执行相应的SQL命令;函数Connstring用于连接字符串;函数Executeqx用于检查用户的权限。具体代码如下:
班级管理模块、学生档案管理模块功能类似,在此以班级管理模块为主介绍,其他模块请参见源代码。在班级管理模块中,用户可以添加、修改、删除、查找、浏览班级信息。
1.frm添加班级资料.frm窗体
添加班级资料设置所对应的窗体frm添加班级资料.frm,如图15-7所示,“添加班级资料设置”和“修改班级资料”都是由这一窗体实现的,此窗体的代码主要又两个功能:①使用此窗体可以应用于“添加”和“修改”两种状态;②根据条件,确定是否可以“添加”或“修改”班级资料。具体代码如下:
2. frm班级资料浏览.frm窗体
frm班级资料浏览.frm窗体对应的是【班级浏览】功能,如图15-8所示,这一窗体比较复杂,应用了treeview、MSFlexGrid、toolbar控件和Visual Basic自带的报表设计器,具体使用参看有关资料,窗体加载时会加载班级资料到treeview中,程序代码如下:
3. frm班级资料查询.frm窗体
frm班级资料查询.frm窗体对应的功能是实现班级资料查询的功能,其窗体式样如图15-10所示,具体代码如下:
课程管理模块中可以设置基本课程,然后给相应年级的专业分配课程。
frm基本课程.frm窗体对应基本课程设置,窗体式样如图15-17所示,基本课程设置窗体具体代码请参见源代码。
frm设置班级课程.frm窗体对应班级课程设置,其窗体式样如图15-18所示,在这里可以给相应年级的专业分配课程,年级、专业、学期和年制随窗体自动加载。具体代码如下:
在成绩管理模块中可以实现考试类型设置、录入考试成绩和浏览考试成绩功能,其中frm考试类型.frm窗体实现考试类型设置,比较简单不作介绍,请参见程序源代码。
1. frm录入成绩.frm窗体
frm录入成绩.frm窗体完成的是成绩录入功能,因为每个班级的课程数量和课程内容都不一样,程序中采用通过控件索引来完成在单个窗体录入所有的课程成绩,其代码如下:
2. frm成绩浏览.frm窗体
frm成绩浏览.frm窗体完成的是成绩浏览功能,为了使用户能够很直观地发现学生成绩不及格,将不及格的课程成绩设为红色,具体代码如下:
打印报表模块可以实现学生档案信息打印和学生班级信息打印功能,要打印报表首先要进行报表设计,报表设计是采用Visual Basic自带的报表设计器来实现的,这部分的设计工作,限于篇幅在此不作介绍,具体请参见系统设计源程序。
系统维护模块可以显示关于学生管理系统,窗体界面如图15-23所示和系统数据库备份功能,窗体界面如图15-22所示。程序设计简单,限于篇幅在此不作介绍,具体请参见程序源代码。
作业:
1、应用程序开发应注意的事项有哪些?
2、数据库如何连接?
|