webForumDet fria alternativet

Varför detta fel nu då.?

ASP

6 svar · 299 visningar · startad av Kent

Medlem sedan juli 2000355 inlägg
Frågan#1

Plötsligt när jag började lägga in data i databsen så kommer detta fel upp,
Data type mismatch in criteria expression.

med denna kod,

a = Request.QueryString("a")
kat = Request.QueryString("kat")
sokord = Request.QueryString("sokord")
typ = Request.QueryString("typ")

SQL = "SELECT * FROM data WHERE beskrivning LIKE '%" & sokord & "%' OR titel LIKE '%" & sokord & "%'"
If kat <> "" then SQL = SQL & " AND kat = " & kat & ""
If typ <> "" then SQL = SQL & " AND typ = " & typ & ""
If a <> "" then SQL = SQL & " AND a = " & a & ""

vad kan detbero på.?

Medlem sedan dec. 19998 577 inlägg
#2

kanske är kat, typ eller a av datatypen text i databasen?

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#3

Bytte ut all text mot tal då funkade det bättre, men nu helt plötsligt sorterar den inte sökningen utan visar allt ur databasen, vad kan detta nu bero på.?

Medlem sedan dec. 19998 577 inlägg
#4

Jag menade inte att skulle ändra dom... grejjen är den att skall du komma åt ett textfält så skall värdet omslutas av enkelfnuttar:
fält = 'värde'

Dvs, om fältet a är ett textfält:
If a <> "" then SQL = SQL & " AND a = '" & a & "'"

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#5

Det funkar det också, men alla inlägg skrivs fortfarande ut vad jag än söker på, vad kan det bero på.?

Medlem sedan dec. 19998 577 inlägg
#6

Du måste sätta parantes runt dina OR-värden:

SQL = "SELECT * FROM data WHERE (beskrivning LIKE '%" & sokord & "%' OR titel LIKE '%" & sokord & "%')"

Annars kommer blir det som du säger...

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#7

Ja nu verkar det funka.
Man får tacka så mycket för hjälpen.!

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)