Avatar billede harkamp Nybegynder
15. august 2002 - 12:47 Der er 13 kommentarer og
1 løsning

asp, sql / Link med Request.QueryString 2

Hej
Jeg kan ikke forstå dette ikke virker. Jeg har to sider;

- holdoversigt.asp med en tabel over hold. Her er der et link til holdbekrivelse.asp via request.querystring.
Her er noget af koden:

<%   
end if

' Gennemløb Recordset (rs) med en løkke
Do While Not rs.eof

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

' Udskriv værdien af kolonnen holdnummer(id_nummer)
Response.Write strLink

' Gå til næste Record i rs
rs.MoveNext
Loop
%>


- holdbeskrivelse.asp som skal vise en holdbeskrivelse af holdet der er klikket på.
Her er noget af koden:

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

' Skriv holdets data
Response.Write "Navn:" & rs("navn")
Response.Write "Sted:" & rs("sted")
Response.Write "Beskrivelse af holdet:" & rs("beskrivelse")

Ovenstående giver følgende fejlmeddelse:

"ADODB.Recordset.1 error '80004005'

Unknown column 'a11602' in 'where clause'

/hold/holdbeskrivelse.asp, line 107"

- all602 refererer til holdnummeret man klikker på på holdoversigten.

Jeg bruger asp og mySql. Jeg håber nogen kan hjælpe mig, og forklare det enkelt, da jeg ikke er nogen haj.

venligst Henrik
Avatar billede eagleeye Praktikant
15. august 2002 - 12:49 #1
Prøv at udskrive denne SQL sætning:

strSQL = "Select * From holdoversigt Where id_nummer = " & Request.Querystring("id_nummer")

Response.write strSQL
Response.end
Set rs = Conn.Execute(strSQL)

og vis resultatet her eller tjek der står id_nummer = XX  hvor XX er et tal.
Avatar billede andersj Nybegynder
15. august 2002 - 12:49 #2
oki, hedder din primary key id_nummer i holdoversigt tablen???
Avatar billede eagleeye Praktikant
15. august 2002 - 12:50 #3
Som jeg skrev i sidste spm så kunne det evt type på at id_nummer ikke findes i tabellen holdoversigt.
Avatar billede andersj Nybegynder
15. august 2002 - 12:50 #4
dit id_nummer er det et tal eller en tekst i db'en??
Avatar billede andersj Nybegynder
15. august 2002 - 12:52 #5
hvis det er en tekst som id_nummer er sat i db'en, så skal sql'en se sådan ud..

strSQL = "Select * From holdoversigt Where id_nummer = '" & Request.Querystring("id_nummer") & "'"
Avatar billede harkamp Nybegynder
15. august 2002 - 12:56 #6
Min primary key hedder id_nummer. Det er altså mig selv der bestemmer hvad den primary key skal være, ex. a12345.

Hvis jeg udskriver eagleeyes sætning får jeg:

Select * From holdoversigt Where id_nummer = ø92532
Avatar billede eagleeye Praktikant
15. august 2002 - 13:00 #7
ok så er det fordi id_nummer er tekst så skal der ' omkring som  andersj også har forslået:

strSQL = "Select * From holdoversigt Where id_nummer = '" & Request.Querystring("id_nummer") & "'"
Avatar billede flax Nybegynder
15. august 2002 - 13:00 #8
kan vi ikke se siden på www.?
Avatar billede flax Nybegynder
15. august 2002 - 13:06 #9
har du en email adresse så sender jeg filen til dig?
Avatar billede flax Nybegynder
15. august 2002 - 13:06 #10
ups wtong spørgsmål :-) Sorry
Avatar billede andersj Nybegynder
15. august 2002 - 13:10 #11
strSQL = "Select * From holdoversigt Where id_nummer = '" & Request.Querystring("id_nummer") & "'"

yep så skal den se sådan ud.. og det er fordi det er en tekst string...
Avatar billede harkamp Nybegynder
15. august 2002 - 13:16 #12
Det fungerer...??? Tusind tak til eagleeye og andersj. Ikke alene har I givet mig løsningen, jeg har også forstået hvad der var galt. Tak.

Se nu vil jeg jo gerne give jer begge point. Men hvordan gør jeg det? Jeg prøver at trykke 'accepter svar' - begge jeres navne står der. Hvis det går galt opretter jeg et spørgsmål til som den forurettede kan svare på.

Med venlig hilsen

Harkamp
Avatar billede andersj Nybegynder
15. august 2002 - 13:22 #13
Ja, så må du lave et nyt spørgsmål til eagleeye.... :o)
Avatar billede eagleeye Praktikant
15. august 2002 - 14:44 #14
Man må max give 200 points for et spørgsmål så det går ikke at harkamp opretter et nyt. Så det er op til dig andersj at give point til mig :) men det går nok.

Til en anden gang, hvis du vil dele points ud til flere så skal du trykke på kanppen "Advanceret" så får man muligheden for at dele dem.
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