第1页共30页Vb语言课程设计小型学生成绩管理系统单位分院(系)专业学号学生姓名指导教师完成日期年月日石家庄铁道学院课程设计第2页共30页摘要成绩管理是学校管理中相当繁重的工作,牵涉到学生成绩管理、教师管理和课程管理等。由于成绩记录的数量众多、管理复杂容易造成混乱,成绩管理系统可以实现对整个成绩信息进行准确而高效的记载。本系统的主要功能及任务是:·方便学生对自己的成绩信息进行浏览;·方便教师对学生的成绩信息进行浏览、查找并进行管理;·提供一个电子化的成绩管理平台。为满足为学校服务这一基本功能,数字校园应定位于信息服务,对学生的成绩的高效而准确的管理系统设计的出发点和最终目的,既要能够满足学生和老师的一般需求,又要能够针对用户的类型、需求特征等确定它的的权限以便进行管理。学生成绩管理系统以学校实际成绩管理情况为依据,提供了成绩浏览、查找和更新,统计查询等实用而丰富的功能。本系统使用VisualBasic6.0中文版作为开发工具,后台数据库采用MicrosoftAccess的MDB数据库。关键词:小型学生成绩管理系统,SQL,VB,数据库,控件,控件与数据库的绑定第3页共30页目录一.选题的意义………………………………………………………………41选择该题目的原因………………………………………………………42完成此题目用到的数据结构和知识点…………………………………4二.系统功能简介……………………………………………………………51系统概述…………………………………………………………………52系统的组成及各模块的功能……………………………………………53系统的运行环境…………………………………………………………5三.系统设计…………………………………………………………………61总体结构设计…………………………………………………………62数据库设计……………………………………………………………6四.系统实现…………………………………………………………………71登录模块的设计和实现…………………………………………………82学生登录模块的设计和实现……………………………………………93教师登录模块的设计和实现……………………………………………104学生成绩查询模块设计和实现…………………………………………115学生密码修改模块设计和实现…………………………………………126主窗体模块的设计与实现………………………………………………137添加用户模块的设计与实现……………………………………………158修改密码模块的设计与实现……………………………………………169学生信息添加模块的设计与实现………………………………………1810学生信息修改模块的设计与实现……………………………………1911学生信息查询模块的设计与实现……………………………………2112学生成绩录入模块的设计与实现…………………………………2213学生成绩修改模块的设计与实现…………………………………2414学生成绩查询模块的设计与实现………………………………2615项目统计模块的设计与实现……………………………………28第4页共30页五.总结…………………………………………………………281遇到及解决的问题………………………………………………282心得体会……………………………………………………………293后记…………………………………………………………………29参考文献…………………………………………………………29一选题的意义1.选该题的原因从大的方面来讲,现在我国的部分高中及其以下级别的大部分中学,学生成绩的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我选择这个题目,希望可以在信息管理方面有所提高。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我一年的所学编制出一个实用的程序来帮助学校进行更有效的信息管理。从小的方面来说,我感觉这个题目和我的学校生活密切相关,我也比较熟悉该系统,更容易学到对于我vb语言学习有用的知识。2.完成此题目用到的数据结构和知识点。2.1数据结构:通过可视化数据管理器可以进行数据库操作。建立数据库:启动可视化数据管理器,创建数据库,创建数据库表,然后编辑数据库。2.2知识点:Access技术:可以开发关系数据库,数据库能汇集各种信息以供查询、存储和检索。数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(DatabaseManagementSystemDBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。Access的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数第5页共30页据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。结构化查询语言SQL:结构化查询语言(StructruedQueryLauguage,SQL)是访问数据库的标准语言,使用SQL语言可以从数据库中获取数据,建立数据库和数据库对象,增加,修改数据和实现复杂的查询功能。它是本系统实现的基础。使用data控件访问数据库:主要使用的是data控件和数据绑定控件编写数据库应用程序的方法。二.系统功能简介1.系统概述随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,需要有学生管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。2.系统的组成以及各模块的功能系统开发的总任务是实现学生信息关系的系统化、规范化和自动化。系统主要由五部分组成:系统用户的管理、学生成绩的管理、学生学籍信息的管理、信息的查询,其中还包括登录界面以及成绩的统计模块。各模块的主要功能如下:●系统用户的管理:实现用户的添加、删除和密码的修改●学生学籍信息的管理:实现学生学籍信息的添加、删除和修改。●学生成绩的管理:实现学生成绩的录入,删除和修改。●学生信息的查询:实现学生学籍的查询、成绩的查询。●学生成绩信息的统计:实现学生男女生人数以及不及格人数的统计。3.系统的运行环境第6页共30页系统使用环境操作系统:windowsxp/2000/me/98系统支持:visualbasic6.0及以上版本数据库:access系统开发环境操作系统:windowsxp/2000/me/98系统支持:visualbasic6.0三系统设计1.总体结构设计对上述各项功能进行集中、分块,按照结构化层序设计的要求,得到如下所示的系统功能功能模块图。2.数据库设计小型成绩管理系统系统管理成绩管理学生信息统计信息添加用户修改密码退出系统成绩录入成绩修改成绩查询信息查询信息修改信息添加项目统计第7页共30页数据库在本成绩管理系统中占有非常重要的地位,数据库结构的好坏将直接对应用系统的效率以及实现的效率产生影响。合理的数据库及结构设计可以提高数据存储的效率,保证数据的完整和一致。同时合理的数据库结构也将有利于程序的实现。设计本系统的数据库应该充分满足用户的需求。针对一般学生管理系统的需求,通过对学生学习过程的内容的分析,设计如下面所示的数据项和数据结构基本信息表:包括的字段有:学号,姓名,性别,年龄,联系电话,家庭住址。成绩表:包括的字段有:学号,姓名,性别,年龄,高数成绩,英语成绩,计算机成绩,平均成绩。密码表:包括的字段有:用户名,密码。教师密码表:包括的字段有:用户名,密码。⑵得到上面的数据项就可以设计出能够满足用户需求的各种实体以及他们之间的关系。由上面的设计规划出的实体有:用户实体、信息实体、成绩实体。按照以上实体进行设计:(1)打开可视化数据管理器程序(2)建立数据库(3)创建数据库表(4)添加字段(5)生成表⑹添加内容基本信息表字段名称数据类型字段大小学号文本10姓名文本10性别文本2年龄数字2联系电话数字50班级文本50家庭住址文本50等。四系统实现现在已经完成了程序各个功能模块的创建,现在可以进行系统的实现了第8页共30页1登录界面实现第一个登陆界面选择用户类型,分为教师和学生。具体图形及相关代码如下所示:核心代码:PrivateSubCommand1_Click()dl.Hidexsdl.Show进入学生登陆界面EndSubPrivateSubCommand2_Click()dl.Hidejsdl.Show进入教师登陆界面EndSubPrivateSubForm_Load()Label1.Width=dl.ScaleWidthLabel1.Left=dl.ScaleWidth设定标签(欢迎使用成绩管理系统)的起始值EndSubPrivateSubTimer1_Timer()IfLabel1.Left+Label1.Width=0ThenLabel1.Left=Label1.Left-50第9页共30页ElseLabel1.Left=dl.ScaleWidth使上述标签以一定的时间运动EndIfEndSub学生登陆界面核心代码如下:PrivateSubCommand1_Click()UserName=IfTrim(Text1.Text)=ThenMsgBox用户名不能为空,请重新输入!,vbOKOnly+vbExclamation,警告‘判断输入是否为空,若是,则弹出窗体警告!Text1.SetFocusElseData1.RecordSource=select*from密码表where用户名='&Text1.Text&'and密码='&Text2.Text&'连接数据库,查找满足条件的记录。Data1.Refresh刷新数据库IfData1.Recordset.BOF=TrueAndData1.Recordset.EOF=TrueThenMsgBox用户名或密码输入错误,请重新输入!,vbOKOnly+vbExclamation,警告Text1.SetFocusText2.SetFocus判断所查找的记录是否存在,即输入的用户名和密码是否匹配ElseUserName=Text1.Text第10页共30页Text2.Text=Me.HideForm4.Show若是匹配,则当前窗体隐藏,进入学生成绩查询界面。EndIfEndIfEndSubPrivateSubCommand2_Click()Text1.Text=Text2.Text=EndSub“取消”按钮,使两个文本框内容为空。PrivateSubTimer1_Timer()IfLabel1.Left+Label1.Width=0ThenLabel1.Left=Label1.Left-50ElseLabel1.Left=dl.ScaleWidth使标签按一定的时间运动,达到电子滚动的效果。EndIfEndSub教师登陆界面:核心代码如下所示;该界面代码与上个界面基本一致。PrivateSubCommand1_Click()UserName=第11页共30页IfTrim(Text1.Text)=ThenMsgBox用户名不能为空,请重新输入!,vbOKOnly+vbExclamation,警告Text1.SetFocusElseData1.RecordSou