/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Fejl ! men hvad og hvor skal jeg lede
Fra : Is


Dato : 13-12-03 19:55

Hej

Håber det er den rigtige gr ?

Jeg får følgende fejl :
---
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk

/azero/www/privat/listen.asp, line 221

---
Jeg har en .asp fil der henter data i en access database, laver en liste ,
hvor indholdet bliver formateret ud fra bestemte kriterier, og det virker
tilsyneneladende altsammen, men fejlmeddelsen står nederst på siden.
Asp filen slutter sådan :
---

<%
medlemsliste.MoveNext
Wend
%>
</table>
<%

Set medlemsliste = Nothing
Set strConnect = Nothing

### medlemsliste.Close
strConnect.Close


%>
</body>
</html>

den linje med ### er linje 221, og hvis jeg sætter den ud af kraft med en '
, får jeg ingen fejl

link til siden :

http://www.dch-haslev.dk/privat/listen.asp


Hvor skal jeg søge efter fejlen, og hvad kan det være ??

På forhånd tak .

--
Venlig hilsen
Erik Isager



















 
 
Jens Gyldenkærne Cla~ (13-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-12-03 21:06

Is skrev:

> Et objekt er obligatorisk

[snip]

> Set medlemsliste = Nothing

Her fjerner du referencen til medlemsliste.

> ### medlemsliste.Close

- og her prøver du så at lukke den. Det er gal rækkefølge. Du kan
ikke lukke et objekt du ikke har nogen reference til. Byt om på
linjerne så du først lukker (.Close) medlemsliste og strConnect og
derefter deallokerer dem (Set foo = Nothing)

NB: Du har en lang række tomme linjer efter din signatur - hvorfor
det?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Is (13-12-2003)
Kommentar
Fra : Is


Dato : 13-12-03 21:25


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns9450D6A2CAAC3jcdmfdk@gyrosmod.cybercity.dk...
> Is skrev:
>
> > Et objekt er obligatorisk
>
> [snip]
>
> > Set medlemsliste = Nothing
>
> Her fjerner du referencen til medlemsliste.
>
> > ### medlemsliste.Close
>
> - og her prøver du så at lukke den. Det er gal rækkefølge. Du kan
> ikke lukke et objekt du ikke har nogen reference til. Byt om på
> linjerne så du først lukker (.Close) medlemsliste og strConnect og
> derefter deallokerer dem (Set foo = Nothing)
---
Tak, men det hjalp ikke nok, jeg har ændret til:

medlemsliste.Close
strConnect.Close

Set medlemsliste = Nothing
Set strConnect = Nothing

og så får jeg bare fejl på linjen : strConnect.Close (linje 219)

---
>
> NB: Du har en lang række tomme linjer efter din signatur - hvorfor
> det?
---
ja det var en fejl , undskyld.

link til siden: http://www.dch-haslev.dk/privat/listen.asp
--
Venlig hilsen
Erik Isager



Jens Gyldenkærne Cla~ (13-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-12-03 21:43

Is skrev:

> og så får jeg bare fejl på linjen : strConnect.Close (linje
> 219)

Hvordan opretter du strConnect? Hvis variablen - som navnet lidt
antyder - kun indeholder din connection-streng og ikke selve
forbindelsen, så er det den gale variabel du prøver at lukke.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Is (13-12-2003)
Kommentar
Fra : Is


Dato : 13-12-03 22:22


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns9450DCD6CB434jcdmfdk@gyrosmod.cybercity.dk...
> Is skrev:
>
> > og så får jeg bare fejl på linjen : strConnect.Close (linje
> > 219)
>
> Hvordan opretter du strConnect? Hvis variablen - som navnet lidt
> antyder - kun indeholder din connection-streng og ikke selve
> forbindelsen, så er det den gale variabel du prøver at lukke.
---
jeg skal prøve :

Jeg har en fil : forbindelse.inc der ser sådan ud :


Dim strConnect
' bruges på azero.dk
' strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=d:\home\dchhaslevdk\db\dch.mdb;"

' bruges lokalt
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:Azero/db\dch.mdb;"

---
og så på siden "listen.asp" har jeg noget der ser sådan du :

<!--#include file="forbindelse.inc"-->

<%

Dim medlemsliste


Set medlemsliste = Server.CreateObject("ADODB.Recordset")
medlemsliste.Open "SELECT * FROM Master " & "ORDER BY " & strSorter ,
strConnect
%>
---
Siger det dig noget ?

Jeg får samme fejl, om jeg tester lokalt eller på det jeg har lagt ud !

Det er noget jeg har haft til at køre på mit tidligere web hotel, men i
forbindelse med skift, var der jo lidt der skulle laves om, og det har jeg
så ikke lavet rigtigt


--
Venlig hilsen
Erik Isager



Jens Gyldenkærne Cla~ (13-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-12-03 22:57

Is skrev:

> strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=I:Azero/db\dch.mdb;"

Bingo - indholdet af strConnect er en tekststreng - ikke et
connection-objekt. Du kan ikke bruge connectionmetoder på en
strengvariabel.

> Set medlemsliste = Server.CreateObject("ADODB.Recordset")

Her laver du en reference til et postsæt i variablen medlemsliste.
Den skal lukkes og slukkes (som du også gør).

> medlemsliste.Open "SELECT * FROM Master " & "ORDER BY " &
> strSorter , strConnect

Her åbner du et postsæt i medlemsliste - men du har ikke nogen
connectionreference. Derfor skal (kan) du ikke lukke
connectionobjektet.

Jeg ved faktisk ikke om det er et problem at du ikke har en
reference til din connection - men du kan evt. ændre det således at
du bruger den metode der er angivet her:
<http://html.dk/tutorials/asp/lektion18.asp>.

Den variabel de kalder DSN svarer til din strConnect.

Hvis du bare vil have det til at virke her og nu, kan du slette
linjerne strConnect.Close og Set strConnect = Nothing.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Is (14-12-2003)
Kommentar
Fra : Is


Dato : 14-12-03 13:05

> > strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > Source=I:Azero/db\dch.mdb;"
>
> Bingo - indholdet af strConnect er en tekststreng - ikke et
> connection-objekt. Du kan ikke bruge connectionmetoder på en
> strengvariabel.
--
> Hvis du bare vil have det til at virke her og nu, kan du slette
> linjerne strConnect.Close og Set strConnect = Nothing.
> --

Tak for hjælpen, endnu en gang er jeg blevet hjulpet

--
Venlig hilsen
Erik Isager



Jørn Andersen (13-12-2003)
Kommentar
Fra : Jørn Andersen


Dato : 13-12-03 21:13

On Sat, 13 Dec 2003 19:55:11 +0100, "Is"
<detteerminnewsgruppemailadresse1@get2net.dk> wrote:

>Jeg får følgende fejl :
>---
>Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'
>
>Et objekt er obligatorisk

Hvilket betyder, at du forsøger at gøre noget, som kræver et objekt,
men at at dette objekt ikke eksisterer.

>/azero/www/privat/listen.asp, line 221

Hvilket betyder, at problemet viser sig i linie 221
<snip>

> Set medlemsliste = Nothing
> Set strConnect = Nothing
>
>### medlemsliste.Close
> strConnect.Close
<snip>
>den linje med ### er linje 221, og hvis jeg sætter den ud af kraft med en '
>, får jeg ingen fejl

I linie 221 siger du: medlemsliste.Close
- men få linier tidligere har du sagt:
Set medlemsliste = Nothing

- med andre ord: Du kan - selvfølgelig - ikke lukke et objekt, som
ikke eksisterer.

Rækkefølgen skal være:
medlemsliste.Close
Set medlemsliste = Nothing
strConnect.Close
Set strConnect = Nothing


Good luck!

--
Jørn Andersen,
Brønshøj

F.Larsen (14-12-2003)
Kommentar
Fra : F.Larsen


Dato : 14-12-03 10:29

"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:sbsmtvs1or86i9f54cilkom5p8qcn7d5kc@4ax.com...
> On Sat, 13 Dec 2003 19:55:11 +0100, "Is"
> Rækkefølgen skal være:
> medlemsliste.Close
> Set medlemsliste = Nothing
> strConnect.Close
> Set strConnect = Nothing


Må man komme med et lille tillægsforslag:

Ret prefix på variablenavne så de afspejler datatypen korrekt. I dette
tilfælde er "strConnect" er ikke en string (str) men et objekt (obj). Den
burde derfor hedde objConnect.

Mange fejl kan findes ved at bruge prefix notation korrekt.

--
Flemming




Jens Gyldenkærne Cla~ (14-12-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 14-12-03 10:34

F.Larsen skrev:

> Ret prefix på variablenavne så de afspejler datatypen korrekt.
> I dette tilfælde er "strConnect" er ikke en string (str) men
> et objekt (obj). Den burde derfor hedde objConnect.

Du har fat i noget af det rigtige - men som du kan se af
<news:brfvvh$mg4$1@sunsite.dk>, så er strConnect faktisk en streng.

Det er ikke præfikset der er galt, men det at Is forsøger at lukke
en variabel der henviser til en streng.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste