Avatar billede gnuen_fra Nybegynder
01. december 2003 - 21:20 Der er 3 kommentarer og
1 løsning

Kan man hente variabler til en SQL-sætning?

Jeg er i gang med at lave en søgefunktion i ASP til en MS access database. Her var det så min tanke at man kunne lave en form som her:

<form action="soegp.asp" method="post" name="soeg">
<input name="soeg" type="text" size="25">
<input name="submit" type="button" value="søg">
</form>

Mit spørgsmål går så på hvordan man kan (hvis man kan) samle det op i følgende SQL-sætning i LIKE:

strSQL = "SELECT something, something2 FROM something WHERE something LIKE'%' ORDER BY something"
Avatar billede squashguy Nybegynder
01. december 2003 - 21:56 #1
sql = "SELECT * FROM blah WHERE felt='" & Request.Form("soeg") & "'"

<form action="soegp.asp" method="post">
...
Avatar billede trer Nybegynder
02. december 2003 - 09:06 #2
sql = "SELECT col1, col2 FROM mytable WHERE col3 LIKE '%" & Request.Form("soeg") & "%' order by 1"

Kan ikke huske om Access er case-sensitiv på en LIKE, hvis så, så bør du skrive således:

sql = "SELECT col1, col2 FROM mytable WHERE upper(col3) LIKE '%" & uCase(Request.Form("soeg")) & "%' order by 1"

Du så også have en håndtering af tom søgestreng bygget ind.
Avatar billede gnuen_fra Nybegynder
02. december 2003 - 12:22 #3
1000 tak for hjælpen!!!

Nu har mit spørgsmål ændret sig til hvordan man kan vise alle poster når der ikke står noget i "soeg"?
Avatar billede squashguy Nybegynder
02. december 2003 - 12:35 #4
sql = "SELECT * FROM blah"

soeg = Trim(Request.Form("soeg"))

If soeg <> "" Then
  sql = sql & " WHERE felt = '" & soeg & "'"
End If
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester