do
Nybegynder
26. oktober 2001 - 09:31
Der er
8 kommentarer og 1 løsning
insætning i db
Jeg har lavet et script som indsætter en besked i databasen. men når jeg f.eks. skriver tegner \' i indsæt boxen får jeg fejlen : Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i strengen i forespørgselsudtrykket \"\'sss\' \')\". /busses_site/minklasse/opret.asp, linje 12 Her skrev jeg bare sss\' og fik denne fejl..
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
26. oktober 2001 - 09:40
#1
Kom med koden så skal jeg se
26. oktober 2001 - 09:40
#2
Du skal konvertere en \' til 2 \' inde du skriverr til databasen. \' bruges til at omslutte strenge i SQL: str = replace(str,\"\'\",\"\'\'\")
26. oktober 2001 - 09:42
#3
Hejsa Du skal bruge nedenstående: <script language=\"VBScript\" runat=\"Server\"> Function unQuote(strTekst) strTekst = Trim(strTekst) unQuote = Replace(strTekst,\"\'\",\"\'\'\") End Function </script> <html><head> <title>Det dumme \' tegn</title> </head><body> <% If Request.Form(\"Action\") = \"Fjern\" Then Response.Write \"<p><em>Her er teksten med dobbelt \' tegn, dette vil blive tolket som et \' tegn af databasen.<em><p>\" Response.Write unQuote(Request.Form(\"Tekst\")) End If %> <form action=\"quot_tegnet.asp\" method=\"POST\"> <textarea name=\"Tekst\" cols=\"40\" rows=\"10\"></textarea><br> <input type=\"Submit\" name=\"Action\" value=\"Fjern\"> </form> </body></html> Hilsner AndreasV
do
Nybegynder
26. oktober 2001 - 09:43
#4
Jammen er det ikke bare et eller andet text = replace et eller andet ? Her er koden : <% besked1 = Request(\"besked1\") if mode = \"opret\" then Set conn = Server.CreateObject(\"ADODB.Connection\") connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\") Conn.open(connString) Sql = \"INSERT INTO klassetre (besked2) values (\'\" & besked1 & \"\')\" Conn.Execute(SQL) conn.close Set Conn = Nothing %> <body onload=\"window.close()\"> <% end if %>
26. oktober 2001 - 09:44
#5
text = replace(text ,\"\'\",\"\'\'\")
26. oktober 2001 - 09:46
#6
Din streng hedder besked1 ... besked1 = replace(Request(\"besked1\"),\"\'\",\"\'\'\") <% besked1 = replace(Request(\"besked1\"),\"\'\",\"\'\'\") if mode = \"opret\" then Set conn = Server.CreateObject(\"ADODB.Connection\") connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\") Conn.open(connString) Sql = \"INSERT INTO klassetre (besked2) values (\'\" & besked1 & \"\')\" Conn.Execute(SQL) conn.close Set Conn = Nothing %> <body onload=\"window.close()\"> <% end if %>
26. oktober 2001 - 09:51
#7
Prøv evt.: SQL = \"INSERT INTO klassetre (besked2) values (\'\" & replace(Request(\"besked1\"),\"\'\",\"\'\'\") & \"\')\"
do
Nybegynder
26. oktober 2001 - 10:06
#8
Tak for det alle sammen.. Sidst nævnte fik jeg til at virke med det samme så han får pointne..
26. oktober 2001 - 10:15
#9
hmmm ikke bare 1 point for at forklare hvorfor du får og ungår fejlen :)
Kurser inden for grundlæggende programmering