Avatar billede preben_morch Nybegynder
06. august 2002 - 11:57 Der er 5 kommentarer og
1 løsning

Søgning på tekstfelter der indeholder " og / eller '

Jeg har et problem med at bygge en VB / SQL streng op der kan håndtere både " og ' i søgestrengen.

Mit sql statement ser således ud:

sqlStreng = "Select * From Database Where Navn = ' " & Søgefeldt$ & "'".

Hvis Søgefeldt$ indeholder '25"', så går det godt, men hvis Søgefeldt$ indeholder "25'" så går det galt.
Avatar billede slash Nybegynder
06. august 2002 - 11:59 #1
Kan replace(søgestreng, "'", "''") løse problemet ?
Avatar billede preben_morch Nybegynder
06. august 2002 - 12:31 #2
Nej, det løser ikke problemet. VB vil ikke acceptere denne metode.
Avatar billede slash Nybegynder
06. august 2002 - 13:28 #3
nu har jeg godt nok ikke prøve følgende i VB, men i asp - dog vil jeg antage at det er ligemeget...
strtekst = replace(varStrToSearchFor,"'","''") '
str = "select tekst from test2 where tekst = '"&strtekst&"'"
set res = Conn.execute(str)
Response.Write res("tekst")

jeg får i hvert fald returneret noget når jeg fx. søger med "25"' eller "25'"
Avatar billede preben_morch Nybegynder
06. august 2002 - 14:45 #4
Jo, sandelig. Du har ret, det virker. Tak for hjælpen!
Avatar billede kichian Nybegynder
06. august 2002 - 14:53 #5
For at ' kan håndteres af SQL-Serveren skal den escapes med et '.
Dvs
Søgefeldt = Replace(Søgefeldt,"'","''")
Der er ingen grund til Replace " i koden. Det er gjort for dig!. Og " har ingen special status i SQL som ' har.

Hvis jeg skal søge efter det første så bliver det:
Søgefeldt = "'25""'"
Søgefeldt = Replace(Søgefeldt,"'","''")
=> ''25"''

Det næste er :
Søgefeldt = """25'"""
Søgefeldt = Replace(Søgefeldt,"'","''")
=> "25''"
Avatar billede slash Nybegynder
06. august 2002 - 14:55 #6
takker for pointene :-(
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