För det första ska du inte förstöra användandet av apostrofer, utan endast escape:a. Replacea en apostrof till två.
- - - - - -
Var uppträder problemet med citationstecknen? I ASP? I din komponent? I anropet till din stored procedure?
6 svar · 367 visningar · startad av ironhead
Hej!
Jag har gjort en sökmotor i ASP som via en VB Com komponent och en SP visar upp ett sökresultat på sidan.
Jag använder denna funktion för att eliminera problemen med enkelfnutt i sökrutan
Function rad(StrTxt)
StrTxt=Replace(StrTxt,"'","null")
rad=StrTxt
End Function
Men hur gör jag med dubbelfnutt (")...den kapar juh alla efterliggande parametrar i strängen....och skriver man bara dubbelfnuttar, så listar den alla poster i databasen.
Hur göra?
För det första ska du inte förstöra användandet av apostrofer, utan endast escape:a. Replacea en apostrof till två.
- - - - - -
Var uppträder problemet med citationstecknen? I ASP? I din komponent? I anropet till din stored procedure?
ok jag ändrade StrTxt=Replace(StrTxt,"'","")
...men har juh fortfarande problemet med att söksträngen kapas när jag skickar in dubbelfnutt (") och alla poster loopas ut :(
Jag får inget felmeddelande, alla poster bara loopas ut...
ok jag ändrade StrTxt=Replace(StrTxt,"'","")
Varför då? Nu förstör du lika mycket som innan. Ersätt en apostrof med två apostrofer, så kan apostrofen användas som den skall.
@nders skrev:
Var uppträder problemet med citationstecknen? I ASP? I din komponent? I anropet till din stored procedure?
Jag förstår inte var själva problemet inträffar, därav min fråga. På vilket sätt kapas söksträngen?
Sorry trött....glömde sätta dit '' i strängen, som jag faktiskt hade gjort ;)
Jag hämtade upp värdet i en framesetsida, som sen skickar värdena vidare till resultatsidan.....så på framesidan körde jag med Server.Urlencode, då kom jag förbi problemet :)
Så det funkar som det ska nu?
Utan att helt förstå vad du menar så känns i alla fall användandet av Server.URLencode helt riktigt.
Mvh
*hehe* :)