Jag har en sökfunktion till en databas. Sökorden ingår sedan i SQL-satser. Om någon skriver tecknet ' fungerar det inte. Alltså måste jag ersätta ' med ''. Problemet är att informationen i databasen kan innehålla ' (jag har inte ersatt ' när jag skriver till databasen).
Alltså vill jag ersätta även ' i databasen, men enbart i SQL-satserna för sökfunktionen.
d = Replace(Request.Form("place"),"'","''")
Show = "SELECT * FROM Tabell WHERE Replace(Place,''','''') = " & "'" & d & "'"
Det är bara i sql-satsen som man behöver ange två apostrofer. Man har valt det sättet för att ange att en sträng innehåller en apostrof. Det skulle lika gärna kunna vara vilket tecken som helst t.ex. \ som används i C.
Om din select ser ut så här
SELECT * FROM Tabell WHERE Place = 'O''leafy'
så kommer databashanteraren att använda
O'leafy
när den gör sökningen.
Så om du gör replace på det som ligger i databasen så blir jämförelsen
O''Leafy = O'Leafy
376 ms totalt · 4 externa anrop · v20260731065814-full.14655e19