Hallå! Du ska använda Replace(texten, "'", "''") Som danne säger är det bara att ersätta varje ' i texten med två ' '. Jag brukar använda följande funktion för att lagra textvärden. Hanterar även tomma strängar. Ett gammalt problem som just blev aktuellt igen. Hann inte lösa det sist tyvärr... Problemet är ju att en enkelfnutt tolkas som att textsträngen är avslutad. Ersätter man varje enkelfnutt med två enkelfnuttar så tolkar SQL motorn det som en fnutt i strängen. Med andra ord när du läser ut värdet blir det detsamma som man skrev in.Fnutt i formulär [löst]
Hur gör man för att kunna göra INSERT eller UPDATE när man har fnutt (') eller dubbelfnutt (") i datat som ska lagras?
Jag har ett vanligt formulär men eftersom SQL-satsen innehåller fnuttar och/eller dubbelfnuttar blir det fel när det kommer sådana i datat.
Att göra SELECT går alldeles utmärkt...
/ DavidSv: Fnutt i formulär
och jag tror det går att använda Server.HTMLEncode(texten)Sv: Fnutt i formulär
<code>
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
</code>
Du anropar den sedan såhär:
<code>
Dim strSQL
Dim strText
strText = "It's time to test the function!"
strSQL = "INSERT INTO TabellNamn (FältNamn) VALUES (" & SQLText(strText)
</code>Sv: Fnutt i formulär
Vad händer när man ersätter fnuttarna? Vad ersätts de med?
Jag vill ju helst att fnuttarna ändå ska lagras i databasen så att de kan skrivas ut senare...
/ DavidSv: Fnutt i formulär