/ 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
dabaseforbindelse
Fra : per


Dato : 25-09-03 19:09

Jeg har siddet og prøvet at følge de tutorials om asp og forbinde
til en database men men det lykkes ikke helt hvad gør jeg galt??


<html>
<title>Hente data fra database</title>
<head>
</head>
<body>




<%

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

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("cgi-bin/navne.mdb")

Conn.Open DSN





strSQL = "Select * navne"

Set rs = Conn.Execute(strSQL)


Do

Response.Write rs("navn") & "<br>"

rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

</body>
</html>


den kommer med den her fejl

ADODB.Connection.1 error '800a0bb9'

The application is using arguments that are of the wrong type,
are out of acceptable range, or are in conflict with one another.

/hente.asp, line 17














--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Kasper Katzmann (25-09-2003)
Kommentar
Fra : Kasper Katzmann


Dato : 25-09-03 19:19

> Jeg har siddet og prøvet at følge de tutorials om asp og forbinde
> til en database men men det lykkes ikke helt hvad gør jeg galt??
> <%
>
> Set Conn = Server.CreateObject("ADODB.Connection")
>
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("cgi-bin/navne.mdb")
>
> Conn.Open DSN
>
> strSQL = "Select * navne"

Her er der i hvertfald en fejl. Der skal stå:
strSQL = "Select * FROM navne"

Du skal altså huske at skrive "Select * FROM [TabellensNavn]"


--
Mvh
Kasper Katzmann
Katzmann Consulting
http://www.katzmann.dk



per (25-09-2003)
Kommentar
Fra : per


Dato : 25-09-03 20:08

Kasper Katzmann wrote in dk.edb.internet.webdesign.serverside.asp:
> > Jeg har siddet og prøvet at følge de tutorials om asp og forbinde
> > til en database men men det lykkes ikke helt hvad gør jeg galt??
> > <%
> >
> > Set Conn = Server.CreateObject("ADODB.Connection")
> >
> > DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> > Server.MapPath("cgi-bin/navne.mdb")
> >
> > Conn.Open DSN
> >
> > strSQL = "Select * navne"
>
> Her er der i hvertfald en fejl. Der skal stå:
> strSQL = "Select * FROM navne"
>
> Du skal altså huske at skrive "Select * FROM [TabellensNavn]"
>
>
> --
> Mvh
> Kasper Katzmann
> Katzmann Consulting
> http://www.katzmann.dk
>
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

per (25-09-2003)
Kommentar
Fra : per


Dato : 25-09-03 20:20

per wrote in dk.edb.internet.webdesign.serverside.asp:
> Kasper Katzmann wrote in dk.edb.internet.webdesign.serverside.asp:
> > > Jeg har siddet og prøvet at følge de tutorials om asp og forbinde
> > > til en database men men det lykkes ikke helt hvad gør jeg galt??
> > > <%
> > >
> > > Set Conn = Server.CreateObject("ADODB.Connection")
> > >
> > > DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> > > Server.MapPath("cgi-bin/navne.mdb")
> > >
> > > Conn.Open DSN
> > >
> > > strSQL = "Select * navne"
> >
> > Her er der i hvertfald en fejl. Der skal stå:
> > strSQL = "Select * FROM navne"
> >
> > Du skal altså huske at skrive "Select * FROM [TabellensNavn]"
> >
> >
> > --
> > Mvh
> > Kasper Katzmann
> > Katzmann Consulting
> > http://www.katzmann.dk
> >
> > tak er rettet men det hjalp ikke, der er fejl i line 17 som ser såen
her ud

