Avatar billede mimi Nybegynder
03. januar 2002 - 23:23 Der er 6 kommentarer og
2 løsninger

Erstatte \' med \'\' - hvor skal det sættes ind?

Jeg har en form, med oplysninger, der skal tilføjes til en database, men idet, man ikke kan indtaste tegnet \' i formen, skal jeg have det ændret, således, at det bliver erstattet med \'\'. Så vidt jeg har forstået, skal det gøres med

nyhed = Request.Form(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

Men hvor fa\'en skal det sættes ind? Jeg har prøvet alt muligt og det virker bare ikke... Please help - det haster!

Her er kildekoden til dokumentet:

<%
\'Databaseforbindelse oprettes   
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath(\"/Futurama/nyheder/news.mdb\")
Conn.Open DSN
   
if request (\"mode\") = \"opret\" then

nyhed = Request.Form(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

\' SQL sætning opbygges       
strSQL = \"insert into news (\"

strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"nyhed) \"

strSQL = strSQL & \"values (\"

strSQL = strSQL & \"\'\" & request(\"name\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"head\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"news\") & \"\')\"

\'SQL sætning eksekveres
Conn.Execute(strSQL)
Response.Redirect \"nyheder.asp\"

\'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
   
end if
%>

<html>
<head>
<link rel=\"StyleSheet\" href=\"/Futurama/website/style.css\" type=\"text/css\">
<title>Nyhedsoversigt</title>

<script langauge=\"javascript\">

function checkform()
{

      if (document.form.name.value == \"\") {
            alert (\"Du skal skrive dit navn\");
            return false;
      }
      if (document.form.head.value == \"\") {
            alert (\"Du skal skrive en overskrift\");
            return false;
      }
      if (document.form.news.value == \"\") {
            alert (\"Du skal skrive en nyhed\");
            return false;
      }

      form.submit()

}

</script>

</head>

<body leftmargin=\"20\" topmargin=\"20\" marginwidth=\"20\" marginheight=\"20\">
<h1>Skriv/slet nyheder</h1>

<form action=\"nyheder.asp\" name=\"form\">
<input type=\"hidden\" Name=\"Mode\" Value=\"opret\">
<input type=\"hidden\" Name=\"id\" Value=\"<% = Request(\"id\")%>\">

Navn: <br><INPUT type=\"text\" name=\"name\"><p>

Overskrift: <br><INPUT type=\"text\" name=\"head\"><p>
Nyhed: <br><TEXTAREA rows=4 cols=35 name=\"news\">
</TEXTAREA><p>

<input type=\"button\" Value=\"Send\" name=Submit1 onClick=\"checkform()\">
<input type=\"Reset\" Value=\"Slet\" name=Reset1>
</form>

<%
Set Rs = Server.CreateObject(\"ADODB.Connection\")
Rs.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"news.mdb\")

sql = \"SELECT * FROM news order by created desc\"
Set Rec = Rs.Execute(sql)

DO WHILE NOT Rec.EOF
created = Rec(\"created\")
navn = Rec(\"navn\")
id = Rec(\"id\")
nyhed = Rec(\"nyhed\")
nyhed = Replace(nyhed, vbCrLf, \"<br>\")
overskrift = Rec(\"overskrift\")
%>

<hr><p>
<b>Skrevet af: </b><%=navn%>, d. <%=created%><p>
<b> <%=overskrift%></b><p>
<%=nyhed%><p>
<a href=\"slet_nu.asp?id=<%=id%>\">Slet</a><p>

<%
Rec.MoveNext
  LOOP
  RS.Close
Set RS = nothing
%>

</body>
</html>
Avatar billede invisibleman Nybegynder
03. januar 2002 - 23:26 #1
Ret:

nyhed = Request.Form(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

\' SQL sætning opbygges       
strSQL = \"insert into news (\"

strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"nyhed) \"

strSQL = strSQL & \"values (\"

strSQL = strSQL & \"\'\" & request(\"name\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"head\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"news\") & \"\')\"

til:

nyhed = Request.Form(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

\' SQL sætning opbygges       
strSQL = \"insert into news (\"

strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"nyhed) \"

strSQL = strSQL & \"values (\"

strSQL = strSQL & \"\'\" & request(\"name\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"head\") & \"\', \"
strSQL = strSQL & \"\'\" & nyhed & \"\')\"
Avatar billede nute Nybegynder
03. januar 2002 - 23:26 #2
jammen det er jo fordi du ikke setter inn den teksten du har behandlet i databasen...du setter jo inn det som ligger på requesten...bytt ut dette:

\' SQL sætning opbygges       
strSQL = \"insert into news (\"

strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"nyhed) \"

strSQL = strSQL & \"values (\"

strSQL = strSQL & \"\'\" & request(\"name\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"head\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"news\") & \"\')\"

med dette:

\' SQL sætning opbygges       
strSQL = \"insert into news (\"

strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"nyhed) \"

strSQL = strSQL & \"values (\"

strSQL = strSQL & \"\'\" & request(\"name\") & \"\', \"
strSQL = strSQL & \"\'\" & request(\"head\") & \"\', \"
strSQL = strSQL & \"\'\" & nyhed & \"\')\"
Avatar billede invisibleman Nybegynder
03. januar 2002 - 23:30 #3
nute: godt vi er enige :o)
Avatar billede nute Nybegynder
03. januar 2002 - 23:31 #4
jammen det er vi da stort sett, er vi ikke det ??

;)
Avatar billede mimi Nybegynder
03. januar 2002 - 23:32 #5
Hm, det har jeg gjort nu, men jeg får fejlmeddelsen

\"Field \'news.nyhed\' cannot be a zero-length string.\"

???

Avatar billede mimi Nybegynder
03. januar 2002 - 23:44 #6
Nu har jeg fået det til at virke.

Det var

nyhed = Request.Form(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

Der skulle ændres til

nyhed = Request(\"news\")
nyhed = Replace(nyhed, \"\'\", \"\'\'\")

Tak for hjælpen, begge to. :o)
Avatar billede mimi Nybegynder
03. januar 2002 - 23:52 #7
Hm, hvordan kan det så være, det ikke virker i et af mine andre dokumenter?

beskrivelse = Request(\"beskrivelse\")
beskrivelse = Replace(beskrivelse, \"\'\" , \"\'\'\")

SQL = \"UPDATE destin SET beskrivelse = \'\"& request.form(\"beskrivelse\") & \"\' WHERE id =  \" & Request.queryString(\"id\")

\'SQL = SQL & \" VALUES (\" & beskrivelse & \"\')\"

response.write sql

Conn.Execute (SQL)
Avatar billede mimi Nybegynder
03. januar 2002 - 23:53 #8
Hov, hehe det gør det også nu. Havde glemt at rette det i den første sætning!
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