gusucode.com > ASP+ACCESS在线考试系统设计(源代码+论文) > ASP+ACCESS在线考试系统设计(源代码+论文)\郭晓璇论文第二稿\test\randommain.asp

    <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>试卷</title>
</head>

<%@ Language=VBScript %>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../试题库.mdb")

set rs=server.createobject("adodb.recordset")
set rs.activeconnection=conn
'提取试题
name=session("user")
tab1=session("tab")
sql="drop table " & name & tab1 &"暂时"
on error resume next
conn.Execute(sql)
sql="drop table " & name & tab1
on error resume next
conn.Execute(sql)


 '标记用户状态
sql="insert into 成绩登记表 (用户名,密码,成绩,试卷名称,试卷,当前状态) values ('"& session("user") &"','"& session("mima") &"',0,'"& session("user") & tab1 &"','"& tab1 &"','正在考试')"
r1=conn.execute(sql)
sql="select * from 试卷名称表"
set  base=conn.execute(sql)
'base.movefirst
do while not base.eof
	sql="update 成绩登记表 set 总分='"& base("总分") &"' where 试卷名称='"& session("user") & session("tab") &"'"
	conn.execute(sql)
	base.movenext
loop

sql= "create table "& name & tab1 &"暂时 (ID text(50),试题 memo,试题分数 text(10),答案 memo,试题ID  text(50),用户答案 memo,用户得分 text(50),试题题型 text(50),附加参数 number) "                       
on error resume next
conn.execute(sql) 

if tab1="计算机基础培训教程随机卷" then
	tablename="计算机基础培训"
end if
if tab1="计算机办公应用培训教程随机卷" then
	tablename="计算机办公应用培训"
end if
if tab1="Internet培训教程随机卷" then
	tablename="试题表"
end if

sql="select * from "& tablename &""
Set rs =conn.Execute(sql)
 	i=1
        dxtl=0
        pdtl=0
        mxtl=0
        pxtl=0
        lstl=0
 	jstl=0
        fxtl=0
 	rs.movefirst
  	do while not rs.eof    
 		temp=rs("试题题型") 
		Select case temp
			case "单项选择"
				dxtl=dxtl+1
				dxfs=dxfs+rs("试题分数")
			case "多项选择"
				mxtl=mxtl+1
				mxfs=mxfs+rs("试题分数")
			case "排序"
				pxtl=pxtl+1
				pxfs=pxfs+rs("试题分数")
			case "判断"
				pdtl=pdtl+1
				pdfs=pdfs+rs("试题分数")
		End Select
		i=i+1
		rs.movenext
	loop

dim mn
mn=1
%>

<body background="../images/bgcolor.gif" aLink=#cccccc>
<table border="0" width="100%">
  <tr><th width="100%" align="center"><h1><font color="#FF0000" face="楷体_GB2312"><%=tab1%></font></h1></th></tr>
</table>

<form action="randomuserresult.asp" id="FORM1" method="POST" name="FORM1" target="_top">

<%
imax=dxtl
iget=5
Dim Sl(4)
Dim n 
Dim iRnd 
Dim bFlag
Dim bflag1
bflag1 = True
bFlag = True
n = 0
Do While n < iget
	Randomize
  	iRnd = Int(imax * Rnd(imax) + 0)+1
	If bFlag = True Then
		Sl(0) = iRnd
		bFlag = False
		n = n + 1
 	Else
		bflag1 = True
		i = 0
		Do While i < n
			If iRnd = Sl(i) Then
				bflag1 = False
				Exit Do
			End If
			i = i + 1
		Loop
		
		If bflag1 = True Then
			Sl(n) = iRnd
			n = n + 1
		End If
	End If
Loop

	stzs=0
	sql1="select * from "& tablename &" where 试题题型='单项选择'"
	Set rs1 = conn.Execute( sql1 )
	response.write "<p id='单项选择题'></p>"
	response.write "<FONT color=red face=''>"
	response.write "<p id='单项选择题'>一. 单项选择题</FONT></p>"
	rs1.MoveFirst 
	
	x=0
	z=1
	do while not rs1.EOF
		for n=0 to 4
			y=sl(n)
			if x=y then 
				'给用户添加
				tm=rs1("试题")                
				tm=Replace(tm,"~","<br>",1)                       
				fs=rs1("试题分数")  
				an=rs1("答案")                       
				ID=rs1("试题ID")                       
				tx=rs1("试题题型") 
				cs=rs1("附加参数") 
				sql="insert into "& name & tab1 &"暂时(ID,试题,试题分数,答案,试题ID,试题题型,附加参数) values ("& mn &",'"& tm &"',"& fs &",'"& an &"',"& ID &",'"& tx &"',"& cs &")"                       
				'response.write sql
				conn.execute(sql)                       
				mn=mn+1
				on error resume next  
				response.write "<p>" & z & "." & tm & "(" & fs & "分)"
 	        		response.write "<br><font color=blue>请选择:</font><br>"
				if  rs1("附加参数")<=0 then
 	   				rs1("附加参数")=1
				end if
				For i = 1 To rs1("附加参数")
		        	  stzs=stzs+1
                Next
                response.write "<input type=radio name=" & rs1("试题ID") & "a1 id=rs1('试题ID') value='A'> A"
				response.write "<input type=radio name=" & rs1("试题ID") & "a1 id=rs1('试题ID') value='B'> B"
				response.write "<input type=radio name=" & rs1("试题ID") & "a1 id=rs1('试题ID') value='C'> C"
				response.write "<input type=radio name=" & rs1("试题ID") & "a1 id=rs1('试题ID') value='D'> D"

				z=z+1
			end if
		next
		rs1.movenext
		x=x+1
	loop
        rs1.close
