webForumDet fria alternativet

error vid enkel-apostrof

ASPur ASP

6 svar · 340 visningar · startad av Mira

MiraMedlem sedan maj 2001966 inlägg
#1

...eller vad heter tecknet som ser ut såhär: '

I alla fall.
Jag har en dagbok där jag skriver text och vill kunna använda det tecknet, men det accepterar inte databasen.
Jag får detta felmedd:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''I wasn't

Hur gör jag för att kunna skriva det tecknet?
Ska jag göra en Replace?

joupMedlem sedan feb. 2002116 inlägg
#2

Ersätt ' med '' innan du kör in det i databasen med insert.

dagboktext = replace(request.form("dagboktext"),"'","''")

SQL = "INSERT INTO dagbok (dagboktext) VALUES ('" & dagboktext & "')"

M.CheraghiMedlem sedan juli 20015 107 inlägg
#3

Hej!

När du skriver i textfältet kan du skriva två st ' efter varandra så läggs det in i databsen med en ' utan felmedelanden, dvs när du hämtar data är det bara en '

Det så jag löst problemet tidigare, vet dessvärre inte om det finns något annat sätt! Men Sebbe eller @nders eller nått annat ASP-Guru kanske har annan lösning på det hela :)

MVH

MiraMedlem sedan maj 2001966 inlägg
#4

När du skriver i textfältet kan du skriva två st ' efter varandra så läggs det in i databsen med en ' utan felmedelanden, dvs när du hämtar data är det bara en '

Tack för den!
Jag gillar såna enkla lösningar!

magnusfernstromMedlem sedan mars 20033 686 inlägg
#5

Menar du replace eller att man ska skriva två stycken själv?

Annars har du ju Replace.

KoTTeNMedlem sedan sep. 20011 722 inlägg
#6

Om du inte automatiskt byter ut alla enkel-fnuttar ( ' ) till två stycken direkt efter varandra öppnar du för så kallade "SQL injection". Det i sin tur gör att någon som känner för att jävlas i värsta fall kan radera data och komma förbi lösenordsskyddade sidor utan att kunna rätt lösenord. Rekomenderad läsning finns i denna tråd: http://www.webforum.nu/showthread.php?s=&forumid=22&threadid=89365

joupMedlem sedan feb. 2002116 inlägg
#7

Mira, använd min lösning (replace-satsen högre upp som byter ut ' mot '' <-- två enkelfnuttar), den är bäst så slipper du oroa dig för SQL injections och sånt skit.

132 ms totalt · 3 externa anrop · v20260731065814-full.a2ca460b
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)