⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.asp.txt

📁 ASP 网页数据库短训教程源码
💻 TXT
字号:
<%@ Language=VBScript%> 
<HTML>
  <HEAD><TITLE>考试答题页面</TITLE></HEAD>
    <SCRIPT LANGUAGE=vbscript>		' 这里定义了一个显示剩余时间的子程序
      Public m
      Sub tick(k)
        m=k-1
        window.status = "剩余时间:" & TimeSerial(0,0,m)
        if m =0 then exit sub
        window.settimeout "tick(m)",1000		' 设定执行函数tick()的定时间隔为1秒
      End Sub
    </SCRIPT>
  </HEAD>
     <!--定义Window对象的load事件(加载该网页时)执行函数tick(),
         继而引发函数tick()中的window.setTimeout("tick();",1000)
         语句,从而使网页能在1秒内刷新一次时间-->
  <BODY onload =tick(30*60) bgcolor=LightYellow>
    <FONT size=6 face=方正舒体 color= blue>考试试卷</FONT><HR>
<%
    ' 通过Session对象中的非对象变量Pass来判断是用户是否合法登录,
    ' 如没有通过Login.asp进行考生编号和口令验证则视为非法考生,将重新
    ' 引导到Login.asp进行验证
  If Session("Pass") <> 1 Then
    Response.Redirect "Login.asp"
  End If
    ' 使用Connection对象打开数据库文件
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Server.MapPath("Exercise.mdb")
  objConn.Open
    ' 建立Recordset对象并返回表Topic所有记录,每一条记录为一道考试题
  strSQL = "SELECT * FROM Topic"
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.Open strSQL, objConn, 1, 1
  zs=objRS.RecordCount
  objRS.MoveFirst
  s=10								' 试卷题数
  redim a(s, 5),t(zs),c(s)
  for each j in t
    j=0
  next
    ' 随机抽取题号
  Randomize timer
  for j=1 to s
    k=int(rnd*zs+1)
    do while t(k)<>0
      k=int(rnd*s+1)
    loop
    t(k)=1    ' 第k题被选中
  next
  j=1:i=1
    ' 循环选取数据集objRS中的部分记录存放到数组中
  Do While Not objRS.Eof
    if t(j)=1 then
      a(i,1)=objRS("Question")
      a(i,2)=objRS("A")
      a(i,3)=objRS("B")
      a(i,4)=objRS("C")
      a(i,5)=objRS("D")
      i=i+1
    end if
    j=j+1
    objRS.MoveNext
  Loop
  b=a
  For i=1 to s
    redim f(4)
    for each j in f
      j=0
    next
    For k=1 to 4		' 这个循环在数组f()中存放随机排列的1、2、3、4
      j=Int(rnd*4+1)
      Do While f(j)<>0
        j=Int(rnd*4+1)
      Loop
      f(j)=k
      if k=1 then f(0)=j	' f(0)中存放的是正确答案的序号
    Next
    c(i)=f(0)
    For k=2 to 5
      a(i,k)=b(i,f(k-1)+1)
    Next
  Next
  Session("ans")=c		' 将答案存放在Session("ans")数组中
    ' 用临时变量i递增来生成客户端表单中的输入变量Ans1,Ans2,...
  for i=1 to s
%>
    <FORM action=Result.asp method=post>
      <TABLE border=0 cellPadding=1 cellSpacing=1 width=100% bordercolor="#0099FF">
        <TR><TD>&nbsp; <%=i & "." & a(i,1)%>
        <TR bgcolor="#99CCFF"> 
          <TD><INPUT name=Ans<%=i%> type=radio value="1"><%=a(i,2)%>
        <TR bgcolor="#CCCCFF">
          <TD><INPUT name=Ans<%=i%> type=radio value="2"><%=a(i,3)%>
        <TR bgcolor="#99CCFF">
          <TD><INPUT name=Ans<%=i%> type=radio value="3"><%=a(i,4)%>
        <TR bgcolor="#CCCCFF">
          <TD><INPUT name=Ans<%=i%> type=radio value="4"><%=a(i,5)%>
        <TR bgcolor="#99CCFF"> 
          <TD><INPUT name=Ans<%=i%> type=radio value="0" checked=true>
      </TABLE><P>
<% next %>
      <P align=center>
        <INPUT type=submit value=交卷>
        <INPUT type=reset value=重填>
    </FORM>
  </BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -