Avatar billede dp2001 Juniormester
31. januar 2003 - 14:53 Der er 6 kommentarer og
1 løsning

Opdater alfanumerisk felt med tekst indeholdende '

Har et lille problem....

Skal have mulighed for, via formular, at opdatere et alfanumerisk felt, der indeholder ' - f.eks. "It's all about love."

Når jeg laver en rs.Update går det galt...

strSQL = "Update DVD set "
strSQL = strSQL & "titel='" & Request.Form("titel") & "'"
Conn.Execute(strSQL)

Hvordan får jeg omskrevet dette, så det supporterer ' i titlen?
Avatar billede midas_dk Nybegynder
31. januar 2003 - 16:39 #1
Function SQLBless(ByVal s As String)
    Dim tmp As String

    tmp = s

    tmp = Replace(tmp, "’", "'")
    tmp = Replace(tmp, "`", "'")
    tmp = Replace(tmp, "'", "''")

    Return tmp
End Function

- og den bruges således:

strSQL = "Update DVD set "
strSQL = strSQL & "titel='" & SQLBless(Request.Form("titel")) & "'"
Avatar billede midas_dk Nybegynder
31. januar 2003 - 16:42 #2
Ups... Sådan:

Function SQLBless(s)
    Dim tmp

    tmp = s

    tmp = Replace(tmp, "’", "'")
    tmp = Replace(tmp, "`", "'")
    tmp = Replace(tmp, "'", "''")

    Return tmp
End Function
Avatar billede dp2001 Juniormester
31. januar 2003 - 21:08 #3
Det kan jeg desværre ikke få til at virke. Får fejlen:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'Return'
/oddsrus/m_update.asp, line 41

Linje 41:

Return tmp
Avatar billede dp2001 Juniormester
04. februar 2003 - 15:13 #4
Lukker spg.
Avatar billede midas_dk Nybegynder
04. februar 2003 - 19:19 #5
Så ret linje "41" fra:

Return tmp

til dette:

SQLBless = tmp

- så SKAL det virke!
Avatar billede dp2001 Juniormester
04. februar 2003 - 19:22 #6
Har allrede fået det til at virke vha.:

Replace(Request.form("titel"), "'", "''")
Avatar billede midas_dk Nybegynder
04. februar 2003 - 19:33 #7
Ja, men hvorfor ikke helgardere? SQLBless tager højde for "alt", hvad der kan forstyrre "forståelsen" af en SQL streng!
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
Kurser inden for grundlæggende programmering

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