山东大学毕业论文(200届大学本科)题目:基于Web的学生学习分数录入与查询院别:专业:计算机科学与技术姓名:张淑霞指导教师:完成日期:200年月日基于Web的学生学习分数录入与查询山东大学+++++学院计算机科学与技术+++班张淑霞指导教师:李军关键词:aspwebJavaScript1、系统分析1.1系统的初步调查本设计主要采用asp技术,标准SQL语言以及Access数据库在web页面中实现以下几项主要功能:学校各班级名的添加、浏览、删除。学生基本信息录入、修改、删除。学生分数录入、修改、删除。学生总成绩、平均分等查询。教师可以通过客户端浏览器访问服务器端的Web站点,轻松实现以上功能。现在成绩管理系统软件有很多,其中不乏一些优秀的,但是这些软件要照顾到大多数用户,所以功能一般都是面向大众化的,而且系统也非常庞大,对于客户的一些特殊要求就不能满足,往往要重新开发。老师的要求是简单易用,可以用浏览器操作,所以开发的软件应在Web页面上操作。经过老师记录各项成绩,用计算器计算总分与平均分,例如计算平均分与总分就非常麻烦,要把分数一项一项用计算器加起来算,再如想修改学生的成绩那只有在上面涂涂画画。二是使用Excel,先将班级学生的资料都输入电脑,然后成绩就记录在一张工作薄上,计算总分与平均分非常方便,但是同样也存在不足之处。例如教师经常在家里或教室里或办公室里使用这个文件,那势必每天要把文件拷贝,这样容易感染病毒,也容易文件丢失,最重要的是它没有做到同步更新,在教室做的文件要拷回办公室重新覆盖更新。如果能开发设计一套软件,在继承原有优点的前提下,克服以上一些缺点,就可以提高教师的办公效率。1.2系统的可行性分析本软件所涉及到的软件知识范围主要有asp技术,html语言,标准SQL语言以及Access数据库,这些知识虽然比较简单,但是设计、搭配合理仍可以做出丰富实用的效果。利用asp对像结合SQL语句可以对Access数据库打开关闭,Web页面数据库Web页面进行数据添加、删除、修改、更新等的操作,而利用html语言可以使这些元素显示在Web页面上。学校具有独立服务器,软件可架构在现有的Web服务上,供教师访问使用。本系统是基于Web页的,学校教师已经具有上网浏览知识,对于Web页面中的操作无需培训就可以掌握其使用方法。系统结构分析2.1Web页面处理过程通过Web页面输入与学生成绩相关的一些信息,将数据存在数据库,再通过web页面显示处理好的信息,见下图。查询信息输入信息处理信息2.2软件系统数据库数据结构设计本软件包括三个数据库分别为:EmpID.class.mdb与student.mdb其中前者包含表classname,后者包含表student1,chengji……表是根据每个学期考试情况来确定有几张表组成的。以上表的数据结构设计如下图:classname表数据结构为:字段名字段类型长度说明Classname文本型默认班级名Student1表的数据结构为:字段名字段类型长度说明Num文本型默认学号Name文本型默认姓名Sex文本型默认性别Class1文本型默认班级chengji表的数据结构为:字段名字段类型长度说明Num文本型默认学号语文文本型默认成绩数学文本型默认成绩外语文本型默认成绩java文本型默认成绩asp文本型默认成绩系统工程文本型默认成绩……………….……2.3软件系统总体框架结构本软件系统的总体框架结构如下图所示:确认身份登陆窗口错误退出录入添加班级编辑学生基本信息录入系统删除修改选择班级浏览录入学生分数录入系统删除编辑修改浏览学生分数查询系统删除班级系统详细设计3.1.1班级处理首页利用框架结构,将班级处理四面利用超链接显示在本框架内。这四个页面分别为index.asp(窗口登陆)addclass1.asp(添加班级)、findclass.asp(浏览班级)、deleteclass1.asp(删除班级)。访问者进入网站,首先要进行登录页面(index.asp),访问者输入E-mail地址和密码来登录,然后单击“登录”按钮。输入的数据提交后与数据库中的用户表进行匹配。须创建一个记录来保存基于访问者登录的用户信息如图登陆信息框setRSFindEmp=conn.Execute(selectEmpID,ManagerfromLibEmpswhere_&EmailAddress='&Request.Form(EmailAddress)&'and_&Password='&Request.Form(Password)&')ifRSFindEmp.EOFthenTheMessage=密码或email地址不对.ElseSession(EmpID)=RSFindEmp(EmpID)Session(Manager)=RSFindEmp(Manager)Response.Redirect…..endif表单域EmailAddress和Password用于Where了句中来获取一个记录。如果访问者输入了一个无效的用户名,则记录集中将不会返回匹配的记录。我们可以通过查看EOF标记来判断一个记录集是否为空。为空,则访问者将被拒绝进入该系统。不为空,则访问者的EmpID值和Manager值将从记录集中返回。写入Session变量,变量将在整个网站的所有网页中都是有效的。这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页,3.1.2添加班级addclass1.asp文件有一个单行文本表单程序,让用户输入班级名,然后提交给表单处理程序addclass2.asp进行处理,在提交之前运行一个JavaScript函数,检查用户是否填写,如无重新输入。在addclass2.asp中获取表单变量,先判断是否为空字符串,如若是空字符串返回addclass1.asp重新填写。再次检查变量的格式是否为规定格式,如若不是返回。其它打开数据库,将变量写入class.mdb的classname表中,并显示“班级添加成功”返回。3.1.3删除班级deleteclass1.asp先读出数据库中存在的所有班级,然后通过超链接将选择要删除的班级名的变量传到deleteclass2.asp。在删除之前用JavaScript函数确认是否真的要删除。在deleteclass2.asp中,打开数据库,将传来的要删除的班级名变量与数据库中的班级名比较,若找到则删除,其它进行错误处理,删除成功后重定向到findclass.asp,显示所有剩下的班级。3.1.4浏览班级findclass.asp将数据库中所有班级名显示出来,班级名用超链接到choosesystem..asp(功能模块选择),并带上所选择班级的变量,传到下一页面以便于处理。3.2学生基本信息录入系统choosesystem..asp页分为三个功能模块,分别为:学生基本信息录入系统、学生分数录入系统、学生分数查询系统。该页面获取findclass.asp传递过来班级名的变量,将它设为一个session变量,以便于在以后的页面之间调用。3.2.1录入学生信息inputstu.asp由choosesystem.asp选择的功能模块,这个页面包括了以下表单:学号、姓名、性别、班级,先检查表单是否都填了,如果表单为空则弹出javascript函数重填,全部填完之后,提交到inputstu2.asp,由inputstu2来检查格式是否正确,如果不正确跳转到格式错误页面,然后返回重新输入。如果正确再检查此学生的学号是否与数据库中的学号存在同名,如果有返回重新输入,没有则打开数据库,添加记录到数据库每一个字段当中,最后关闭数据库,显示添加学生信息成功,返回到输入页面。信息录入%dimstrsql,rssetconn=createobject(ADODB.connection)//建立ADODB连接conn.open(DSN=inputstu;UID=;PWD=;)//打开数据源inputstusetrs=createobject(ADODB.Recordset)//建立记录对象rsrs.openinfor,conn,3,3//打开数据库里的infor表rs.Addnew//添加一条新的记录rs(name).value=request.form(name)/*取得表单名为name里的内容“送”到数据库name记录里(备注:表单名是信息录入界面里的提示信息是“姓名”的表单域的名字,以下类似)*/rs(sex).value=request.form(sex)rs(birth).value=request.form(birthday)3.2.2查询删除学生信息在inputstu.asp页面建立一按钮,将此按钮链接到deletestu.asp页面,此页面首先获取先前传过来的班级名的session变量,在数据库查找所有在此班级的学生学号、姓名、性别、班级。并以分页显示。,这些用javascript函数控制,做成超链接形式。在超链接后传递变量num,num为该记录学生的学号,以便于处理页面找到所要处理的记录。点击删除超链接后先确认是否真的要删除,deletestu2.asp获取该学生学号,在数据库中查询该学生的所有字段,并将它删除。同时启用错误处理语句,处理成功则显示“该学生被成功删除”并返回到deletestu.asp页面刷新记录。3.2.3查询修改学生信息如果在deletestu.asp页面选择的是修改超链接,则链接到modifystu.asp在该页面中同样先获取要修改学生学号的关键字段,然后打开数据库以表单形式获取显示学号、姓名、性别、班级,经修改后提交到modifystu1.asp页面,该页面先获取表单传过来的各字段变量,然后找到数据库中与变量num相同的学生,将新的数据更新原来的数据。如果有错进行错误处理,成功则显示“记录已经被成功修改”并返回到deletestu.asp页面刷新记录。如图信息填加图信息修改部分代码%setrs1=server.createobject(adodb.recordset)%%sql1=select*fromclass%%rs1.opensql1,conn,3,3%%dowhilenotrs1.eof%optionvalue=%=rs1(class)%%=rs1(class)%/option%rs1.movenext%%loop%%rs1.close%formaction=modifystu.aspmethod=post//以POST方式将修改的记录通过modifystu.asp页面的程序保存到数据库当中3.3学生分数录入系统在inputstu.asp页面选择“学生分数录入系统”功能模块,跳转到chengji.asp页面,因为一学期有若干周要登记分数成绩,所以在这个页面有一个下拉表单,可以选择登记,然后提交由inputscore.asp页面进行处理3.3.1分点成绩录入在inputscore.asp页面中先获取周次变量,表单由以下几个项目构成:学号、语文、数学、外语、java、asp、态度。在这里只要检查学号项目是否为空,如果为空不能添加,其它表单可以为空值,因为涉及到几周成绩有时候要经多次输入,将此表单提交给inputscore1.asp处理。Inputscore1.asp获取表单变量,打开数据库,将周次变量传递给数据库确定要打开哪一周的表,先检查是否根数据库中的数据重命,无则添加数据并显示”该学生成绩添加成功!“并返回上一页继续录入。3.3.2查询删除学生成绩在inputscore.asp页面建立一按钮,链接到deletescore.asp页面,该页面先获取先前传过来的班级名的session变量与周次的session变量。两表连接查询session变量中班级与周次学生的信息,包括以以下字段:student1.num、姓名、学号、语文、数学、外语、java、asp、等并以分页显示,每页显示数据18条记录。每页开始显示[第一页][上