java cas源码:ADODB.Recordset (0x800A0E79)错误

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 11:58:54
错误类型:
ADODB.Recordset (0x800A0E79)
对象打开时,不允许操作。
/couplet/test_view.asp, 第 23 行
id=36&before_word=&before_word=&before_word=&back_word=&id=54&before_word=&back_word=&Num=2&submit=%CC%E1%BD%BB

<%
num=request("num")
Set conn=Server.CreateObject ("ADODB.Connection")
conn.ConnectionString="driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("dl.mdb")
conn.Mode=3

conn.open
set rs=server.createobject("adodb.recordset") '对联类型
set rst=server.createobject("adodb.recordset")

for i=1 to num
sql="SELECT * FROM content where id="&session("id"&i)&"" '条件限制,session保存的相对应的题的ID
'response.write sql
'response.end
Rs.open sql,conn,3,2
if not rs.eof then '23行
%>
<%=rs("before_word")%><br>
<%=rs("back_word")%><br>
<%=rs("title")%><br>
<%
rs.movenext
end if
next
%>
解决了!
<%
rs.movenext
end if
rs.close
next
%> OK了,谢谢各位

把rs.open语句移到for外边去,改成下边这样
sql="SELECT * FROM content where id="&session("id"&i)&"" '条件限制,session保存的相对应的题的ID
'response.write sql
'response.end
Rs.open sql,conn,3,2
for i=1 to num
if not rs.eof then '23行
%>
<%=rs("before_word")%><br>
<%=rs("back_word")%><br>
<%=rs("title")%><br>
<%
rs.movenext
end if
next

估计有三种情况
1是你的连接对象conn打开了两次
2是你的表没有关闭而在下面重复又打开了一次
3是可能你查看的时候把数据库里的表打开看着哪

Rs.open sql,conn,3,2
改成
Rs.open sql,conn,1,1
试试