%>
<%
imax=mxtl
iget=5
Dim Sl2(4)
bflag1 = True
bFlag = True
n = 0

Do While n < iget
	Randomize
  	iRnd = Int(imax * Rnd(imax) + 0)+1
	If bFlag = True Then
		Sl2(0) = iRnd
		bFlag = False
		n = n + 1
 	Else
		bflag1 = True
		i = 0
		Do While i < n
			If iRnd = Sl2(i) Then
				bflag1 = False
				Exit Do
			End If
			i = i + 1
		Loop
		
		If bflag1 = True Then
			Sl2(n) = iRnd
			n = n + 1
		End If
	End If
Loop
	sql2="select * from "& tablename &" where 试题题型='多项选择'"
	Set rs2 = conn.Execute( sql2 )
	response.write "<p id='多项选择题'></p>"
	response.write "<FONT color=red face=''>"
	response.write "<p id='多项选择题'>二. 多项选择题</FONT></p>"
	rs.MoveFirst 
	
	x=0
	z=1
	do while not rs2.EOF
		for n=0 to 4
			y=sl2(n)
			if x=y then
				'给用户添加
				tm=rs2("试题")
				tm=Replace(tm,"~","<br>",1)                       
				fs=rs2("试题分数")  
				an=rs2("答案")                       
				ID=rs2("试题ID")                       
				tx=rs2("试题题型") 
				cs=rs2("附加参数") 
				sql="insert into "& name & tab1 &"暂时 (ID,试题,试题分数,答案,试题ID,试题题型,附加参数) values ("& mn &",'"& tm &"',"& fs &",'"& an &"',"& ID &",'"& tx &"',"& cs &")"                       
				conn.execute(sql)                       
				mn=mn+1
				on error resume next

				response.write "<p>" & z & "." & tm & "(" & fs & "分)"
 	        		response.write "<br><font color=blue>请选择:</font><br>"
				if  rs2("附加参数")<=0 then
 	   				rs2("附加参数")=1
				end if
				For i = 1 To rs2("附加参数")
		        	  stzs=stzs+1
                		Next
				response.write "<input id=rs2('试题ID') name=" & rs2("试题ID") & "a1 type='checkbox' value='A' >A"
				response.write "<font color=white>_________</font>"
				response.write "<input id=rs2('试题ID') name=" & rs2("试题ID") & "a2 type='checkbox' VALUE='B' >B"
				response.write "<font color=white>_________</font>"
				response.write "<input id=rs2('试题ID') name=" & rs2("试题ID") & "a3 type='checkbox' value='C' >C"
				response.write "<font color=white>_________</font>"
				response.write "<input id=rs2('试题ID') name=" & rs2("试题ID") & "a4 type='checkbox' value='D' >D"
				response.write "<font color=white>_________</font>"
				z=z+1
			end if
		next
		rs2.movenext
		x=x+1
	loop
        rs2.close
%>

<%
imax=pdtl
iget=5
Dim Sl3(4)
bflag1 = True
bFlag = True
n = 0

Do While n < iget
	Randomize
  	iRnd = Int(imax * Rnd(imax) + 0)+1
	If bFlag = True Then
		Sl3(0) = iRnd
		bFlag = False
		n = n + 1
 	Else
		bflag1 = True
		i = 0
		Do While i < n
			If iRnd = Sl3(i) Then
				bflag1 = False
				Exit Do
			End If
			i = i + 1
		Loop
		
		If bflag1 = True Then
			Sl3(n) = iRnd
			n = n + 1
		End If
	End If
