VB课程设计(论文)学生成绩管理系统.doc

上传人:文库蛋蛋多 文档编号:2389338 上传时间:2023-02-17 格式:DOC 页数:32 大小:431KB
返回 下载 相关 举报
VB课程设计(论文)学生成绩管理系统.doc_第1页
第1页 / 共32页
VB课程设计(论文)学生成绩管理系统.doc_第2页
第2页 / 共32页
VB课程设计(论文)学生成绩管理系统.doc_第3页
第3页 / 共32页
VB课程设计(论文)学生成绩管理系统.doc_第4页
第4页 / 共32页
VB课程设计(论文)学生成绩管理系统.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《VB课程设计(论文)学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《VB课程设计(论文)学生成绩管理系统.doc(32页珍藏版)》请在三一办公上搜索。

1、VB课程设计学生成绩管理系统姓名:学号:班级:系别:电子工程系前 言随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍了在VISUAL BASIC6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析学生成绩管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了学生成绩管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设

2、计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法, 本系统面友好,操作简单,比较实用。目 录前 言2第一章 学生成绩管理系统511需求分析6111系统概述81. 1. 2功能需求描述10第二章 总体设计及流程图142.1开发与设计的总体思想152.2系统模块结构图162.2.1模块设计162.2.2界面设计172.2.3数据库设计17第三章 详细设计183.1学生管理模块183.2教师管理模块233.3课程管理模块233.4成绩管理模块23参考文献27致 谢27前 言 几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系统”也已完成。以往学的都是理论性很强的知识,再加

3、上实践机会不多,更增强了我对计算机科学的兴趣。在这段时间里,我增强了自己动手的能力,更重要的是似乎把握住了计算机的一些实质性的东西终于能够用我所学的知识解决一些实际应用的问题了。但我知道,数据库技术只是计算机科学的一个小小分支,计算机还有更广阔的领域有待我们去探索。 这次毕业设计是用Visul Basic语言设计的“学生成绩管理系统”,这就要求对Visul Basic语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。 当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管

4、理子系统已发展成为通用的系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。数据库技术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广阔的天地。第一章 学生成绩管理系统11需求分析 考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等)是各个学校面临的一个重要问题。该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进行维护与管理。本系统要求运行稳定,图形用户界面

5、符合用户的日常使用习惯,数据处理正确无误。111系统概述 学生成绩管理系统主要完成学生成绩的管理,包括:(1) 教师管理。主要完成教师的添加、修改、删除和查询。(2) 班级管理。主要完成班级的添加、修改、删除和班级列表。(3) 学生管理。主要完成对学生信息的添加、修改、删除和查询。(4) 课程管理。主要完成对课程信息的维护,包括课程添加、修改、删除和查询功能。(5) 成绩管理。主要完成成绩的添加、删改和成绩杳询。1.1.2功能需求描述 该系统的功能需求有如下几个方面:(1) 教师管理。主要用于对教师信息进得维护。功能包括新教师信息的添加、修改和删除已有的教师信息,对教师信息进行查询。(2) 班

6、级管理。主要用于对班级信息进行维护。功能包括对班级信息的添加、删改和班级列表。(3) 学生管理。主要用于维护学生信息。功能包括对学生信息的添加、删改和查询。(4) 课程管理。主要用于维护课程信息,功能包括课程的添加、删改和查询。(5) 成绩管理。用于维护成绩信息,功能包括成绩的添加和查询。第二章 总体设计及流程图 上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。根据上述需求,下面按照开发设计思想、功能模块、图形用户界面、数据库等方面阐述成绩管理系统的总体设计。2.1开发与设计的总体思想 作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重

7、要考虑。2.2系统模块结构图 2.2.1模块设计图2-7 主窗体菜单设计的效果图1.教师管理菜单设计(1) 教师信息添加界面设计 教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选择部门和性别。单击添加按钮保存教师信息,单击返回按钮返回主菜单。具体设计效果图如图2-8所示。图2-8 具体设计效果图(2) 教师信息修改删除界面设计图2-9 具体设计效果图2.学生管理界面设计(1) 学生信息添加界面设计学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址和备注信息。同时使用了两个组合列表框,分别用于选择班级和性别。组合列表框中的数据会在窗体加载的时候就进行初始化。具体设计

