webForumDet fria alternativet

hjälp med en sökfunktion

ASP

5 svar · 360 visningar · startad av sin_adec

Medlem sedan apr. 2002272 inlägg
Frågan#1

jag försöker skapa en funktion som gör att man kan söka produkt samt pris på produkten, men jag får felmeddelanden hur jag än gör.
koden jag använder är följande:

SQL = "Select * from produkter Where typ '%" & Request.Form("typ") & "%' AND pris '%" & Request.Form("pris") & "%' "
RecSet.Open SQL, Connect, 3,3
men får följande felmeddelande:

Script error detected at line 10.
Source line: RecSet.Open SQL, Connect, 3,3
Description: [Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'typ '%hemsidor%' AND pris '%4000%''.

Medlem sedan aug. 2002733 inlägg
#2
SQL = "Select * from produkter Where typ = '" & Request.Form("typ") & "' AND pris = '" & Request.Form("pris") & "'"
Medlem sedan apr. 2002272 inlägg
#3

wow.. det fungerade.. tusen tack :D

Medlem sedan aug. 2002733 inlägg
#4

Vasse goooooooo.....

Du kan acceptera svaret som löst om du vill.

Medlem sedan dec. 19996 721 inlägg
#5

OBS!!!
Det är MYCKET viktigt att ersätta apostroferna i insträngarna.

SQL = "Select * from produkter Where typ = '" & Replace(Request.Form("typ"),"'","''") & "' AND pris = '" & Replace(Request.Form("pris"),"'","''") & "'"
Medlem sedan jan. 20022 440 inlägg
#6
strPris = Replace(Request.Form("pris"),"'","''")
strTyp = Replace(Request.Form("typ"),"'","''")

SQL = "Select * from produkter Where typ = '" & intPris & "' AND pris = '" & strTyp & "' "

Det kan vara idé att göra det till vana att typkonvertera och variablisera rensa bort onödiga saker innan din sql sträng. I det här fallet är det inte så farligt men när du får riktigt långa frågor blir det väldigt rörigt annars.

Det blir även enklare att felsöka.

Tycker även att du ska använda dig av JET OleDb istället för ODBC, kolla även gärna på (kanske en sökning på) "Set objRS = objConn.Execute(SQL)" Du behöver givetvis inte bry dig alls om vad jag skriver, det är bara vänliga hänvisningar till att koda bättre. ;)

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)