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

📄 generator.asp

📁 可以进行智能出卷,在线测试和在线评价,界面友好,适合广大教学用户使用
💻 ASP
字号:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="connlib.asp"-->
<% 
'产生从1-n的随机数
function getrandom( n)
randomize timer
getrandom=Int(n*Rnd+1)
end function
%>

<%
dim num,num1
dim total,length,i,j,cur
dim ar(),arnew()
redim ar(100)
redim arnew(100)
'从FORM中得到要自动生成的试题数
num=Cint(Trim(Request.Form("number")))
num1=num
'创建记录集rs为原试题库,对应表testselect1;rsnew存放被选出的试题对应表testselect1new
rs.Open "Select * From testselect1" , conn, 3,3
rsnew.Open "Select * From testselect1new" , conn, 2,2

total=rs.RecordCount
length=total
'数组ar存放试题库中试题的ID号
i=1
Do while(Not rs.eof and i<100)
	ar(i)=rs("id")
	i=i+1
	rs.movenext
loop
rs.movefirst

'随机选出num个试题的ID号存放在数组arnew中
i=1
do while(length>1 and num>0)
	cur=getrandom(length)
	arnew(i)=ar(cur)
	for j=cur to length-1 
	   ar(j)=ar(j+1)
	next
	num=num-1
	length=length-1
	i=i+1
loop
'在记录集rsnew中清除以前的试题
Do while(Not rsnew.eof )
 rsnew.delete
 rsnew.movenext
loop
rsnew.updatebatch
'将数组arnew中所指示的试题存放在记录集rsnew中并保存在表testselect1new中
dim counter
counter=1
Do while(Not rs.eof )
	for i=1 to num1
	 if rs("id")=arnew(i) then
	 rsnew.addnew
	 rsnew("num")=counter
	 rsnew("question")=rs("question")
	 rsnew("option1")=rs("option1")
	 rsnew("option2")=rs("option2")
	 rsnew("option3")=rs("option3")
	 rsnew("option4")=rs("option4")
	 rsnew("answer")=rs("answer")
	 rsnew("score")=rs("score")
	 rsnew("type")=rs("type")
	 counter=counter+1
	    exit for
	 end if
	next
	
	rs.movenext
loop
rsnew.update
	
rs.close
rsnew.close
conn.close
set conn=nothing
erase ar
erase arnew
%>

<%=num%>
<%=total%>
<%response.Redirect("showtestlist.asp")%>

⌨️ 快捷键说明

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