Avatar billede finntoft Nybegynder
18. december 2001 - 07:47 Der er 3 kommentarer og
1 løsning

Fejl i Opdaterig Af Databese

Hej...
Jeg får en fjelmedlese når jeg opdater min database hvis tegnet \' er i. Hvordan kommer jeg uden om dette problem?

Her er min ASP kode

<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"../data2.mdb\")


\' SQL sætning opbygges
strSQL = \"Update koder set \"
strSQL = strSQL & \"konsol = \'\" & Request.form(\"konsol\") & \"\',\"

If Request.Form(\"c_start_tekst\") = \"true\" Then
  strSQL = strSQL & \"start_tekst = \'\" & Request.form(\"start_tekst\") & \"\',\"
End if
     
If Request.Form(\"c_punkt_tekst\") = \"true\" Then
  strSQL = strSQL & \"punkt_tekst = \'\" & Request.form(\"punkt_tekst\") & \"\',\"
End If
     
If Request.Form(\"c_tabel\") = \"true\" Then
  strSQL = strSQL & \"tabel1 = \'\" & Request.form(\"tabel1\") & \"\',\"
  strSQL = strSQL & \"tabel2 = \'\" & Request.form(\"tabel2\") & \"\',\"
End If
     
If Request.Form(\"c_Slut_tekst\") = \"true\" Then
  strSQL = strSQL & \"Slut_tekst = \'\" & Request.form(\"Slut_tekst\") & \"\',\"
End if

strSQL = strSQL & \"spilnavn = \'\" & Request.form(\"spilnavn\") & \"\'\"
strSQL = strSQL & \" Where Id=\" & Request.Querystring(\"id\")

\' SQL sætning eksekveres
Conn.Execute(strSQL)

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

response.redirect (\"liste.asp?konsol=\" & Request.Querystring(\"Konsol\") & \"&konsolname=\" & Request.Querystring(\"Konsolname\"))
Avatar billede invisibleman Nybegynder
18. december 2001 - 07:49 #1
Du bruger f.eks.:

Replace(Request.form(\"spilnavn\"), \"\'\", \"\'\'\")
Avatar billede invisibleman Nybegynder
18. december 2001 - 07:51 #2
Og det kan passende lægges i en funktion så man ikke skal skrive så meget for hver linie:

I toppen af dit script skrive du:

Function EscapeSQL(strSQL)
    EscapeSQL = Replace(strSQL, \"\'\", \"\'\'\")
End Function

og så bruger du den med

EscapeSQL(Request.form(\"spilnavn\"))
Avatar billede finntoft Nybegynder
18. december 2001 - 17:20 #3
Tak, Det virkede...
Avatar billede invisibleman Nybegynder
18. december 2001 - 17:25 #4
Så lidt :-)
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