Avatar billede munck Nybegynder
23. februar 2001 - 19:16 Der er 2 kommentarer og
2 løsninger

Der er for få parametre. Der var ventet 1.

Hvad er det, jeg gør forkert?
        Jeg har en side med en form:

<html>
<head>
<title>LAYOUT</title>
</head>

<body background=\"bg.gif\" bgproperties=\"fixed\">
<div align=\"center\">
<center>
<table border=\"0\" width=\"400\" bgcolor=\"#000000\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: 1 solid #000000\">
  <tr>
    <td valign=\"middle\" bgcolor=\"#969733\" colspan=\"4\" align=\"right\" height=\"18\"><font color=\"#FFFFFF\" face=\"Verdana\" size=\"1\"><b>Layout&nbsp;&nbsp;</b></font></td>
  <tr>
    <td valign=\"top\" bgcolor=\"#FFFFFF\" colspan=\"4\" align=\"right\" height=\"1\"><img src=\"images/1x1-trans.gif\" width=\"1\" height=\"1\"></td></tr>
<%

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db/db2.mdb\")
strSQL = \"SELECT * FROM tag order by tagname ASC\"
Conn.Execute (strSQL)
Set rs = conn.Execute(strSQL)
%>
  <tr>
    <td valign=\"top\" align=\"left\" bgcolor=\"#000000\"><font face=\"verdana\" size=\"1\"><b></b>&nbsp;&nbsp;</font></td>
    <td valign=\"top\" bgcolor=\"#000000\" align=\"left\"><b><font face=\"verdana\" size=\"1\" color=\"#FFFFFF\">Tagname</font></b></td>
    <td valign=\"top\" bgcolor=\"#000000\" align=\"left\"><b><font face=\"verdana\" size=\"1\" color=\"#FFFFFF\">&nbsp;&nbsp;Værdi</font></b></td>
<%
  DO WHILE NOT rs.EOF
  tagname = rs(\"tagname\")
  vaerdi = rs(\"vaerdi\")
%>
  <form method=\"POST\" action=\"layout_func.asp\" id=form1 name=form1>
  <tr>
    <td valign=\"top\" align=\"left\" bgcolor=\"#E6DC88\"><font face=\"verdana\" size=\"1\"><b></b>&nbsp;&nbsp;</font></td>
    <td valign=\"middle\" align=\"left\" bgcolor=\"#E6DC88\"><font face=\"verdana\" size=\"1\"><b><%=rs(\"tagname\")%></b></font></td>
    <td align=\"left\" valign=\"top\" bgcolor=\"#E6DC88\"><font face=\"verdana\" size=\"1\"><b><input type=\"text\" name=\"<%=tagname%>\" size=\"25\" value=\"<%=rs(\"vaerdi\")%>\"></font></b></td>
  </tr> 
<%
  rs.MoveNext
  LOOP
  RS.Close
  conn.Close
  Set conn = nothing
  Set strSQL = nothing
%>
  </tr>

<table border=\"0\" width=\"400\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#000000\">
  <tr>
    <td width=\"100%\" height=\"16\" valign=\"top\">
      <p align=\"right\"><font color=\"#FFFFFF\" face=\"verdana\" size=\"1\">&nbsp;</font></td>
  </tr>
</table>
<table border=\"0\" width=\"400\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
  <td align=\"left\"><br><input type=\"submit\" value=\"Ret Tag\" name=\"B1\" style=\"background-color: #969733; background-repeat: repeat; background-attachment: scroll; color: #FFFFFF; size: 14; font-family: Verdana; font-size: 7 pt; font-weight: bold; background-position: 0% 50%\" >
  </tr>
</table>
  </form>
</center>
</div>

</body>

        Med action på denne side:


<%
response.buffer = true
%>
<html>

<head>
<title>Layout_func</title>
</head>

<body>

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

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Baggrundsfarve\") & \"\' WHERE tagname = Baggrundsfarve\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Tekstfarve\") & \"\' WHERE tagname = Tekstfarve\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Skrifttype\") & \"\' WHERE tagname = Skrifttype\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Tekststørrelse\") & \"\' WHERE tagname = Tekststørrelse\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Overskriftstørrelse\") & \"\' WHERE tagname = Overskriftstørrelse\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Linkfarve\") & \"\' WHERE tagname = Linkfarve\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Besøgtlinkfarve\") & \"\' WHERE tagname = Besøgtlinkfarve\"

strSQL = \"UPDATE  tag SET vaerdi = \'\" & Request.Form(\"Aktivlinkfarve\") & \"\' WHERE tagname = Aktivlinkfarve\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Cellspacing\") & \"\' WHERE tagname = Cellspacing\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Cellpadding\") & \"\' WHERE tagname = Cellpadding\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Bordertykkelse\") & \"\' WHERE tagname = Bordertykkelse\"

strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Borderfarve\") & \"\' WHERE tagname = Borderfarve\"
response.write strSQL
Conn.Execute (strSQL)
conn.Close
Set conn = nothing
Set strSQL = nothing

response.redirect (\"layout.asp\")
%>

</body>

</html>


I kilden har formen de rigtige navne
Kan downloades med db her
http://a26-portal.dk/layout.zip
Avatar billede munck Nybegynder
23. februar 2001 - 19:18 #1
db indeholder to felter:
tagname, som har faste værdier.
og vaerdi, som skulle kunne ændres.
Avatar billede tdaugaard Nybegynder
23. februar 2001 - 19:29 #2
du skal sætte \' \' rundt om værdierne i din WHERE clause ...

f.eks.

WHERE tagname=\'Borderfarve\'
Avatar billede eagleeye Praktikant
23. februar 2001 - 22:06 #3
Som tdaugaard skriver du skal hvade \'\' omkring værdierne..

men det er kun den sidste:
strSQL = \"UPDATE tag SET vaerdi = \'\" & Request.Form(\"Borderfarve\") & \"\' WHERE tagname = Borderfarve\"
Som blvier opdateret. Du overskriver strSQL i hver linie.

Så du skal hvade: Conn.Execute (strSQL) efter hver strSQL = \"UPDATE....\"

Hvis feltet vaerdi er defineret som et Tal i databasen skal du ikke havde \'\' omkring:
vaerdi = \'\" & Request.Form(\"Linkfarve\") & \"\'
Avatar billede munck Nybegynder
24. februar 2001 - 01:00 #4
Takker
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