du måste lägga in wildcards ju.
SokRes = "SELECT * FROM links WHERE namn LIKE '%"& Request.Form("sok") &"'%"
like utan wildcards är samma sak som =.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
4 svar · 212 visningar · startad av LordJens
Jag försöker göra en liten sökmaskin, som skall leta efter länkar i en databas. Jag använder följande SQL-sats för att få fram resultaten:
SokRes = "SELECT * FROM links WHERE namn LIKE '"& Request.Form("sok") &"'"
Sökningen fungerar fint så länge sökordet och posten i databasen är identiska. Borde det inte med LIKE räcka med att en del är lika?
T.ex. Jag vill att om man söker efter "webForum", så skall man även hitta "webForum & webAvis". Hur?
------------------
.:: Jens has spoken ::.
du måste lägga in wildcards ju.
SokRes = "SELECT * FROM links WHERE namn LIKE '%"& Request.Form("sok") &"'%"
like utan wildcards är samma sak som =.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
ok, men då fick jag:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i frågeuttrycket 'namn LIKE '%webforum'%'
Now what?
------------------
.:: Jens has spoken ::.
du har en apostrof precis efter webforum, ska den vara där?`
om du skall ha apostrofer i strängar i sql-frågor måste du escape:a dem.
SokRes = "SELECT * FROM links WHERE namn LIKE '%"& replace(Request.Form("sok"),"'","''") &"'%"
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Ok, nu fungerar det. Det var ett ' som var på fel ställe.
Använder nu koden:
SokRes = "SELECT * FROM links WHERE namn LIKE '%"& Request.Form("sok") &"%'"
thx.
------------------
.:: Jens has spoken ::.