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 fra HP
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