随着互连网技术的发展网上教学将成为人们接受再教育和终身教育的主要形式。在网上学校中,人们可以不受时间和空间的限制,随时随地选学任何地方的任何课程。网上学校的发展对网上考试的发展提出了迫切的要求。这里是我用Asp和Access数据库实现的一个网上考试系统。当用户凭用户名和口令登录时,系统首先检查该用户是否已参加过考试,若是则进行成绩查询,若否则从题库中提取考题供用户解答。等用户提交答卷后,系统进行评分并将成绩登记入库。 一. 数据库设计 首先建立一数据库exercise.mdb,其中包括两个表:user和test,user表中有包括三个字段: 字段名称:user;字段类型:文本;字段大小:20。存储用户名 字段名称:passwd;字段类型:文本;字段大小:20。存储用户密码 字段名称:score;字段类型:数字;字段大小:整型。存储用户成绩 test表中有五个字段: 字段名称:question;字段类型:文本;字段大小:255。存储考试题目 字段名称:a;字段类型:文本;字段大小:100。存储选项A的答案 字段名称:b;字段类型:文本;字段大小:100。存储选项B的答案 字段名称:c;字段类型:文本;字段大小:100。存储选项C的答案 字段名称:d;字段类型:文本;字段大小:100。存储选项D的答案 字段名称:ans;字段类型:文本;字段大小:2。存储正确答案 二.程序原代码 下面是该系统中较核心的三段原程序,希望对开发类似系统的读者取到抛砖引玉的作用,读者也可对其进行改进以适应自己的系统。 'Login.asp源程序,检验用户是否合法 < %@ Language=VBScript % > < % name=trim(request("name")) passwd=trim(request("passwd")) '检查用户是否输入信息 if name< >"" and passwd< >"" then Set conn = Server.CreateObject ("ADODB.Connection") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("exercise.mdb") set rs= server.createobject("adodb.recordset") sql= "select * from user where user='" &name& "' and passwd='" & passwd & "'" '检查用户的合法性 Set rs= conn.Execute(sql) if not(rs.eof) then 检查用户是否已参加过考试, 若是则进行成绩查询
|