När jag försöker uppdatera eller skriva till min databas och använder mig utav ett ' sådant tecken får jag följande error msg:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''don't test', av=' Kaspar Prinz ', epost=' kasparular@hotmail.com ' WHERE ID=1'.
/prinzdesign/dbac.asp, line 80
Så här ser koden ut:
SQL = "UPDATE nyheter SET rubrik='"&Request.Form("rubrik")&"', meddelande='"&Request.Form("meddelande")&"', av='"&Request.Form("av")&"', epost='"&Request.Form("epost")&"' WHERE ID="&Request.Form("pID")&""
Conn.Execute(SQL)
Function secure(mess)
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Replace(mess, "'", "''")
secure = mess
End Function
ASP/SQL eller Access... tolkar ' som slut.. så du måste ha '' för att göra en ny.. typ.. finns många inlägg som svara bättre på din fråga.. prova att söka...
Jag tror du kan ändra om koden lite:
Function secure(mess)
mess = Replace(mess, "'", "''")
secure = mess
End Function
Om du inte vill ha regulara uttryck senare Välkommen till wF om ingen har sagt detta
voigtann1, varför lade du in Regexp-kod i funktionen? Den används ju inte?
Det här räcker: (voigtann1 hade bara glömt att returnera strängen från funktionen)
Function secure(mess)
secure = Replace(mess, "'", "''")
End Function
Funktionen ersätter en apostrof med två, så att SQL-frågan inte förstörs. Det läggs alltså in en apostrof, och strängen ser ut precis som den ska. Den extra apostrofen i det här fallet kallas för escape-tecken.
m_soderlund: Varför posta en till likadan funktion som redan finns i tråden?
Whoops, såg bara voigtann1s RegExp-funktion och inte den andra. Och sen lyckades jag missa @nders kod också.. ;) (Jag trycke på svara men surfade vidare nån annanstans och glömde bort mitt svar)
272 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849