8、效果图如图1-11所示。(2) 学生信息删改界面设计在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学号会添加到学号组合列表框中,在学号组合列表框中选择学号,就会在下方显示该学生的基本信息。根据需要单击修改按钮来修改学生信息,也可以单击删除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。具体设计效果图如图2-10所示。图2-10 具体设计效果图(3) 学生信息查询界面设计学生信息查询办面提供了四种查询方式:全部、按班级查询、按学号查询和按姓名查询。提供了一个表格用于赤示查询结果。3.课程管理界面设计(1) 课程信息添加界面设计课程添加界面提供了文本框,用于输入课程名称、课程编

9、号、课程学时数和学分等课程基本信息。并且提供了两个组合列表框,分别用于选择课程类型和任课教师。这两个组合列表框的数据是在加载窗体的时候进行初始化的。(2) 课程信息删改界面设计课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查找该课程编号所代表的课程信息,找到后将信息显示出来。修改和删除按钮用于完成修改和删除操作。具体设计效果图如图2-11所示。图2-11 具体设计效果图4.成绩管理界面设计(1) 成绩录入界面设计成绩界面使用文本框输入学生学号和课程成绩。使用组合列表框选择课程编号。使用表格显示查询结果。使用两个文本框显示学生姓名和课程名称。这两个文本框是不可编辑的。具体设计效

10、果图如图2-12所示。图2-12 具体设计效果图(2) 成绩删改界面设计图2-13 具体设计效果图(3) 成绩查询界面设计成绩查询界面提供了三种查询方式:按学号、按课程和按成绩查询。使用表格显示查询结果。2.2.3数据库设计 根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。1.学生信息表名称:学生信息表(见表2-1)表名称标识:studentInfo数据来源:学生管理模块进行录入。2教师信息表名称:教师信息表(见表2-2)表名称标识:teacherInfo数据来源:教师管理模块进行录入。3.班级信息表 表2-3 班级信息表名称字段名称类型主键非空班级编号ClassNo文本Yes

11、Yes班级名称className文本NoYes4.部门信息表 表2-4 部门信息表名称字段名称类型主键非空部门编号Dept_no文本YesYes部门名称Dept_name文本NoYes5.课程信息表 表2-5 课程信息表名称字段名称类型主键非空序号No自动编号YesYes课程编号Course_no文本NoYes课程名称Course_name文本NoYes课程类型Course_type文本NoYes学时数Course_hours数字NoYes学分Score数字NoYes授课教师Teacher文本NoYes6.成绩信息表 表2-6 成绩信息表名称字段名称类型主键非空编号No自动编号YesYes学号

12、Stu_no文本NoYes课程号Course_no文本NoYes成绩Score数字NoYes第三章 详细设计基于系统需求分析与系统总体设计的结论,本系统采用Visual Basic 6.0实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实现过程。3.1学生管理模块1.功能描述为用户提供学生信息的添加、修改、删除和查询界面,完成学生信息的添加、修改、删除和查询功能。2.窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-1。 表3-1 窗体列表窗体各称窗体文件名作用frmStudentfrmStudent.frm用于学生信息添加frmUpdateStudentfrmUp

13、dateStudent.frm用于修改、删除学生信息frmQueryStudentfrmQueryStudent.frm用于查询学生信息Module1Module1.bas用于定义全局变量和公用函数3.2教师管理模块1功能描述 该模块提供教师信息的添加、修改、删除和查询界面,完成教师信息的添加、修改、删除和查询功能。2窗体和源文件定义 表3-3 窗体列表窗体名称窗体文件名作用frmAddTeacherfrmAddTeacher.frm用于教师信息添加frmUpdateTeacherfrmUpdateTeacher.frm用于修改、删除教师信息frmQueryTeacherfrmQueryTea

14、cher.frm用于查询教师信息3.变量声明窗体模块中的声明Public sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic connStr As String4.函数与方法声明 表3-4 主要函数与方法窗体名称函数/方法名作用frmAddTeacherSub initDepartment()在组合列表框中列出所有部门名称Sub initForm()初始化窗体上的文本框和组合列表框Private sub cmdOK_Click()添加教师信息frmUpdateTeacherSub initD

15、epartment()在组合列表框中列出所有部门名称Sub initTeacherNo()在组合列表框中列出所有教师编号Sub getTeacherNo()获取教师信息Private sub cmdDelete_click()删除教师信息privatesubcmdUpdate_click()修改教师信息frmQueryTeacherSub initDepartment()在组合列表框中列出所有部门名称Sub initTitles()在组合列表框中列出所有的职称Private sub queryTeacher()查询教师信息处理:1) 获取信息输入窗口中填写的数据。2) 执行查询得到结果集,然后

