Magnus wrote :
> Med denne URL og SQL linie frå jeg i MySQL vist tre specifikket kampe
> kampkalender.asp?id=44&id=54&id=77
> SQL = "SELECT * FROM Kampkalender WHERE kampid IN (44, 54, 77)"
>
>
> Men hvorfor virker det ikke når det er to kampkategorier som jeg søger
> som herunder?
>
> kampkalender.asp?type=p&type=ec
> SQL = "SELECT * FROM Kampkalender WHERE kampkat IN ('p', 'ec')"
>
> Hvordan får jeg den til at vise kampe med kategori p og ec eller flere
> som defineret i url'en som denne "kampkalender.asp?type=p&type=ec"?
For det første bør du overveje, hvad der sker, når du henter data fra din
QueryString. Hvis du har flere elementer med samme navn, så vil du
modtage en komma-sepereret string med elementerne i.
Hvis du altså har
kampkalender.asp?type=p&type=ec
Vil
Request.QueryString("type") give dig
p, ec
Men når du smider disse data ind i en Sql-streng fx med koden
sType = Request.QueryString("type")
Sql = "SELECT * FROM Kampkalender WHERE kampid IN (" & sType & ")"
Vil det give
SELECT * FROM Kampkalender WHERE kampid IN (p, ec)
Men i Sql skal strengsammenligninger indkapsles i plinger ', men da det
ikke er tilfældet, så vil du få en "Type mismatch", når du sender din Sql
til databasen. Prøv evt Lars' forslag til en anden måde at gøre det på.
Den Sql du skal have dannet er (som i dit eget eksempel)
SELECT * FROM Kampkalender WHERE kampid IN ('p', 'ec')
Som Lars også påpeger, så er det ALTID en god idé at medsende eventuelle
fejlkoder, når man beder om hjælp, da det hjælper os andre til at finde
fejlen i den kode du har skrevet. Læs derfor gerne [1] før du svarer på
dette.
[1]
http://www.asp-faq.dk/article/?id=41
--
Jesper Stocholm
http://stocholm.dk
Give a man a fish and he will have food for a day,
give a man an elephant, and he will have food for a week.