Conn.Open DSN
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (25-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-09-03 20:16

per skrev:

> strSQL = "Select * navne"

Som Kasper har påpeget mangler der et FROM i sql-kommandoen.

Du kan læse lidt om SELECT-syntaksen her:
<http://html.dk/tutorials/asp/lektion19.asp>


> Do
>
> Response.Write rs("navn") & "<br>"
>
> rs.MoveNext
> Loop While Not rs.EOF

Det er ikke en egentlig fejl, men du bør altid tjekke for .EOF
_inden_ du går ind i en løkke der udskriver fra et postsæt.
Ovenstående kode vil fejle hvis rs er tomt.

Det er meget let at ændre - i stedet for at skrive:


   Do
       [løkkekommandoer]
Loop While Not rs.EOF

- skriver man:

   Do While Not rs.EOF
       [løkkekommandoer]
Loop

Den øverste model vil fejle ved et tomt postsæt, mens den nederste
fungerer fint.
--
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

Kasper Katzmann (25-09-2003)
Kommentar
Fra : Kasper Katzmann


Dato : 25-09-03 20:42

> Do
> [løkkekommandoer]
> Loop While Not rs.EOF
>
> - skriver man:
>
> Do While Not rs.EOF
> [løkkekommandoer]
> Loop
>


Eller den som jeg foretrækker:

While Not rs.EOF
[løkkekommandoer]
Wend

Mig bekendt gør den det samme som ovenstående, man kan bare ikke vende den
så kontrollen kommer til sidst. Og så kan jeg bare så godt lide den

--
Mvh
Kasper Katzmann
Katzmann Consulting
http://www.katzmann.dk



per (25-09-2003)
Kommentar
Fra : per


Dato : 25-09-03 20:45

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> per skrev:
>
> > strSQL = "Select * navne"
>
> Som Kasper har påpeget mangler der et FROM i sql-kommandoen.
>
> Du kan læse lidt om SELECT-syntaksen her:
> <http://html.dk/tutorials/asp/lektion19.asp>
>
>
> > Do
> >
> > Response.Write rs("navn") & "<br>"
> >
> > rs.MoveNext
> > Loop While Not rs.EOF
>
> Det er ikke en egentlig fejl, men du bør altid tjekke for .EOF
> _inden_ du går ind i en løkke der udskriver fra et postsæt.
> Ovenstående kode vil fejle hvis rs er tomt.
>
> Det er meget let at ændre - i stedet for at skrive:
>
>
>    Do
>        [løkkekommandoer]
> Loop While Not rs.EOF
>
> - skriver man:
>
>    Do While Not rs.EOF
>        [løkkekommandoer]
> Loop
>
> Den øverste model vil fejle ved et tomt postsæt, mens den nederste
> fungerer fint.
> --
> 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



ok hvad vil det egentlig sige at rs er tom?+
har prøvet at sætte den ind du hatr foreslået men så kommer der en ny
fejl


<html>
<title>Hente data fra database</title>
<head>
</head>
<body>




<%

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

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("/home/.sites/122/site284/web/cgi-bin/slemdk.mdb")

Conn.Open DSN





strSQL = "Select * From navne"

Set rs = Conn.Execute(strSQL)


Do

Response.Write rs("fornavn") & "<br>"

Do While Not rs.EOF

Loop


Conn.Close
Set Conn = Nothing
%>

</body>
</html>

ny fejl ser såen ud
Microsoft VBScript compilation error '800a03fb'

Expected 'Loop'

/hente.asp, line 38















--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Kasper Katzmann (25-09-2003)
Kommentar
Fra : Kasper Katzmann


Dato : 25-09-03 21:16

> ok hvad vil det egentlig sige at rs er tom?+
> har prøvet at sætte den ind du hatr foreslået men så kommer der en ny
> fejl

Lad os f.eks. sige at du henter alle poster ud hvor fornavnet er Hans.
strSQL = "SELECT * FROM navne WHERE fornavn = 'Hans'"

Nu forholder det sig så sådan at der ikke er nogen i tabellen der har
fornavnet Hans. Så er rs tomt.

>
> Do
>
> Response.Write rs("fornavn") & "<br>"
>
> Do While Not rs.EOF
>
> Loop




Kasper Katzmann (25-09-2003)
Kommentar
Fra : Kasper Katzmann


Dato : 25-09-03 21:18

> ok hvad vil det egentlig sige at rs er tom?+
> har prøvet at sætte den ind du hatr foreslået men så kommer der en ny
> fejl

Lad os f.eks. sige at du henter alle poster ud hvor fornavnet er Hans.
strSQL = "SELECT * FROM navne WHERE fornavn = 'Hans'"

Nu forholder det sig så sådan at der ikke er nogen i tabellen der har
fornavnet Hans. Så er rs tomt.

>
> Do
>
> Response.Write rs("fornavn") & "<br>"
>
> Do While Not rs.EOF
>
> Loop

Skal være:

Do
Response.Write rs("fornavn") & "<br>"
Loop While Not rs.EOF


--
Mvh
Kasper Katzmann
Katzmann Consulting
http://www.katzmann.dk



per (25-09-2003)
Kommentar
Fra : per


Dato : 25-09-03 21:34

Kasper Katzmann wrote in dk.edb.internet.webdesign.serverside.asp:
> > ok hvad vil det egentlig sige at rs er tom?+
> > har prøvet at sætte den ind du hatr foreslået men så kommer der en ny
> > fejl
>
> Lad os f.eks. sige at du henter alle poster ud hvor fornavnet er Hans.
> strSQL = "SELECT * FROM navne WHERE fornavn = 'Hans'"
>
> Nu forholder det sig så sådan at der ikke er nogen i tabellen der har
> fornavnet Hans. Så er rs tomt.
>
> >
> > Do
> >
> > Response.Write rs("fornavn") & "<br>"
> >
> > Do While Not rs.EOF
> >
> > Loop
>
> Skal være:
>
> Do
> Response.Write rs("fornavn") & "<br>"
> Loop While Not rs.EOF
>
>
> --
> Mvh
> Kasper Katzmann
> Katzmann Consulting
> http://www.katzmann.dk
>
> ok det hjælper lige lidt


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (26-09-2003)
Kommentar
Fra : Jørn Andersen


Dato : 26-09-03 15:31

On Thu, 25 Sep 2003 20:34:21 +0000 (UTC), per <camting3@mail.dk>
wrote:

41 linier, hvoraf du selv kun havde skrevet:
>> ok det hjælper lige lidt

Kan jeg lokke dig til at læse linken i min signatur?

PS: Gider du tage et kig på:
<URL: http://www.usenet.dk/netikette/citatteknik.html>

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

Jørn Andersen (26-09-2003)
Kommentar
Fra : Jørn Andersen


Dato : 26-09-03 15:32

On Thu, 25 Sep 2003 22:17:31 +0200, "Kasper Katzmann"
<kasper@fjerndettekatzmann.dk> wrote:

>Skal være:
>
>Do
> Response.Write rs("fornavn") & "<br>"
>Loop While Not rs.EOF

Eller måske bedre med:

Do While Not rs.EOF
Response.Write rs("fornavn") & "<br>"
Loop


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

Jens Gyldenkærne Cla~ (26-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-09-03 10:58

Kasper Katzmann skrev:

> Eller den som jeg foretrækker:
>
> While Not rs.EOF
> [løkkekommandoer]
> Wend

Det gjorde jeg også tidligere.

> Mig bekendt gør den det samme som ovenstående, man kan bare
> ikke vende den så kontrollen kommer til sidst. Og så kan jeg
> bare så godt lide den

Den virker fint nok, men i forhold til Do ... Loop-løkker
mangler muligheden for at bryde ud af løkken (Exit Do).

MSDN skriver:
,----
| Note The Do...Loop statement provides a more structured and
| flexible way to perform looping.
`----

Kilde:
<http://msdn.microsoft.com/library/en-us/script56/html/vsstmwhile.asp>

Her er en anden der argumenterer for Do...Loop i stedet for
While...Wend:
<http://www.scottm.dircon.co.uk/vbatips/vba/program/whilwend.htm>
--
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 : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408824
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste