För att göra saken enkel så kan du ju lägga dina Request.Form värden i variabler och använda variablerna i SQLsattsen !
------------------
Är man medlem på WF så behöver man inga vänner !
10 svar · 195 visningar · startad av nill
Om jag använder denna SQLgrej:
INSERT INTO filmer (titel, handling, betyg, antalrecensioner) VALUES ('" & Request.Form("titel") & "', '" & Request.Form("handling") & "', " & cInt(Request.Form("betyg")) & ", 1"
Så blir det helt förståligt ett felmeddelande om Request.Form innehåller en apostrof(').
Hur kan man fixa det ?
För att göra saken enkel så kan du ju lägga dina Request.Form värden i variabler och använda variablerna i SQLsattsen !
------------------
Är man medlem på WF så behöver man inga vänner !
Hej.
Du använder Replace() för att byta ut enkla apostrofer ' till två likadana, ''. Så escape:ar du det tecknet i språket SQL.
INSERT INTO filmer (titel, handling, betyg, antalrecensioner) VALUES ('" & Replace(Request.Form("titel"),"'", "''") & "', '" & Replace(Request.Form("handling"), "'", "''") & "', " & cInt(Request.Form("betyg")) & ", 1"
Mvh,
------------------
"Jag är en pojkspoling! Jag är 25 år gammal!"
Eller kan du köra en funktion på variabeln innan du stoppar in den i sql-frågan:
Function FixaTecken(sfix)
sfix = Replace(Trim(sfix), "'", "''")
sfix = Replace(sfix, "|", "")
FixaTecken = sfix
End Function
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.
Snabbt svar man fick denna gång, tack :)
Hur gör jag i Javascript ? Det fungerade inte med Apostrif-fixarfunktionen där :(
Anropar JavaScriptsfunktionen såhär:
<A HREF=""javascript:Pop('media.asp?pyssel=visa&ID=" & RecSet("ID") & "&titel=" & ApostrofFix(RecSet("titel")) & "')"">
Men att byta ut ' mot '' gör ingen verkan där :(
Skriver du ut länken med ASP?
I så fall, testa att använda Server.HTMLEncode() istället för ApostrofFix() i anropet.
Du måste ändå göra ersättningen innan du ställer SQL-frågor senare.
Mvh,
Ja java-anropet ligger en variabel som loopas ut från en databas.
serverhtmlencode fungerade inte.. samma resultat fast bara en apostrof.
Vad måste göra ersättning SQL sen ?
Arrghh.
Förlåt mig.
Server.URLEncode() skall du använda, det var jag som skrev fel.
Server.URLEncode() gör strängar säkra för att kunna skickas som querystrings.
Det är SQL-frågan som ballar ur också när du har apostrofer, men det kanske inte har med detta att göra?
Mvh,
ne.. det fungerade inte heller.. får helt enkelt köra med Replace("blabla", "'", "") i javascripten :/
Äsch. ;)
I javascript escape:ar du med backslash.
Du kan alltså pröva att göra Replace(variablen, "'", "\'").
Mvh,