webForumDet fria alternativet

Åtgärden är inte tillåten när objektet är stängt.

ASP

11 svar · 1 125 visningar · startad av _Axtelius_

Medlem sedan feb. 20047 inlägg
Frågan#1

Jag får dett meddelande i mitt adminsystem:
ADODB.Connection fel '800a0e78'

Åtgärden är inte tillåten när objektet är stängt.

/pf/admin1.asp, rad 211

kod: http://www.aspsidan.se/code/default.asp?c=4143&error=211
säkert inte bäst kodat men det funkar.

MVH Simon

Medlem sedan juni 2004533 inlägg
#2

Jag har sett betydligt värre... ;)

Jag ser inget fel i koden där. På rad 230 ska du däremot få det felet.

Såg även lite brister på vägen:

72: Recordsetet stängs inte om det är tomt.
178: Recordsetet stängs aldrig.
223: Recordsetet stängs aldrig.
230: Du stänger ett recordset som inte öppnats.
250: Du stänger databaskopplingen på fel ställe.
254: Här ska du stänga databaskopplingen.
257: Du ska inte använda Response.End för att avsluta koden normalt. Den avslutas när filen är slut.

Jag kan ha fel på någon punkt. Koden är inte så bra indenterad, så det är svårt att följa den.

Medlem sedan nov. 20017 144 inlägg
#3

indenterad =

If 1 = 1 then
       Response.write "Puhh, skönt."
Else
       Response.write "Du är inte på jorden"
End if
Medlem sedan feb. 20047 inlägg
#4

Har åtgärdat de fel som du beskrev(tror jag), får detta felmeddelande nu:
ADODB.Connection fel '800a0e78'

Åtgärden är inte tillåten när objektet är stängt.

/pf/admin1.asp, rad 213

kod: http://www.aspsidan.se/code/default.asp?c=4143&error=213
Får samma fel om jag tar bort Set RecSet ...

Medlem sedan juni 2004533 inlägg
#5

Jag ser absolut inget fel i koden som öppnar recordsetet.

Eftersom du inte använder recordsetet till att uppdatera databasen, och bara ska läsa det från början till slut, så kan du ju öppna det på det resurssnålaste sättet:

strRedPf = "Select * from pf order by datum DESC"
Set RecSetPf = objCon.Execute(strRedPf)

Testa om det blir bättre, annars får du börja felsöka. Kolla att databaskopplingen är öppnad när den där koden körs, och liknande.

Medlem sedan feb. 20047 inlägg
#6

Jag får detta då jag skriver ut objCon.
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=C:\WINDOWS\Skrivbord\Aw\pf\stat\statdb.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

och detta då jag skriver ut strRedPf:

Select * from pf order by datum DESC

kan det var nåt fel med den förstnämda ?

Medlem sedan juni 2004533 inlägg
#7

Den första ser helt rätt ut. Standardegenskapen för Connection är ConnectionString, så när du tar värdet av objektet så får du uppkopplingssträngen.

Det borde dock räcka med detta i uppkopplingssträngen:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WINDOWS\Skrivbord\Aw\pf\stat\statdb.mdb

Har du testat med Execute?

Medlem sedan feb. 20047 inlägg
#8

Går det inte att bara skriva
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=stat/statdb.mdb ??

Medlem sedan juni 2004533 inlägg
#9

Nej. Då kommer den att leta efter filen utifrån där asp.dll ligger, alltså någonting som c:\windows\system32\stat\statdb.mdb.

Medlem sedan juni 200032 967 inlägg
#10

Det verkar som att du missade Guffas fråga också.

Guffa skrev:

Har du testat med Execute?

Medlem sedan dec. 19996 721 inlägg
#11

Set RecSetPf = Server.CreateObject("ADODB.Connection")

ska vara

Set RecSetPf = Server.CreateObject("ADODB.Recordset")

Medlem sedan juni 2004533 inlägg
#12

Såklart det ska vara. Tänk att jag missade det.

Det besvarar ju min fråga också. Ifall han hade testat med Execute istället så hade det ju fungerat.

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)