16、调用结果集对象的addNew方法。3) 设置各个字段的值。4) 调用update方法更新结果集,完成教师信息添加。输出:将数据写入教师信息表程序清单:与学生信息添加代码类似,请参考本书提供的源代码。(3)frmUpdateTeacher窗体:private sub cmdUpdate_Click()功能:主要用来完成教师信息的修改,将窗体上修改后的信息添加到数据库中。输入:教师信息删改窗体上输入的数据。处理:1) 获取信息输入窗口中填写的数据并得到SQL语句。2) 执行SQL语句完成数据修改。输出:将修改后的数据写入教师信息表。程序清单:Private sub cmdUpdate_Click(

17、) Dim conn As ADODB.Connection sqlStr= “UPDATE teacherInfo set birthdate=#”& txtBirth & “#,department=”&cboDept(0).Text & “,telno=”&txtTel.Text&”,title=”&txtTitle.Text&”& “where teacher_no=” & txtNo.Text & “”on Error GoTo exitsubset conn=New ADODB.Connectionconn.Open connStrconn.Execute sqlstrMsgBox

18、 “成功修改数据!” Exitsub:Conn.closeinitDepartmentend sub 3.5成绩管理模块1功能描述该模块提供成绩信息的录入、修改、删除和查询界面,完成成绩信息的录入、修改、删除和查询功能。2窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-9。 表3-9 窗体列表窗体名称窗体文件名作用frmAddScorefrmAddScore.frm用于成绩信息添加frmUpdateScorefrmUpdateScore.frm用于修改、删除成绩信息frmQueryScorefrmQueryscore.frm用于查询成绩信息3.变量声明 窗体模块中的声明Public

19、 sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic connStr As String4函数与方法声明 表3-10 主要函数与方法窗体名称函数/方法名作用frmAddScoreSub initCourseNo()在下拉列表框中显示所有课程号Private sub txtStuNo_KeyPress(KeyAscii As Integer)文本框响应回车键,如果输入学号后回车,就会查找并显示学生姓名Private sub cboCourseNo_Click()在组合列表框中选择课程编号,触发

20、click事件,查找显示课程名称Private sub cmdOK_Click()向数据库中添加成绩信息frmUpdateScoreSub initCourseNo()在下拉列表框中显示所有课程号Sub getScoreInfo()从数据库中查找成绩信息Private sub cmdUpdate_click()修改成绩信息Private sub cmdDelete_Click()删除成绩信息frmQueryScorePrivate sub cmdOK_Click()查询成绩(1)frmAddScore窗体:private sub txtStuNo_KeyPress(KeyAscii As In

21、teger)功能:相应键盘事件,如果是回车键,则按学号查询学生姓名。输入:按键的ASCII码。处理:1) 判断按键是否为回车键。2) 如果为回车键,刚转3,否则退出。3) 查询学生姓名并显示出来。输出:学生姓名。程序清单: Private sub txtStuNo_keypress(keyAscii As Integer)Dim rstStudent As ADODB.RecordsetIf KeyAscii=13 Then sqlStr= “select name from studentInfo” set rststudent=ExecuteSQL(sqlStr,msgText) If N

22、ot rstStudent.EOF ThentxtName=rstStudent.Fields(0) Else MsgBox “未找到学生的信息记录!”,vbOKOnly+vbExclamation, “警告” Exit subEnd IfrstStudent.Close End If End sub (2)frmAddScore窗体:private sub cmdOK_Click()功能:将窗体中的成绩信息添加到数据库中。输入:成绩添加窗体中填写的数据。处理:1) 获取信息输入窗口中填写的数据。2) 执行查询得到结果集,然后调用结果集对象的addNew方法。3) 设置各个字段的值。4) 调用

23、update方法更新结果集,完成成绩信息添加。输出:将成绩信息写入数据库。程序清单: Private sub cmdok_click() Dim rstScore As ADODB.Recordset Dim stuNo As String Dim courseNo As String Dim score As String 获取数据 stuNo=Trim(txtstuNo.Text) courseNo=Trim(cboCourseNo.Text) score=Trim(txtScore.Text) If stuNo= “”or score= “”Then MsgBox “请将信息补充完整”,

