在线考试系统—毕业设计论文内容摘要:

数据库连接和 CSS样式的实现。 连接数据库 (或 )公用模块,代码如下: % on error resume next ‘ 使用 Server对象的 CreateObjext方法建立 Connection对象 Set conn=() ‘ 连接数据库 “ DSN=test。 UID=sa。 PWD=sa。 Database=tempDB” ‘ 初始化一个连接 % CSS 是一种样式表( stylesheet)技术,也有的人称之为层叠样式表( Cascading Stylesheet)。 它的作用简单地说:就是可以使你在同一页面里使用不同的超链接样式和格式。 用 CSS仅仅改变一个文件就可以改变数百个网页的外观,个性化的表现而不损。 这些是因为网页样式表的强大和灵活的特性。 在网页使用如下代码: link href=css/ rel=stylesheet type=text/css。 用户登录界面的实现 系统的首页如图 41所示,现在还没有登记。 图 41 登录主界面 本界面为登录主界面 ,也是首页,通过此可以进入系统管理界面、进入在线考试系统以及发送电子邮件,比较简单,主要是通过图像地图(热点)来实现,实现代码如下: map name=Mapstu id=Mapstu area shape=rect coords=72,121,211,147 href=admin/ area shape=rect coords=72,158,211,184 href= area shape=rect coords=257,245,285,275 href=mailto: alt=请与我联系 /map 考生登录科目选择的实现 进入在线考试系统是考生进行登录和选择考试科目的界面如图 42所示。 图 42 考生登录主界面 本界面包括公开模式代码: !include file=include/,此界面要调用数据库 tryInfo表,在考试题目的下拉列表中要显示可以考试题目,其主要的调用代码和实现下拉列表的代码如下: % listExamName=Select ID,DB_EXAMNAME from tryInfo where DB_ONOFFT=39。 039。 set rsT= (listExamName) ‘ .execute 方法执行指定的查询、 SQL语句或存储过程等 % select name=selectTry % if then ‘ 数据表中没有侯选项,显示“没有要考的试卷” (option value=39。 239。 没有要考的试卷 /option) end if Num=1 ‘ 变量用于控制下拉列表中被选选项 while not ExamIDT=rsT(ID) ExamNameT=rsT(DB_EXAMNAME) if Num=1 then ‘ 处理被选选项 (option value=39。 amp。 ExamIDTamp。 39。 selectedamp。 ExamNameTamp。 /option) Num=0 Else ‘ 处理其他选项 (option value=39。 amp。 ExamIDTamp。 39。 amp。 ExamNameTamp。 /option) end if ‘ 下移一个记录 wend % /select 考试机的 IP 号显示是用 Request 对象中 ServerVariable 集合,代码为%=(remote_addr)%。 考试界面的实现 由登录界面提交后,要对考生输入的信息进行验证 ,主要用于判断是否有此考生,以及判断此考生是否已登录和已提交过,若没有登录和提交,然后才能进入考生考试界面如图 43所示。 图 43 考生考试界面 考生考试界面 ,可显示的题目类型有判断题、单选题和多选题三种类型。 本界面包括如下公用模式代码如下: !include file= !include file=include/ link href=css/ rel=stylesheet type=text/css 由于要访问的数据信息量大,因而要创建功能强大的访问数据库的对象 RecordSet,其实现的代码为: % set rsT=() trySql=select * from tryinfo where ID=amp。 Session(selectTryId) trySql,Conn % 考试的主要题型有判断题、单选题和多选题三种,它们显示处理方法基本相同,以下介绍其中一种单选择题的处理方法,其它类似。 % 39。 单选题 (br二 . b单选择 /bfont color=red 注:对的打勾、错的不要打勾 /fontbr) trySql=select * from amp。 Session(tryT)amp。 where TRY_ TYPE=39。 239。 trySql,Conn q_num=1 ‘ q_num为记录题目的个数 while not (q_numamp。 . amp。 rsT(TRY_SUBJECT)amp。 br) ‘ 显示题号和题干 % input type=radio name=%(DxRbamp。 q_num)% value=A A. %=rsT(a)% ‘ 显示 A选项 brinput type=radio name=%(DxRbamp。 q_num)% value=B B. %=rsT(b)% ‘ 显示 B选项 brinput type=radio name=%(DxRbamp。 q_num)% value=C C. %=rsT(c)% ‘ 显示 C选项 brinput type=radio name=%(DxRbamp。 q_num)% value=D D. %=rsT(d)% ‘ 显示 D选项 br % ‘ 移动下一个记录 q_num=q_num+1 ‘ 记录个数自动加 1 wend DxNum=q_num1 ‘ 保存单选题的小题总数 Session(Dx_Num)=DxNum % 学生完成考试提交后,进入评分,通过 ASP程序 案进行比较评分,最后计算出总分,并且写入数据库 Score表中。 管理员登录界面的 实现 管理员界面如图 44 所示,这是一个还没有登录的界面。 图 44 管理员登录界面 本界面为框架结构,分为左右两个框架,左边框架主要用于显示系统管理控制菜单,右边框加主要用于显示和操作具体内容。 其框架文件初始主要代码如下: frameset rows=* cols=200,* framespacing=0 frameborder=NO border=0 frame src= name=leftFrame scrolling=NO noresize frame src= name=mainFrame /frameset 左边框架文件名为 用来显示控制菜单,用层( DIV)的有关属性概念通过JavaScript语言编写函数来实现菜单隐藏和显示。 登录界面 ,它的功能是通过输入用户名和用户密码进行登录,登记成功后才能进行正常管理工作。 管理员管理页面的实现 管理员管理页面主要功能是对试题数据管理、考生数据管理、系统配置管理三大部分。 第一部 分试题数据管理,主要功能有题库信息浏览、添加题库建表、试题后台设置、浏览选择试题和添加试题数据。 下面分别加以说明。 题库信息浏览功能可以浏览当前系统中已建考试题库,并可以对题库信息进行修改和删除。 浏览题库信息调用数据库 tryinfo表中的记录,用 response 组件 write方法实现显示。 其中对题库信息的修改,但已建题库的表名不能修改,其它信息可改变如科目、考试题目等,修改使用 SQL语句中 UPDATE语句来实现,其主要代码: % tryId=Cint(request(id)) tryName=trim(request(TryName)) examName=trim(request(examName)) tryTime=Cint(trim(request(tryTime))) tryNum=Cint(trim(request(tryNum))) tryS=Cint(trim(request(tryS))) dbname=trim(request(dbname)) ModfiySql=UPDATE tryinfo set DB_TRYNAME=39。 amp。 tryNameamp。 39。 ,DB_EXAMNAME=39。 amp。 examNameamp。 39。 ,DB_TRYTIME=amp。 tryTimeamp。 ,DB_TRYNUM=amp。 tryNumamp。 ,DB_TRYS=amp。 trySamp。 ,DB_NAME=39。 amp。 dbnameamp。 39。 where ID=amp。 tryId set rsT=(ModfiySql) % 删除已建题库,首先要用 delete语句删除该题库表在 tryInfo表记录信息,然后用 drop table语句删除题库表,代码如下: % dbname=trim(rsT(DB_NAME)) delSql=delete * from tryInfo where Id=amp。 tryInfoIdT ‘ 从 tryInfo 删除记录信息 set rsT=(delSql) dropTableSql=drop table amp。 dbname ‘ 删除题库表 set rsT=(dropTableSql) % 添加题库建表通过表单提交的信息,首先用 insert into 语句在 tryinfo表中添加有关添加题库表的记录信息,然后用 create table语句创建题库表,实现代码如: % saveAddSql=insert into tryinfo values(amp。 NextIdamp。 ,39。 amp。 tryNameamp。 39。 ,39。 amp。 examNameamp。 39。 ,amp。 tryTimeamp。 ,amp。 tryNumamp。 ,amp。 trySamp。 ,39。 amp。 dbnameamp。 39。 ,39。 139。 ,39。 139。 ) ‘ 添加记录信息 set rsT=(saveAddSql) CreateTablesql=create table [amp。 dbnameamp。 ](ID int not null identity primary key,TRY_ TYPE char(1) null,TRY_ DIFF char(1) null,TRY_CENT int null,TRY_SUBJECT char(200) null,a char(200) null,b char(200) null,c char(200) null,d char(200) null, TRY_KEY char(4) null) ‘ 创建题库表 set rsT=(CreateTablesql) % 试题后台设置主要作用是设置可修改的题库(只能设置一个)和设置可考试的题库(可以设置多个),把设置的信息写数据库表 tryInfo中。 浏览选择试题界面的题库表先必须在试题后台设置进行设置,然后才能对相应的表进行有关的操作,如浏览、修改和删除。 其中修改题目代码分两种情况,一是单选题和多选题,需要所有字段的信息;二是 判断题,不需要 A、 B、 C、 D四种选项信息。 删除试题用 delete语句完成操作。 添加试题数据,输入试题信息提交后,首先要判断所添加的试题数据的合法性,然后用 insert into 语句进行添加试题数据。 添加试题数据分两种情况,第一情况是单选题和多选题,使用的 SQL语句如下: % insertSql=insert into amp。 Session(DbnameT)amp。 values(amp。 tryIdamp。 ,39。 amp。 tryselectTamp。 39。 ,39。 amp。 tryselectNamp。 39。 ,amp。 trycentamp。 ,39。 amp。 trysubjectamp。 39。 ,39。 amp。 tryselAamp。 39。 ,39。 amp。 tryselBamp。 39。 ,39。 amp。 tryselCamp。 39。 ,39。 amp。 tryselDamp。 39。 ,39。 amp。 tryselectQamp。 39。 ) % 第二情况是判断题,使用的 SQL语句如下: % insertSql=insert into amp。 Session(DbnameT)amp。 values(amp。 tryIdamp。 ,39。 amp。 tryselectTamp。 39。 ,39。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。