Avatar billede jespere Nybegynder
24. januar 2006 - 10:11 Der er 3 kommentarer og
1 løsning

Operation is not allowed when the object is closed

Jeg har en asp-side hvor jeg gemmer et recordset i en session variabel og henter det igen hvis start > 1

if start > 1 and not IsEmpty(session("poster")) Then
  set poster = session("poster")
  poster.movefirst
else
  Set poster = conn.execute(noget sql-kode)
  set session("poster") = poster
end if

Jeg ved det lyder tosset, men på nogle browsere har jeg et problem.

Hvis jeg i slutningen af asp-siden har følgende:

conn.close
set conn = nothing

så får jeg denne fejl:

ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.

Hvis jeg fjerner

conn.close
set conn = nothing

er der ingen problemer.

Er der nogen som har en fornuftig forklaring - især på at det kun er på nogle browsere problemet opstår.

Mvh
Jesper
Avatar billede ldanielsen Nybegynder
24. januar 2006 - 11:28 #1
Du kan (skal) kun bruge conn.close hvis du på samme side har brugt conn.open.
Avatar billede jespere Nybegynder
24. januar 2006 - 11:35 #2
Det gør jeg naturlig også.
Jeg regnede ikke med at det var nødvendigt at fortælle.
Hvis ikke jeg havde conn.open med, så ville min conn.execute(..) jo heller ikke virke, hvilket den altså gør.

Mvh
Jesper
Avatar billede ldanielsen Nybegynder
24. januar 2006 - 13:54 #3
Hvis det er conn.close der fremkalder fejlen, så må det jo være fordi conn ikke er åben. Så check lige din kode igen. Alt dette forklarer ikke at fejlen kun opstår i nogle browsere, hvilket jeg synes er meget sært. Det er kun ting som cookies og javascript der er browserafhængigt.

I øvrigt fraråder mange at man gemmer recordsets i session variabler. overvej at bruge et array i stedet:

Session("poster") = poster.GetRows()

Session("poster") er nu et 2-dimensionelt array.
Avatar billede jespere Nybegynder
06. marts 2006 - 14:51 #4
Jeg lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester