webForumDet fria alternativet

Fel på SQL sök sats

ASP

7 svar · 252 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

SQL = "SELECT * FROM files where ID>0"

If request.querystring("name")<>"" Then
SQL= SQL & " and where filename like = '" & request.querystring("name") & "'"
End If

om jag försöker söka efter en fil som finns i databasen får jag error:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID>0 and filename like = 'fil''.
/voigtan/config/funk/asok.asp, line 14

line 14:
set recset = conn.execute(sql)

vad är det för fel?
jag vet att fil finns med i en av filerna

Medlem sedan juni 200032 967 inlägg
#2

Du ska inte ha både like och =.
Du har dessutom två where, det ska du inte heller ha.

Mvh,

Medlem sedan juni 20019 519 inlägg
#3

hur ska jag skriva då?

Medlem sedan juni 200032 967 inlägg
#4

Ska du använda = eller like?

Medlem sedan juni 20019 519 inlägg
#5

jag vill ju om vi har en fil som heter:
test
och om man skriver tes då ska den ändå hittas då måste jag ju köra like eller?

Medlem sedan juni 200032 967 inlägg
#6

Ja, men ska du köra like ska du också ha wildcards (%) i frågan, annars ska du använda =.

SQL = "SELECT * FROM files where ID>0" 

If request.querystring("name")<>"" Then 
SQL= SQL & " and filename like '%" & request.querystring("name") & "%'" 
End If

Mvh,

Medlem sedan juni 20019 519 inlägg
#7

Tackar.. nu fungerar det.. snabba svar idag? är det tack vare den nya funktionen här eller? =) SnabbSvar.. mm.. det är det =)

Medlem sedan juni 200032 967 inlägg
#8

Så måste det vara! :)

Mvh,

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)