Avatar billede jensdreier Nybegynder
15. februar 2004 - 10:27 Der er 14 kommentarer og
1 løsning

Rediger script

Hejsa Jeg har enlig brug for et komplet script der kan redigere data i min database, via forms.

Databasen er en access 2003, og tabellen hedder nyhed.

Der er flg punkter der skal have en request.form

Id
dato
ip
skribent
nyhed

Koden den skal sættet ind i ser sådan her ud ..

<!--#include file="Beskyt.asp" -->
<% mode = Request.QueryString("mode")
Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("community.mdb")
Conn.Open DSN
%>
<head>
    <title>Admin > Nyhed</title>
<meta name="Generator" content="Stone's WebWriter 4">
</head>
<body>
<%
if mode = "slet" then
strSQL = "Select * from nyhed order by id desc"
Set rs = Conn.Execute(strSQL)
do
%>
<div align="center">
  <center>
  <table border="0" width="60%" cellpadding="0" cellspacing="0" height="48">
    <tr>
      <td width="30%" height="23" valign="top" align="left"><b>Skribent.</b> <% response.write rs("skribent") %></td>
      <td width="38%" height="23"><b>dato.</b> <% response.write rs("dato") %></td>
      <td width="32%" height="23"><a href="?mode=slet_nyhed&id=<%=rs("id")%>"><b>Slet</b></a></td>
    </tr>
    <tr>
      <td width="100%" height="25" colspan="3" valign="top" align="left"><b>Nyhed:</b> <%response.write rs("nyhed") %> <br><hr></td>
    </tr>
  </table>
  </center>
</div>
<%
rs.movenext
loop while not rs.eof
end if
if mode = "add" then
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL="insert into nyhed(skribent, nyhed, dato) values ('" & request.form("skribent") & "', '" & request.form("nyhed") & "', '" & FormatDateTime(Now, vbShortDate) & "')"
conn.execute(strsql)
response.redirect "admin.asp"
end if
%>
<form method="post" action="?mode=add&sub=nyhed">
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="41%" height="118">
    <tr>
      <td width="25%" height="20"><b>Tilføj nyhed ?</b></td>
      <td width="75%" height="20"></td>
    </tr>
    <tr>
      <td width="25%" height="19"><b>Navn</b></td>
      <td width="75%" height="19"><input type="text" name="skribent" size="20"></td>
    </tr>
    <tr>
      <td width="25%" height="79"></td>
      <td width="75%" height="79"><textarea rows="5" name="nyhed" cols="22"></textarea><input type="submit" value="Tilføj"></td>
    </tr>
  </table>
  </center>
</div>
</form>

</body>
</html>
<%
end if
if mode = "slet_nyhed" then
strSQL = "Delete from nyhed WHERE id=" & Request.QueryString("id")
Conn.Execute(strSQL)
response.redirect "?mode=slet"
end if
if mode = "red" then
if Request.ServerVariables("REQUEST_METHOD") = "POST" then


HER SKAL KODEN IND

else

strSQL = "Select * from nyhed order by id desc"
Set rs = Conn.Execute(strSQL)
do
%>
<form action="?mode=red" method="post">
<table width="100%" border="0">
<tr>
    <td><h6>Skribent</h6><input name="Skribent" value="<%=rs("skribent")%>" type="text" /></td>
    <td><h6>Dato</h6><input name="Dato" value="<%=rs("dato")%>" type="text" /></td>
    <td><h6>IP</h6><input name="IP" value="<%=rs("ip")%>" type="text" /></td>
</tr>
<tr>
    <td><h6>Nyhed</h6><textarea cols="" name="nyhed"><%=rs("nyhed")%></textarea></td>
    <td></td>
    <td><h6>ID</h6><input name="id" size="5" type="text" value="<%=rs("id")%>" /></td>
</tr>
<tr>
    <td><button type="submit">Rediger</button></td>
    <td></td>
    <td></td>
</tr>
</table>
</form>
<hr>

<%
rs.movenext
loop while not rs.eof
end if
end if
conn.close
set conn = nothing
%>
Avatar billede keysersoze Guru
15. februar 2004 - 10:38 #1
Avatar billede jensdreier Nybegynder
15. februar 2004 - 11:33 #3
Hmm ja, jeg må give det et forsøg. er bare ikke lige så godt til at kode. har svært ved at overskue de koder noobie .. :7
SAkal jo bare bruge den smule af scripted
Avatar billede keysersoze Guru
15. februar 2004 - 11:34 #4
hvis du følger den tutorial jeg gav link til er der ret god forklaring på hvad du skal
Avatar billede jensdreier Nybegynder
15. februar 2004 - 11:44 #5
strSQL="Update nyhed Set id = 'request.form("id")' , dato = 'request.form("dato")', ip = 'request.form("ip")', nyhed = 'request.form("nyhed")' Where request.form("id")

