课程设计学生成绩管理系统.doc
课程设计论文设计题目: 学生成绩管理系统 学生姓名: 指导教师: 专业名称: 网络系统管理 所在院系: 信息工程系 2011年 6 月 20 日目录第1章概述31.1设计背景31.2设计目的31.3设计内容3第2章需求分析42.1数据库设计需求42.2系统功能需求42.3基本要求42.4流程图4第3章系统设计与实施53.1数据库部分53.2Vb部分8第4章重点解析34第5章结论355.1设计中存在的问题355.2体会35参考文献36致谢37第1章 概述1.1 设计背景 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对学校的决策者和管理者来说都是至关重要的,正是因为这样学生管理系统就应该为用户提供更加充足的信息和快捷的查询手段,但是在前些年各个学校的学生成绩管理基本上还都是通过人工手段进行的,随着学校规模的增加,有关于学生成绩管理的数据越来越大,学校必须增加人力、物力来进行学生成绩管理,但是这种管理方式存在很多的缺点,例如:效率低、保密性差、文件和数据过多,不便查找、更新、维护更是困难。随着科技的不断进步,计算机科学也日渐成熟,如今我们已经可以用计算机对学生基本信息,成绩信息进行管理,利用计算机对这些信息进行管理有很多的优点,比如:查询迅速、方便、存储量大、保密性好等等。1.2 设计目的 1.掌握运用数据库原理进行系统分析和设计的方法; 2.掌握关系数据库的设计方法; 3.掌握利用 SQL server 2005 技术; 4.掌握vb编程能力 5.能熟练利用数据库与vb相结合1.3 设计内容 1.设计一个简易的学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输入与输出。 2.设计用户的操作界面,主要实现对数据的增删改查的基本功能第2章 需求分析2.1 数据库设计需求 在成绩管理系统中最重要的是对成绩的管理,主要包括对学生成绩的输入、修改,删除、查询。系统中应该包括学生的基本信息(学号,姓名,性别,籍贯,)、班级信息(班级编号,班级名称)、课程信息(课程编号,课程名称)、班级信息(班级编号、班级简称)等信息,以便查询。2.2 系统功能需求权限主要分为:学生查询、教师管理两部分 1) 学生查询 学生信息查询、课程信息查询、成绩查询、班级信息查询、多项信息联合查询 2)教师管理 学生信息的增删改查、课程信息的增删改查、班级信息的增删改查、学生成绩的增删改查、增加用户和修改密码2.3 基本要求 数据库中的各个表要有联系 Vb与数据库能够结合到一起 系统界面要美观大方2.4 流程图 第3章 系统设计与实施3.1 数据库部分 1 首先构思所需要的表 在整个系统之中, 我们一共需要用到5个表即(登录信息表、学生信息表、成绩表、课程信息表、班级信息表)2 要开始着手创建各个表(各表如下)3 往表里填充数据4 各表之间的关系如3.2 Vb部分 1 首先在vb中添加一个新的窗体,名称为frmlogin,caption属性为用户登录,运行之后界面截图如图 进入登陆界面,首先应该选择用户类型,因为有管理者和浏览者的区别。点击单标签学生之后就选择用户名,用户名就是自己的姓名,密码则是学号.用户名是与数据库中的学生信息表相连.首先选择自己的姓名然后输入密码,一般情况下我们是不希望密码被看见的,在这里我们就需要改一个text的属性,把输入密码的text文本中的passwordchar属性改成 * 如图:点击登录按钮就会进入学生信息查看界面如果学生想以管理员的身份进入是行不通的,当点击复选按钮的时候会出现如图的提示:学生登录成功后所显示的窗体如图:选择要查询的信息,按下确定按钮,就会出现相应的界面,包括:成绩查询,学生基本信息查询,课程信息查询,班级信息查询。也可以进行多条件的查询,输入自己的学号或者是姓名点击查询就能显示多种信息,功能实现的主要步骤1 在adodc 属性里把记录源中的命令类型改为text,在命令文本中写入sql查询语句2在command里面输入这样的命令:If Option1.Value = True ThenAdodc1.RecordSource = "select 学生信息.姓名,成绩表.成绩,课程信息.课程名称,班级信息.班级名称 from 学生信息 join 成绩表 on 学生信息.学号 = 成绩表.学号 join 班级信息 on 学生信息.班级编号=班级信息.班级编号 join 课程信息 on 学生信息.班级编号=课程信息.班级编号 where 学生信息.学号 = '" & Trim(Text1.Text) & "' "Adodc1.RefreshEnd IfIf Option2.Value = True ThenAdodc1.RecordSource = "select 学生信息.姓名,成绩表.成绩, 课程信息.课程名称,班级信息.班级名称 from 学生信息 join 成绩表 on 学生信息.学号 = 成绩表.学号 join 班级信息 on 学生信息.班级编号=班级信息.班级编号 join 课程信息 on 学生信息.班级编号=课程信息.班级编号 where 学生信息.姓名 = '" & Trim(Text2.Text) & "' "Adodc1.RefreshEnd If3 把datagrid控件的datasource设为adodc1进行如上的几个步骤就能实现对多个表的多条信息的查询,这里关键的地方是能够熟练的用sql查询语句进行跨表查询点击单标签其他后,选择用户名输入密码后,以管理着身份进入教师成绩管理系统,界面如图:菜单栏一列由:系统管理、学生信息、课程信息、班级信息、退出系统组成。系统管理中又分为:增加用户、修改密码、和退出系统三部分增加用户界面如图:增加用户在vb中的代码:修改密码在vb中的代码:学生信息又分为:增加学生信息,修改学生信息,查询学生信息3部分点击进入后界面效果如图:(查询信息的时候一定要先选择任意check标签,然后再输入查询信息,点击查询方能实现,如果没有选择查询方式,msgbox会提示:请选择查询方式)(添加学生信息只要把需要添加的信息,对应输入,就能输入到数据库之中,由于我们数据库中某些字段设置的是int型,可是vb添加信息全是文本型,我们需要做这样一步,就是把rs.Fields(n) = Trim(Textn.Text))改为rs.Fields(n) = Trim(Int(Val(Textn.Text) )(对信息进行修改的时候,先选中信息,然后点击修改,修改后点击更新,则msgbox显示修改成功)查询学生信息在vb中的代码主要如下:首先要在form load 里面声明 定义变量其次要在command里添加命令增加学生信息在vb中的代码如下:首先还是form load然后是command里面的命令在这里一定不要忘记做的一件事就是把datagrid的datasource属性设为adodc1修改学生信息的代码如下:下面代码分别对应取消、删除、修改、更新四个命令按钮课程信息又分为:增加、修改、删除课程信息修改课程信息执行后的效果:(这里要强调的是要修改哪一行的信息就点击那一行,然后点击修改,完成后点击更新,修改就成功了,删除同样要选中要删除的那行,然后更新)(条件查询一定要先勾选任意check按钮,然后再按条件查找)(添加课程信息只要把需要添加的信息,对应输入,就能输入到数据库之中,由于我们数据库中某些字段设置的是int型,可是vb添加信息全是文本型,我们需要做这样一步,就是把rs.Fields(n) = Trim(Textn.Text))改为rs.Fields(n) = Trim(Int(Val(Textn.Text) )修改课程信息在vb中的代码与增加学生信息的代码相一致,只是把sql = "select * from 学生信息" 改为sql = "select * from 课程信息",这里我们就不做重复的介绍了查询课程信息的代码添加课程信息的代码:成绩管理又分为:输入成绩、修改成绩、查询成绩 系统实现界面如下:(由于学生是固定的,只是成绩需要添加,所以学号是不需要添加的,如果是有新同学只需要去学生信息里面添加,因此在这里我们的学号不需要输入,只需要从数据库中调取)输入成绩代码如下:修改成绩代码与修改学生信息的代码也是相一致的,这里就不做重复的介绍了班级信息又分为:增加班级信息、修改班级信息、查询班级信息系统执行后界面效果如下图:(添加班级信息只要把需要添加的信息,对应输入,就能输入到数据库之中,由于我们数据库中某些字段设置的是int型,可是vb添加信息全是文本型,我们需要做这样一步,就是把rs.Fields(n) = Trim(Textn.Text))改为rs.Fields(n) = Trim(Int(Val(Textn.Text) )查询代码:修改班级信息的代码与修改学生信息的代码相一致,这里就不做冗余的介绍了,只是把sql = "select * from 学生信息" 改成sql = "select * from 班级信息"增加班级信息代码:以上是所有的程序执行后的效果和源码第4章 重点解析1.在添加信息的时候,由于我们数据库中某些字段设置的是int型,可是vb添加信息全是文本型,我们需要做这样一步,就是把rs.Fields(n) = Trim(Textn.Text))改为rs.Fields(n) = Trim(Int(Val(Textn.Text)2.在vb中我们若是要使用变量的,一定要在程序语句开始前定义,有的是需要定义在模块里,有的是需要定义在通用部分,有的是只需要定义在一段程序语句之前3.在登录界面我们需要选择用户和填写相应的密码,我们往往是不希望自己的密码被看见的,所以我们就可以把填写密码的文本中的password属性由空白改成*第5章 结论5.1 设计中存在的问题 (1)在设计的时候想让人们通过在text文本中输入sql查询语句对数据进行查询,然后根据这个思想做好程序界面和数据连接,可是后来问思考使用者不一定就会sql查询语句,这是设计思路产生的一个误区。(2)在进行跨表查询的时候,最先在adodc控件属性中的命令文本写的sql多表间查询的全部语句,可是在运行的时候msgbox总会出现这样的提示:“=”附近有错误,可是程序也能运行过去,后来把命令文本改成单个表查询附上条件语句,就好了。(3)在设计的过程中我并没有做成像真正的学生成绩管理系统那样,可以对学生的成绩进行排名,进行统计,这是一个很大的缺点,我想在以后的学习过程中我应该学会对自己做的作品进行完善。5.2 体会 在这一个月的课设过程中真的学会了很多,对数据库和vb的知识掌握的更多了。课程设计是我们sql数据库和vb专业知识综合应用的实践训练,课程设计是我们迈向社会,面向工作岗位之前一个必不可少的过程。通过这次课程设计,让我深深的体会到无论做什么事情我们都得抱着一颗认真耐心的心,做什么都不能大意不能马虎。 课程设计真的是有点累,一上午或是一下午有时甚至一做做一天,在机房上过课之后,回到寝室接着做。可是当做完的时候,心里也会有些欢喜,毕竟这是自己经过努力劳动,换来的成果。短短的几周的课设,使我发现了自己掌握的只是如此的缺乏,所以我要更加努力的学好专业知识,无论是教学内要求的,还是课外的,只要是对自己有用,与自己的专业息息相关,就应该认真的掌握。参考文献 1 仲维俊,Visual Basic 6.0,2 李德有等,SQL Server 数据库应用与开发致谢感谢我的导师们,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。是你们帮助我能够很快的融入这个全新的实验室中。指导教师评语 指导教师: 年 月 日答辩委员会评语答辩委员会签字: 年 月 日