随机抽题遇到的问题,各位大哥请指教
有时候能现实几条纪录,有时不行
错误提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
ADODB.Recordset 错误 '800a0bcd'
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/dsn/test/test.asp,行79
<%
Dim con
Set con = GetMdbConnection("design.mdb")
Dim sql
sngSql = "SELECT * FROM Test WHERE ÌâÐÍ ='µ¥ÏîÑ¡ÔñÌâ' "
MutiSql = "SELECT * FROM Test WHERE ÌâÐÍ ='¶àÏîÑ¡ÔñÌâ' "
Dim rs
%>
<Form action = "score.asp" Method = "POST">
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sngSql, con, 3,2
ShowTest rs, "Radio"
rs.Close
Set rs = Nothing
%>
<Center><B>¶àÏîÑ¡ÔñÌâ £¨¹²10Ì⣬ÿÌâ5·Ö£©</b></center><p>
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open MutiSql, con,3,2
ShowTest rs, "CheckBox"
rs.Close
Set rs = Nothing
%>
<Div Align = "Center">
<INPUT TYPE = "Submit" Name = "sub" Value = "½»¾í">
</Div>
</Form>
<%
Function GetMdbConnection(Filename)
Dim con
Dim strProvider
Dim strDBPath
Set con = Server.CreateObject("ADODB.Connection")
strProvider = "Provider = Microsoft.Jet.OLEDB.4.0;"
strDBPath = "Data Source ="&Server.MapPath(filename)
con.Open strProvider&strDBPath
Set GetMdbConnection = con
End Function
%>
<%
Sub ShowTest (rs, TextType)
count = rs.RecordCount
Dim indexCount '保证抽题的数目
indexCount = 0
Dim CurrMark '读取标志位mark,mark用来标记该题是否被抽到过
While indexCount < 3
Randomize
CurrProNo= Fix(Rnd*Count)
rs.Move CurrProNo
If Not rs.EOF AND Not rs.BOF Then
CurrMark = rs("mark")
If CurrMark= 0 Then
rs("mark") = 1
indexCount = indexCount+1
%>
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#C0C0C0" width="100%" id="AutoNumber2" cellpadding="0">
<tr>
<td width="100%" bgcolor="#EFEFEF" height="20"> <B> <%=indexCount%>.<%=rs("ÌâÄ¿")%>(<%=rs("·ÖÊý")%>·Ö)</B></Td>
</tr>
<%
For J = 1 To 4
%>
<TR>
<td width="100%"><INPUT TYPE = <%=TextType%> Name = No<%=rs("ÌâºÅ")%> Value = <%=J%>>
<%=rs("Ñ¡Ïî"&J)%> <BR> </TD>
</TR>
<%
Next
End If
End If
%>
</Table>
<%
Wend
End Sub
%>