Loop
	sql3="select * from "& tablename &" where 试题题型='判断'"
	Set rs3 = conn.Execute( sql3 )
	response.write "<p id='判断题'></p>"
	response.write "<FONT color=red face=''>"
	response.write "<p id='判断题'>三.判断题</FONT></p>"
	rs.MoveFirst 
	
	x=0
	z=1
	do while not rs3.EOF
		for n=0 to 4
			y=sl3(n)
			if x=y then
				'给用户添加
				tm=rs3("试题")                       
				fs=rs3("试题分数")  
				an=rs3("答案")                       
				ID=rs3("试题ID")                       
				tx=rs3("试题题型") 
				cs=rs3("附加参数") 
				sql="insert into "& name & tab1 &"暂时(ID,试题,试题分数,答案,试题ID,试题题型,附加参数) values ("& mn &",'"& tm &"',"& fs &",'"& an &"',"& ID &",'"& tx &"',"& cs &")"                       
				conn.execute(sql)                       
				mn=mn+1
				on error resume next

				response.write "<p>" & z & "." & tm & "(" & fs & "分)"
 	        		response.write "<br><font color=blue>请判断:</font><br>"
				if  rs3("附加参数")<=0 then
 	   				rs3("附加参数")=1
				end if
				For i = 1 To rs3("附加参数")
		        	  stzs=stzs+1
                		Next
				response.write "<input type=radio name=" & rs3("试题ID") & "a1 id=rs3('试题ID') value='正确'> 正确"
				response.write "<input type=radio name=" & rs3("试题ID") & "a1 id=rs3('试题ID') value='错误'> 错误"

				z=z+1
			end if
		next
		rs3.movenext
		x=x+1
	loop
        rs3.close
%>
<%
imax=pxtl
iget=5
Dim sl4(4)
bflag1 = True
bFlag = True
n = 0

Do While n < iget
	Randomize
  	iRnd = Int(imax * Rnd(imax) + 0)+1
	If bFlag = True Then
		sl4(0) = iRnd
		bFlag = False
		n = n + 1
 	Else
		bflag1 = True
		i = 0
		Do While i < n
			If iRnd = sl4(i) Then
				bflag1 = False
				Exit Do
			End If
			i = i + 1
		Loop
		
		If bflag1 = True Then
			sl4(n) = iRnd
			n = n + 1
		End If
	End If
Loop
	sql4="select * from "& tablename &" where 试题题型='排序'"
	Set rs4 = conn.Execute( sql4 )
	response.write "<p id='排序题'></p>"
	response.write "<FONT color=red face=''>"
	response.write "<p id='排序题'>四.排序题</FONT></p>"
	response.write "<p>请将答案紧凑的排列在一起,填入下面的框里,如不按要求,后果自负</P>"
	m = 1
	rs4.MoveFirst 
	
	x=0
	z=1
	do while not rs4.EOF
		for n=0 to 4
			y=sl4(n)
			if x=y then
				'给用户添加
				tm=rs4("试题")                       
				tm=Replace(tm,"~","<br>",1)                       
				fs=rs4("试题分数")  
				an=rs4("答案")                       
				ID=rs4("试题ID")                       
				tx=rs4("试题题型") 
				cs=rs4("附加参数") 
				sql="insert into "& name & tab1 &"暂时 (ID,试题,试题分数,答案,试题ID,试题题型,附加参数) values ("& mn &",'"& tm &"',"& fs &",'"& an &"',"& ID &",'"& tx &"',"& cs &")"                       
				conn.execute(sql)                       
				mn=mn+1
				on error resume next

				response.write "<p>" & z & "." & tm & "(" & fs & "分)" 
 	        		response.write "<br><font color=blue>请输入答案:</font><br>"
				if  rs4("附加参数")<=0 then
 	   				rs4("附加参数")=1
				end if
				For i = 1 To rs4("附加参数")
 	               		  response.write  "[" & i & "]"& "&nbsp;&nbsp;"&"<input type='text' size='13' name=" & rs4("试题ID") & "a" & i &">"
		        	  stzs=stzs+1
                		Next
				z=z+1
			end if
		next
		rs4.movenext
		x=x+1
	loop
        rs4.close
        session("stzs")=stzs 
%>


</p>
<div id="warning" style="visibility:hidden; width:63%; height:30;margin-left:15;padding-top:5;padding-left:8;background-color:#ffdcdc">
<font face="楷体_gb2312" style="font-size:14pt; font-weight:bold;text-align:center;color:blue">
<p>交卷后,您不可以再对试卷做任何改动。所以请您在确认无误后点击下面按钮!
</p></font>
</div>


<div align="center">
<center><p>
<input type="submit" value="交卷" name=bt
  onmouseover="warning.style.visibility ='visible'" 
  onmouseout="warning.style.visibility ='hidden'" 
  onclick="VBScript:form1.submit()">
<input type="submit" value="保存" name=bt
  onmouseover="warning.style.visibility ='visible'" 
  onmouseout="warning.style.visibility ='hidden'" 
  onclick="VBScript:form1.submit()">
  <input id="reset1" type="reset" value="     " style="background-image: url('../images/清空.jpg'); font-family: 宋体, 隶书; font-size: 14pt"></p>
  </center></div><table>
  </table>
</form>

</body>
</SCRIPT>
</html>