sådan eller hvad ? for det virker ikke
Avatar billede keysersoze Guru
15. februar 2004 - 11:51 #6
strSQL="Update nyhed Set dato = #" & request.form("dato") & "#, ip = '" & request.form("ip") & "', nyhed = '" & request.form("nyhed") & "' Where id = " & request.form("id") & ""
Avatar billede jensdreier Nybegynder
15. februar 2004 - 11:54 #7
K.
Hvorfor enlig # ? og hvorfor kun det ene sted ?

'"& er mig lidt eb gåde .. det må jeg have lært en dag .. men er der et sted hvor de virkelig går i dybten hvad det ang. ?
Avatar billede jensdreier Nybegynder
15. februar 2004 - 11:58 #8
Btw der kommer ikke fejl mere.. men når jeg submitter sker der bare intet :7
der er bare hvid skærm og den redigere ikke i min db
if mode = "red" then
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL="Update nyhed Set dato = #" & request.form("dato") & "#, ip = '" & request.form("ip") & "', nyhed = '" & request.form("nyhed") & "' Where id = " & request.form("id") & ""
else
strSQL = "Select * from nyhed order by id desc"
Set rs = Conn.Execute(strSQL)
do
%>
<form action="?mode=red" method="post">
<table width="100%" border="0">
<tr>
    <td><h6>Skribent</h6><input name="Skribent" value="<%=rs("skribent")%>" type="text" /></td>
    <td><h6>Dato</h6><input name="Dato" value="<%=rs("dato")%>" type="text" /></td>
    <td><h6>IP</h6><input name="IP" value="<%=rs("ip")%>" type="text" /></td>
</tr>
<tr>
    <td><h6>Nyhed</h6><textarea cols="" name="nyhed"><%=rs("nyhed")%></textarea></td>
    <td></td>
    <td><h6>ID</h6><input name="id" size="5" type="text" value="<%=rs("id")%>" /></td>
</tr>
<tr>
    <td><button type="submit">Rediger</button></td>
    <td></td>
    <td></td>
</tr>
</table>
</form>
<hr>
<%
rs.movenext
loop while not rs.eof
end if
end if
conn.close
set conn = nothing
%>
Avatar billede keysersoze Guru
15. februar 2004 - 11:58 #9
# er fordi jeg gætter på at du arbejder med et dato-felt.

hvis du læser alle tutorials igennem på html.dk er du nået et godt stykke af vejen. Udover den side er også netcoders.dk og activeserverpages.dk nogle gode steder at lære
Avatar billede keysersoze Guru
15. februar 2004 - 12:06 #10
du executer ikke din SQL - sætte dette ind umiddelbart efter din sql

Conn.Execute(strSQL)

og skærmen er hvid fordi der ikke bliver sendt noget til klienten - sæt fx dette ind lige efter conn.execute

response.write "databasen er nu opdateret"
Avatar billede jensdreier Nybegynder
15. februar 2004 - 12:09 #11
Mit dilemma er bare at det skal være færdig om 30 min. Så en større hånd på vejen ville give de 30 point. ellers ville det kun være 15.
Det fungere stadig ikke .. :( Nogen ide'er
Avatar billede jensdreier Nybegynder
15. februar 2004 - 12:09 #12
`damn ja også rigtig ..
Avatar billede jensdreier Nybegynder
15. februar 2004 - 12:13 #13
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '#16#'.

/herluf/nyhed.asp, line 77

76. strSQL="Update nyhed Set dato = #" & request.form("dato") & "#, ip = '" & request.form("ip") & "', nyhed = '" & request.form("nyhed") & "' Where id = " & request.form("id") & ""

77.  Conn.Execute(strSQL)
Avatar billede keysersoze Guru
15. februar 2004 - 12:14 #14
strSQL="Update nyhed Set dato = '" & request.form("dato") & "', ip = '" & request.form("ip") & "', nyhed = '" & request.form("nyhed") & "' Where id = " & request.form("id") & ""

jeg ved ikke hvilke felttyper din database har - så jeg kan kun gætte
Avatar billede jensdreier Nybegynder
15. februar 2004 - 12:21 #15
fandt ud af noget .

Stort tak til Keysersoze du fortjener de 30 :)
Here you go buddy
Thx
-/Jens
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