Avatar billede jmahle Nybegynder
30. december 2004 - 01:09 Der er 7 kommentarer

Fejl når jeg f.eks. skriver ' i en <form> og tilføjer det til en

Jeg har lavet en <form>...., hvor man kan indtaste en tekst. Når man trykker submit, tilføjer den teksten til en acces database. Det virker også fint nok, men når jeg skriver f.eks. ' går det galt.

Så får jeg følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''Dette er en test'<br>')'.

Nogle der har en ide til hvordan jeg kan fixe det?

/jacob
Avatar billede thesurfer Nybegynder
30. december 2004 - 01:16 #1
Det er fordi du skal erstatte ' med \':

str = "Dette er en test'<br>'";
str = replace(str, "'", "\'");

eller ' med dobbelt '':

str = replace(str, "'", "''");

dobbelt '' opfattes som ' af databasen
Avatar billede l0w Nybegynder
30. december 2004 - 11:26 #2
Det er en god ide at lave en funktion til at rense SQL queries
jeg plejer at lave følgende:

Function CS (ByVal strInput)

  Dim strOutput
 
  strOutput = Replace(strInput, "'","''")
  strOutput = Replace(strOutput, "%","%%")

  CS = strOutput
 
End Function

Når du så laver en SQL query kan du rense alle variabler du mener er i risiko zonen for at bryge eller på andenvis ødelægge din SQL query... for eksempel:

strSQL = "SELECT * FROM Something WHERE some like '" & CS(strVariable) & "'"

Eller

strSQL = "UPDATE Something SET some = '" & CS(strVariable) & "'"
Avatar billede jmahle Nybegynder
30. december 2004 - 12:37 #3
Tak det virker helt efter hensigten :)
Avatar billede jmahle Nybegynder
30. december 2004 - 12:43 #4
hmm hvordan er det jeg giver point?
Avatar billede ldanielsen Nybegynder
30. december 2004 - 14:12 #5
den der skal have point skal lægge et svar, så kan du acceptere det, og dermed give ham point
Avatar billede l0w Nybegynder
30. december 2004 - 17:01 #6
Jeg ville være glad for lidt karma, er lidt trist over inden har givet mig nogle kommentare :/
Avatar billede thesurfer Nybegynder
01. januar 2005 - 03:02 #7
Så er der lagt et svar :-)
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