学生成绩管理系统摘要随着信息系统的普及,很多大、中、小学校都在开发自己的学生成绩管理系统,以便对本学校学生的基本信息和学习情况进行管理。后台数据库使用Access,前台开发工具使用VisualBasic。本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。这也是本系统的特色和优势。关键词学生成绩管理系统Access数据库VisualBasic开发语言管理信息系统系统需求分析院系(年级)信息的添加、修改、删除和查询。此功能为学生的分类管理提供依据。学生基本信息的添加、修改、删除和查询。课程设置信息的添加、修改、删除和查询。学生成绩信息的添加、修改、删除、查询。系统功能模块示意图学生成绩管理系统院系信息管理学生信息管理课程设置管理学生成绩管理针对各个模块不同的表实现添加记录、修改记录、删除记录以及查询显示记录等功能简单使用说明运行系统后,首先会看到登录窗体,对用户的身份进行认证。如果需要对普通用户进行管理,则使用Admin用户登录;否则建议使用Users用户登录。如果还要创建其他用户,可以在用户管理模块中创建和管理。在本系统中,应该首先增加院系(年级)信息。添加院系信息后,就可以添加学生信息了。在课程设置管理模块中,可以对课程信息进行添加、修改、删除和查看等操作。在学生成绩管理模块中,可以对成绩信息进行添加、修改、删除和查看等操作。开发工具的选择前台开发工具选择VisualBasic6.0后台数据库选择Access中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装用户管理功能模块系统用户信息管理Admin用户普通用户修改Admin用户的密码创建、修改和删除普通用户信息修改自身的用户名和密码系统流程分析如图普通用户Admin用户管理自己的用户信息院系信息管理用户登录开始读取用户类型成功失败失败超过3次是退出程序否重试①管理自己的用户信息②管理普通用户的用户信息用户管理模块学生成绩管理模块学生信息管理课程设置管理学生成绩管理所需实用技术所选开发工具的基本编程方法。基本的后台数据库管理方法,例如创建数据库、创建表、创建查询、备份和还原数据库等。常用SQL语句的使用。ADO数据库访问技术。设计表结构数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。数据库中包含7个表,即院系班级表Classes、学生基本信息表Students、学期信息表Terms、课程信息表Lessons、课程安排表Arrangement、学生成绩表Scores和用户信息表Users。具体表结构参见书中的内容。常用SQL语句SELECT语句:实现数据查询。INSERT语句:插入数据。UPDATE:更新数据。DELETE:删除数据。SELECT语句的基本语法SELECT子句[INTO子句]FROM子句[WHERE子句][GROUPBY子句][HAVING子句][ORDERBY子句]SELECT各子句的主要功能SELECT子句--指定由查询返回的列INTO子句--创建新表并将结果行插入新表中FROM子句--指定从其中检索行的表WHERE子句--指定用于限制返回行的搜索条件GROUPBY--子句指定查询结果的分组条件HAVING子句--指定组或聚合的搜索条件ORDERBY子句--指定结果集的排序UNION运算符--将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行INSERT语句的基本语法INSERTINTO表名[(列名列表)]VALUES(插入值列表)“列名列表”是可选项,由要插入数据的列名组成,必须用圆括号将其括起来,并且用逗号对列名进行分隔。如果顺序插入表中所有列的值,则可以将“列名列表”省略。VALUES子句中包含要插入的数据值列表。如果指定了“列名列表”,则数据值列表必须与“列名列表”完全对应;如果没有指定“列名列表”,则数据值列表必须与表的所有列顺序完全对应。UPDATE语句的基本语法UPDATE表名SET列名=值[,…n]WHERE条件表达式DELETE语句的基本语法DELETEFROM表名WHERE条件表达式ADO数据访问技术ActiveXDataObjects的缩写,提供对各种数据库访问的标准接口。包括的主要对象有:连接对象Connection。连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。命令对象Command。可以通过已建立的连接发出命令,对数据源进行指定的操作。记录集对象Recordset。查询命令可以将查询结果存储在本地,这些数据以“行”(记录)为单位,返回数据的集合被称为记录集。字段对象Field。一个记录集行包含一个或多个字段。如果将记录集看作二维网格,字段将排列起来构成列。每一字段(列)都分别包含有名称、数据类型和值的属性。Connection对象Connection对象代表与数据源的连接。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。ConnectionErrorsCommandRecordset数据库连接字符串conn=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=+App.Path+\学生成绩.mdb;Provider数据提供者。DataSource指定数据库文件名,最后使用绝对路径。Command对象Command对象定义了将对数据源执行的命令。ConnectionCommandParametersRecordset对象Recordset对象表示来自基本表或命令执行结果的记录全集。使用ADO时,通过Recordset对象可对几乎所有数据进行操作。ConnectionRecordsetFieldsField对象Field对象代表使用普通数据类型的数据的列。ConnectionFieldsFieldVisualBasic数据库访问控件ADOData控件DataList控件DataCombo控件DataGrid控件数据库应用系统工程规划本书实例中使用到的模块及其内容描述如下:Const用来管理工程中的全局常量。DbFunc用来管理与数据库操作相关的函数,例如连接数据库、断开与数据库的连接等。GeneralFunc用来管理通用的用户自定义函数。Variable用来管理工程中的全局变量,包括全局数组和全局对象。数据库封装本书中使用类来管理数据库中的每个表,类的成员变量对应表中的每个列,类的成员函数则实现对表的各种操作,例如添加、修改、删除和读取数据等。本书约定在应用程序目录下创建Classes目录,用来存放类模块文件。类封装实例例如要为表Users创建一个类Users。类Users的属性如下:PublicUserIdAsint'用户编号PublicUserNameAsString'用户名PublicUserPwdAsString'密码Class类成员函数Init初始化成员变量Delete删除指定院系班级记录,参数TmpId表示要删除的院系班级编号GetInfo读取指定的院系班级记录,参数TmpId表示要读取的院系班级编号GetName根据指定的院系班级名称读取院系班级编号,参数TmpId表示指定的院系班级编号GetNewId生成新纪录的院系班级编号初始化成员变量PublicSubInit()UserId=0UserName=UserPwd=EndSub登录窗体及主窗体设计院系信息编辑和管理学生信息管理模块设计学期信息管理模块设计课程信息管理模块设计课程安排信息管理模块设计学生成绩信息管理模块设计学生成绩排名窗体用户信息管理模块进一步工作读者可以在本系统的基础上做进一步地功能扩展和研究。例如,将对数据库的操作独立制作成COM组件,实现数据库开发的三层体系结构,即数据库、中间层和前端应用程序。读者也可以修改本系统中用户名和密码方式的身份认证模式,使用更加安全可靠的PKI身份认证体系。