毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

ASP+Access网络在线考试系统 第9页

更新时间:2007-10-15:  来源:毕业论文

用户注册。如果submit的值为“管理”就转到admin文件夹中的login.asp页。重点程序如下:

set rs = server.createobject("adodb.recordset")

rs是一个变量,用来存放一个recordset对象。

sql="select * from student where studentname='" & Request.Form("studentname") & "' and studentpassword='" & Request.Form("studentpassword") & "'"

变量sql代表一个SQL语句,功能是从表student中选出用户名和密码与考生提交的用户名和密码都相同的记录。

rs.open sql,conn,1,1

该语句的功能是执行sql语句并把记录集结果存储在变量rs中。

rs.close作用是关闭纪录。

session("studentname")=request.form("studentname")

该句的意思是把表单提交的变量studentname的值赋给一个session对象studentname。这个对象用来存储用户名,它在该用户对每个页面的访问中有效。

set rs=nothing含义是清空rs变量。

call endConnection()是调用conn.asp中的过程,用来关闭于数据库的连接。

3.<register.asp>

该文件实现了用户注册的功能,用户只要填写想要注册的用户名及密码,文件首先查看用户名是否已经存在,如果存在就提示该用户名已经存在,否则就将用户输入的信息添加到数据库中的student表内。然后用户就可以使用自己注册的用户名和密码登录在线考试系统进行在线考试。

在文件中,表单提交给registerAsp自身进行处理,如果submit值为“注册”首先进行判断看用户名或密码是否为空。如果为空就显示“错误!用户名或密码不能为空!”的信息。如果不为空,进行下一步判断,看student表中是否已经存在用户想要注册的用户名,如果存在,就显示信息“错误!该用学生存在!”,如果不存在就将要注册的用户名和密码写入student表。代码如下:

sql="insert into student(studentname,studentpassword) values('" & cstr(trim(request("studentname"))) & "','" & cstr(trim(request("studentpassword"))) & "')"

conn.execute sql

最后,用一个Vbscrip语言编写的消息框显示注册成功信息。

4.<selectsubject.asp>

该文件是实现用户登录在线考试系统后进行考试科目选择的功能,选择科目后进入考试界面。

该文件首先是将subject表中所有的纪录都以单选项的方式选出来,如果没有纪录,则显示“对不起,暂时没有任何考试科目。”用户按提交后,表单仍然提交给文件自身。处理程序首先判断用户是否选择了一个考试科目,如果没有选择显示“你没有选择考试科目,请选择考试科目!”如果选择了某个考试科目,先把该科目赋值给一个session变量selectsubjectname,然后从subject表中选出该科的相关信息,并也都设成session变量。Singlenumber表示单选试题数量,multinumber表示多选试题数量,singleper表示单选试题分值,multiper表示多选试题分值,testtime表示考试总时间。接着进入考试界面。

5.<test.asp>

该文件就是考试界面,实现真正的动态随机选题,并对每个考生的考试时间进行监控,到结束时间后自动给出提示。

该文件的总体构架是使用了if else 语句进行了一个选择,刚进入该页面submit1得值肯定不等于“开始考试”,所以先显示出“开始考试”的按钮。按下以后,首先把当前时间以分种为单位存储在session的变量starttime中。然后进入随机抽取试题部分,单选题和多选题的抽取很相似,只不过一个是单选按钮,一个是多选按钮罢了。这里只解释单选题的部分。

strid1=""是定义了一个字符串变量,并先赋值为空。

Randomize是产生随机种子,在使用rnd()函数之前一定要先用Randomize产生随机种子才能实现其产生01之间随机数的功能。

for i=1 to session("singlenumber")直到next是选择singlenumber(代表某科目的单选题数量)个单选题。

下面的代码实现了从数据库中随机不重复的选题:

set rs=server.createobject("adodb.recordset")

sql="select * from question where subjectname='"&session("selectsubjectname") & "'and type='单选题' and haveselect=0 "

rs.open sql,conn,3,2

count=rs.recordcount

temp=fix(count*rnd(10))

rs.move temp

rs("haveselect")=1

rs.update

strid1=strid1 & rs("ID") & ","

其中haveselect标志某题是否已经被选过。

Count变量用来存放所有未被选过的单选题的总数。

temp变量用来存放0Count之间的随机整数值。

rs.move temp是将当前记录移到第temp条纪录。

rs("haveselect")=1是将当前选出的纪录的标志位设为1,然后用rs.update把数据库中的相应标志位改为1

strid1=strid1 & rs("ID") & ","是将所有选出的试题的id号用逗号分割后存储在strid1一个变量中,以方便的把所有选出的试题的id号传到resultAsp文件中,这也是本设计的一个独特的地方。需要说明的是strid1变量的最后是一个逗号,在下一个文件中会详细说明如何进行处理。

set rs=server.createobject("adodb.recordset")

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

ASP+Access网络在线考试系统 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。