webForumDet fria alternativet

Objekt stängt?

ASPur ASP

7 svar · 532 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#1

Får detta felmess:

ADODB.Connection (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
/hhgspunktse/hhgs/index.asp, line 680

... Det kommer från följande kod:

<% if RecSet("TradID") = "0" then %>
                <%	Set RecSet2 = Server.CreateObject("ADODB.Connection")
                Visa2 = "SELECT * FROM forumkategori WHERE Visa = 'Ja' Order by Ordning "
                RecSet2.Open Visa2, Connect, adOpenStatic, adLockOptimistic %>                <--------- rad 680
                <select size="1" name="Forumkategori" style="width: 248; font-family: Trebuchet MS; font-size: 12px; color:#000000" >
                <% Do Until RecSet2.EOF %><option value="<%=RecSet2("FKategoriID")%>"><%=RecSet2("Rubrik")%></option>
                <% RecSet2.Movenext
                loop
                RecSet2.Close
	            Connect2.Close 
                %>

Denna koden ligger i en redan öppnad dbkoppling som ser ut så här:

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
    Visa = "SELECT * FROM foruminlagg WHERE ForumID = " & Trim(Request.QueryString("ForumID")) & " "

   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

Borde inte db:n vara öppen då? Vad är felet?

Medlem sedan dec. 200012 464 inlägg
#2

Det tyder på att objeketet connect är oöppet. Skall det vara connect2 istället? Du använder det namnet senare i koden.

Flyttas från SQL.

Medlem sedan dec. 20003 563 inlägg
#3

Det beror på om du inkluderat
<!--#INCLUDE FILE="adovbs.inc"--> eller inte.

Medlem sedan jan. 20034 480 inlägg
#4

cyprys skrev:

Det beror på om du inkluderat
<!--#INCLUDE FILE="adovbs.inc"--> eller inte.

adovbs är inkluderat, vad gäller då?

Medlem sedan dec. 20003 563 inlägg
#5

Detta borde fungera i alla fall. Och angående mitt förra inlägg så kan vi försumma det. Kollade lite närmare sen.

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")

SqlVisa = "SELECT * FROM foruminlagg WHERE ForumID = " & Trim(Request.QueryString("ForumID")) & " "
Set RecSet = Connect.Execute(SqlVisa)

if not RecSet.Eof then
if RecSet("TradID") = "0" then
	SqlVisa2 = "SELECT * FROM forumkategori WHERE Visa = 'Ja' Order by Ordning"
	Set RecSet2 = Connect.Execute(SqlVisa2)
	response.write "<select size=""1"" name=""Forumkategori"" style=""width: 248; font-family: Trebuchet MS; font-size: 12px; color:#000000""> & chr(10)
	
	Do Until RecSet2.EOF
		response.write "<option value=""" & RecSet2("FKategoriID") & """>" & RecSet2("Rubrik") & "</option>" & chr(10)
	RecSet2.Movenext
	loop
	response.write "</select>"
	Set RecSet2 = nothing
end if
end if

Set RecSet = nothing : RecSet.close
Set Connect = nothing : Connect.close
Medlem sedan jan. 20034 480 inlägg
#6

Men på min kod, vad är det för fel där?

Medlem sedan jan. 20034 480 inlägg
#7

hm, intressant. Testade att lägga till

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")

efter rad 678. Det gick inte för då var den plötsligt öppen sedan tidigare... Tar man bort den är den fungerar koden inte för att den är stängd sedan tidigare.

Medlem sedan jan. 20034 480 inlägg
#8

funkade när jag tog bort Connect2.Close

133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)