Avatar billede emort Nybegynder
09. juni 2006 - 14:58 Der er 12 kommentarer og
1 løsning

Sqlstr + problem med at få det til at virke

Har følgende kode

<code>
<form action="<%= strURL %>" method="get">
<input name="search" value="<%= strSearch %>" />
<input type="submit" />
</form>
</code>

OG
<code>
strSQL = "SELECT * FROM liste WHERE name LIKE '%" & Replace(strSearch, "'", "''") & "%' " OR first_name LIKE '%" & Replace(strSearch, "'", "''") & "%' " ORDER BY last_name;"
<code>

havd går der galt her

jeg ved fejlen ligger i min sql sætn ing men jeg kan ikke lige genemskue det? nogen der har løsningen?
Avatar billede ttopholm Nybegynder
09. juni 2006 - 15:04 #1
hvor får du den her værdi fra: strSearch
Avatar billede cyberkox Nybegynder
10. juni 2006 - 12:06 #2
Hvilken fejl får du ?
Avatar billede emort Nybegynder
12. juni 2006 - 09:36 #3
hmm det er bare en fejl der fortøller mig at sql strengen er sat forkert sammen

hele iden er at den skal søge i DB efter alt havd der er i strSearch MEN
Jeg må have sat et eller andet forkert i strSQL for det funger skutte..
Avatar billede michael_stim Ekspert
12. juni 2006 - 09:42 #4
Prøv at udskriv din sql i stedet for at eksekvere den.
Avatar billede michael_stim Ekspert
12. juni 2006 - 09:44 #5
Avatar billede emort Nybegynder
12. juni 2006 - 09:44 #6
hmm

strSQL = "SELECT * FROM liste WHERE name LIKE '%polle%'"
Funger hvordan får jeg så strSearch ind? der må skulle sætes nogen tags.
Avatar billede ttopholm Nybegynder
12. juni 2006 - 09:54 #7
Prøv den her

strSearch = Replace(Request("search"), "'", "''")
strSQL = "SELECT * FROM liste WHERE name LIKE '%" & strSearch & "%'"
Avatar billede michael_stim Ekspert
12. juni 2006 - 09:55 #8
Lav en response.write strSQL
Og afmarker execute med en '
Avatar billede emort Nybegynder
12. juni 2006 - 12:11 #9
mærkeligt nu fatter jeg bjælle... (tak fordi i udviser tolmodighed)
Hele min kode:
<Code>
<%
Dim strSQL
Dim strSearch 
Dim strURL

strURL = Request.ServerVariables("URL")
strSearch = Replace(strSearch, "'", "''")

If strSearch <> "" Then

' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("DB.mdb")
Conn.Open DSN

    ' SQL Streng.
   
strSQL = "SELECT * " _
        & "FROM [ls_db] " _
        & "WHERE F_navn LIKE '%" & Replace(strSearch, "'", "''") & "%' " _
        & "OR L_navn LIKE '%" & Replace(strSearch, "'", "''") & "%' " _
        & "ORDER BY F_navn;"

    Response.write strSQL
    Set rs = Conn.Execute(strSQL)
   
Conn.Close
Set Conn = Nothing
End If
%>

<form action="<%= strURL %>" method="get">
<input name="search" value="<%= strSearch %>" />
<input type="submit" />
</form>
<p>[Prøv polle.]</p>

</Code>
Avatar billede ttopholm Nybegynder
12. juni 2006 - 12:40 #10
Brug denne:
strSearch = Replace(Request("search"), "'", "''")

Istedet for denne
strSearch = Replace(strSearch, "'", "''")

Da du i ikke hente værdien i feltet search, men det gør min.. så lige nu laver du bare en tom søgning
Avatar billede emort Nybegynder
12. juni 2006 - 12:53 #11
ttopholm:
smid det lige som svar det virkede!:
Avatar billede ttopholm Nybegynder
12. juni 2006 - 14:02 #12
Svar
Avatar billede ttopholm Nybegynder
12. juni 2006 - 14:19 #13
Takker ;-)
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
Kurser inden for grundlæggende programmering

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