/ 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
problem med forspørgelse SQL
Fra : Nyberg


Dato : 03-07-02 21:22

Jeg har flugt html.dk's tutorials vdr. hent data fra database lek
19

Men jeg kan ikke få person siden til at virke.. jeg har følgende
koder på medlemssiden:

<%
' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
("C:\Inetpub\wwwroot\nyberg\fpdb\fff2002.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from Medlemmer Order by Fornavn"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

Do
' Personens navn
strNavn = rs("Fornavn")

' lav et link til person.asp med Id-værdien i URL
strLink = "<a href='person.asp?id=" & rs("M-nr") & "'>" &
strNavn & "</a>"

' Liste med links
Response.Write "<li>" & strLink & "</li>"

rs.MoveNext
Loop While Not rs.EOF


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>



Og følgende på person siden..

<%
' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
("C:\Inetpub\wwwroot\nyberg\fpdb\fff2002.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL="Select * From Medlemmer Where M-nr = " &
Request.Querystring("id")
Set rs=Conn.Execute(strSQL)

' Skriv personens data
Response.Write "<dt>Navn:</dt><dd>" & rs("Fornavn") & "</dd>"
Response.write "<dt>Adresse:</dt><dd>" & rs("Gade") & "</dd>"
Response.Write "<dt>Telefon:</dt><dd>" & rs("Tlf") & "</dd>"
Response.Write "<dt>E-mail:</dt><dd>" & rs("e-mail") & "</dd>"

Conn.Close
Set Conn = Nothing
%>

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få
parametre. Der var ventet 2.
/nyberg/person.asp, line 17
Denne linie:
Set rs=Conn.Execute(strSQL)

Er der nogle der kan se havd jeg gør galt...

Mvh
Nyberg

--
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 (03-07-2002)
Kommentar
Fra : Jørn Andersen


Dato : 03-07-02 22:57

On Wed, 3 Jul 2002 20:22:15 +0000 (UTC), Nyberg <lassenyberg@mail.dk>
wrote:

>Jeg har flugt html.dk's tutorials vdr. hent data fra database lek
>19
>
>Men jeg kan ikke få person siden til at virke.. jeg har følgende
>koder på medlemssiden:
<snip>

> ' lav et link til person.asp med Id-værdien i URL
> strLink = "<a href='person.asp?id=" & rs("M-nr") & "'>" &
>strNavn & "</a>"

Ser denne link rigtig ud?
(den skal jo bruges på næste side.)

<snip>

>Og følgende på person siden..
<snip>

Nu nærmer vi os så der hvor fejlmeldingen peger på. Jeg ved ikke, hvad
problemet er, men der er et par ting, du kan gøre for at finde ud af
det:

>' Hent fra databasen afhængig af værdien id fra URL
>strSQL="Select * From Medlemmer Where M-nr = " &
>Request.Querystring("id")

Prøv (midlertidigt) at indsætte disse to linier her (efter strSql og
før du eksekverer):
Response.Write strSql
Response.End
- du får så udskrevet din SQL-streng. Post den her, hvis ikke du
umiddelbart kan se, hvad der er galt.

Desuden vil jeg generelt advare mod at indsætte Request.Querystring
eller Request.Form direkte i SQL'en. Du åbner et potentielt
sikkerhedshul til dine data.
Lav i stedet en validering og gem værdien i en variabel, inden du
indsætter den i SQL'en.

Et sidste hint: Det kan i nogle databaser være et problem med "-"
eller "_" i feltnavne. Så prøv at undgå det. Det kan dog som regel
reddes ved at sætte feltnavnet i firkant-parantes, fx:
Where [M-Nr] = ...

Desuden: Er M-Nr et talfelt? det er det jo nok - men hvis det skulle
være et tekst-felt, skal der være ' om:
Where [M-Nr] = ' & strId & "'"

<snip>

>Set rs=Conn.Execute(strSQL)


Good luck,
Jørn

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

Nyerbg (04-07-2002)
Kommentar
Fra : Nyerbg


Dato : 04-07-02 22:24

Tak for det..
Det var meget for en nybegynder i ASP, men jeg prøver ....

Mange tak for hjælpen, jeg skal nok lige give lyd fra mig når jeg har
testet det..

MVH
Nyberg

--
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 (04-07-2002)
Kommentar
Fra : Jørn Andersen


Dato : 04-07-02 23:58

On Wed, 03 Jul 2002 23:56:50 +0200, Jørn Andersen <jorn@jorna.dk>
wrote:

>Desuden: Er M-Nr et talfelt? det er det jo nok - men hvis det skulle
>være et tekst-felt, skal der være ' om:
>Where [M-Nr] = ' & strId & "'"

Det gik vist lidt for hurtigt - det skal være:
"... Where [M-Nr] = '" & strId & "'"

Good luck,
Jørn

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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste