Kan det vara så att objekten du använder i dina två sub-rutiner krockar.
Prova att inte använda samma namn på connObj, rsObj.
Hej!
Håller på att knåpa ihop ett litet forum script
Får dock ett felmedelande som jag inte kan förstå varför, (ok, min iq är rätt så begränsad, men ändå...)
Här är en koden samt felmedelandet i sin helhet.
<%Option Explicit
Response.Buffer = True
'### Sub showThreads START ###
Sub showThreads
Dim connObj, rsObj, SQLString, text
Set connObj = Server.CreateObject("ADODB.Connection")
ConnObj.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.Mappath("../db/forum.mdb")
Set rsObj = Server.CreateObject("ADODB.RecordSet")
SQLString = "SELECT id, user, date, subject, org, nt FROM entries WHERE org = True"
rsObj.Open SQLString, connObj, 3, 1
if rsObj.EOF then
rsObj.Close
connObj.Close
exit Sub
end if
rsObj.MoveLast
do until rsObj.BOF
if rsObj("nt") = True then
text = "<tr><td><B><a href='showmessage.asp?id=" & rsObj("id") & "'>" & rsObj("subject") & "</a>" & " [nt]" & "</b></td><td>" & rsObj("user") & "</td><td>" & rsObj("date") & "</td></tr>"
else
text = "<tr><td><B><a href='showmessage.asp?id=" & rsObj("id") & "'>" & rsObj("subject") & "</a></b></td><td>" & rsObj("user") & "</td><td>" & rsObj("date") & "</td></tr>"
end if
Response.Write text
Call subThreads(rsObj("id"), "")
srsObj.MovePrevious
Loop
rsObj.Close
connObj.Close
End Sub
'### Sub showThreads END ###
'### Sub subThreads START ###
Sub subThreads(id, indent)
Dim connObj, rsObj, SQLString, text
Set connObj = Server.CreateObject("ADODB.Connection")
Set rsObj = Server.CreateObject("ADODB.Connection")
connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.Mappath("../db/forum.mdb")
SQLString = "SELECT id, user, date, subject, nt, replyid, parentthread FROM entries WHERE replyid =" & id
rsObj.Open SQLString, connObj, 3, 1
indent = indent & " "
do while not rsObj.EOF
if rsObj("nt") = True then
text = "<tr><td><B>" & indent & "<a href='showmessage.asp?id=" & rsObj("id") & "'>" & rsObj("subject") & "</a>" & " [nt]" & "</b></td><td>" & rsObj("user") & "</td><td>" & rsObj("date") & "</td></tr>"
else
text = "<tr><td><B>" & indent & "<a href='showmessage.asp?id=" & rsObj("id") & "'>" & rsObj("subject") & "</a></b></td><td>" & rsObj("user") & "</td><td>" & rsObj("date") & "</td></tr>"
end if
Response.Write text
Call subThreads(rsObj("id"), indent)
rsObj.MoveNext
Loop
rsObj.Close
connObj.Close
End Sub
'### Sub subThreads END ###
%>
<HTML>
<HEAD>
<TITLE>Forum</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<table>
<tr>
<td>Rubrik</td><td>Startad av</td><td>Datum</td></tr>
<%call showThreads%>
</table>
</BODY>
</HTML>
och felmedelandet blir
ADODB.Connection fel '800a0e78'
Operation is not allowed when the object is closed.
/gc/forum/threads.asp, rad 42
och rad 42 ser ut så här
do while not rsObj.EOF
Någon som kan hjälpa?
Säkert bara ett "skit enkelt" fel, men jag hittar det i varje fall inte.
------------------
Ytterligare en pajsare utan fruktan som jönsar vidare
[Redigerat av adde2 den 09 jun 2000]