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 & "]"& " "&"<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>