24、vbOKOnly+vbExclamation, “警告”Exit sub End If 添加新记录 sqlStr=”select*from scoreInfo” set rstScore=ExecuteSQL(sqlStr,msgText) rstScore.AddNew rstScore.Fields(“stu_no”)=stuNo rstScore.Fields(“course_no”)=courseNo rstScore.Fields(“course_score”)=scorerstScore.UpdaterstScore.CloseMsgBox “成绩信息添加完成!”,vboOKOnl

25、y+vbExclamation, “警告”initFormEnd sub(3)frmUpdateScore窗体:sub getScoreInfo()功能:根据课程编号和学号,从数据库中读取成绩信息、课程名和学生名。输入:课程编号和学号。处理:1) 获取课程名称和学号,得到多表查询的SQL语句。2) 执行查询得到结果集。3) 从结果集中读取各个字段的值并显示出来。输出:学生姓名、课程名称、考试成绩。程序清单: Sub getScoreInfo() Dim rstScore As ADODB.Recordset从数据库中读取成绩相关信息并添加到窗体中的输入框 sqlStr= “select nam

26、e,course_name,coure_score fromcourseInfo,studentInfo,scoreInfo”&“wherescoreInfo.course_no=”&cbocourseNo.text & “”& “AND scoreInfo.course_no=courseInfo.course_no”& “AND scoreInfo.stu_no=studentInfo.stu_no”& “AND scoreInfo.stu_no=”& txtStuNo.Text & “” txtName=Trim(rstScore.Fields(“name”) txtCourseName

27、.Text=trim(rstScore.Fields(“dourse_name”) txtScore.Text=Trim(rstScore.Fields(“course_score”)Else MsgBox “没找到符合条件的数据!”,vbOKOnly+vbExclamation, “警告” Exit sub End If rstScore.CloseEnd sub(4)frmQueryScore窗体:private sub cmdOk_Click()功能:根据查询条件查找成绩信息。输入:查询方式和关键字。处理:1) 获取查询方式和输入的关键字。2) 形成SQL语句,执行SQL语句得到结果集。

28、3) 从结果集中读取全部数据,并在表格中显示出来。输出:符合查询条件的课程成绩信息。程序清单:Dim sqlstr1 As StringDim sqlcond1 As StringDim sqlcond2 As StringDim sqlcond3 As StringDim sign As BooleanSqlcond1= “”Sqlcond2= “”Sqlcond3= “”Sign=FalseSqlstr=”selectstudentInfo.stu_noasstuNo.studentInfo.name as stuName,”_&“courseInfo.course_nameascours

29、eName,scoreInfo.course_score as score”&_ “from studentInfo,courseInfo,scoreInfo WHERE”检查是否已选择了查询条件If chkOp(0).value1 And chkOp91).value1 And chkOp(2).value1 Then MsgBox “请选择查询条件!” Exit subEnd if获得子查询条件If chkOp(0).value=1 Then Sqlcond1= “studentInfo.stu_no=”&Trim(txtstuNo.Text)& “”End IfIf chkOp(1).v

30、alue=1 ThenSqlcond2= “scoreInfo.course_no=”&Trim(txtCourseNo.Text)& “”End IfIf chkOp(2).value=1 Then If cboOperator.Text “between” Then Sqlcond3= “scoreInfo.course_score”&cboOperator.Text&Trim(txtscore1.Text) Else Sqlcond3= “scoreInfo.course_score”&cboOperator.Text& “”&Trim(txtScore1.Text)& “AND”&Tr

31、im(txtScore2.Text) End IfEnd If If sqlcond1 “”ThenSqlstr=sqlstr&sqlcond1Sign=trueEnd IfEnd IfIf sqlcond3 “”Then If sign=True Then Sqlstr=sqlstr & “ AND”& sqlcond3 Else Sqlstr=sqlstr & sqlcond3 End IfEnd IfsqlStr = sqlstr & “AND studentInfo.stu_no=scoreInfo.stu_no”_& “ AND courseInfo.course_no=scoreInfo.course_no”Set rs = ExecuteSQL(sqlStr,msgText)致 谢这次设计能够顺利完成我要感谢我的指导老师以及在此次设计中帮助过我的其他老师跟同学,因为是他们帮助我解决了在此次设计中我所不能解决的问题,才使得我的设计能够顺利完成。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号