Avatar billede martin181 Nybegynder
19. april 2004 - 12:32 Der er 39 kommentarer og
1 løsning

Online redigering af database vha. asp

Hejsa!

Jeg har en database, som jeg online trækker nyheder ud af, det fungerer fint...

Mit problem er når jeg skal redigere dem...

Min database er en access og den er opbygget som flg.

Databasenavn: TCR
Tabelnavn: Nyhed
Feltnavne og typer:
ID - Autonummerering
Dato - Tekst
Overskrift - Tekst
OprettetAf - Tekst
Mail - Tekst
Emne - Notat

Min side hvorpå jeg vælger hvilken jeg vil redigere ser sådan ud:

<%
RESPONSE.BUFFER="True"
%>
<HTML>
<HEAD>
<TITLE>Redigernyhed</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY>
<H2>Redigernyhed</H2>
<BR>
<%
DIM CONNECT, OnNyhed, nr
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../forum/tcr.mdb")
%>
<!-- Her hentes oplysningerne ud af databasen -->
<B>Vi har følgende</B>
<%
SET OnNyhed = CONNECT.EXECUTE (_
"SELECT * FROM Nyhed")
%>
<TABLE BORDER="1">
<!-- Her sættes løkken op for at sikre at alt kommer med -->
<TR>
        <TD>Emne</TD>
</TR>
<%
DO UNTIL OnNyhed.EOF %>
<% nr = OnNyhed("ID") %>
<TR>
        <TD><%=OnNyhed("Overskrift")%></TD>
<TD><FORM ACTION="redigernyhednu.asp" Target="_top" METHOD="POST" NAME="nyhedsredigering">
<INPUT TYPE="submit" VALUE="Rediger" NAME="Rediger">
<INPUT TYPE="hidden" VALUE="<% Response.write(NR) %>" NAME="Nr"></TD>
</FORM>
</TR>
<!-- Her sættes løkken til at køre igen, hvis dette er nødvendigt -->
<% OnNyhed.MOVENEXT
LOOP %>
</TABLE>
<BR>
<BR>
<A HREF="../index.asp">Tilbage til forsiden</A>
</BODY>
</HTML>

Den side jeg sender videre til redigernyhednu.asp ser således ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
    <TITLE>Rediger nyhed</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#660066" ALINK="#FF0000">
<H2>Redigernyhed</H2>
<%
DIM CONNECT
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../forum/tcr.mdb")
%>
<!-- <INPUT TYPE="text" VALUE=<%= "'" & Request.form("Nr") & "'"%> SIZE="20" MAXLENGTH="20" NAME="Password">- feltet bruges kun til test, fjernes i endelig version... -->
<% nnr = Request.form("Nr") %>
<%
SET ONRediger = CONNECT.EXECUTE ("Select * FROM Nyhed where ID = '" & nnr & "'")
%>
<BR>
<BR>
Nyheden er:
<FORM ACTION="godkendnyhed.asp" METHOD="POST" NAME="nyhedchange">
<BR>
<BR>
<TABLE>
<TR>
<TD>Dato:&nbsp;<input type="text" value="værdi" name="dato"><br>
Overskrift:&nbsp;<input type="text" value="værdi" name="Overskrift"><br>
Oprettet af:&nbsp;<input type="text" value="værdi" name="OprettetAf"><br>
Mail:&nbsp;<input type="text" value="værdi" name="Mail"><br>
Emne:&nbsp;<TEXTAREA WRAP="off" ROWS="30" COLS="60" NAME="kommentartekst"><%=OnRediger("Emne")%></TEXTAREA><BR><BR>
<INPUT TYPE="submit" VALUE="registrer ændringer" NAME="Send">&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="Fortryd ændringer" NAME="Fortryd">
<INPUT TYPE="hidden" VALUE="<% Response.write(Mnr)%>" NAME="Nr">
</FORM>
</BODY>
</HTML>

Men jeg kan ikke rigtig få den til at sende noget til siden...

er der nogen der kan gennemskue hvad jeg gør galt? Det håber jeg da :-)
Avatar billede vbcoder Nybegynder
19. april 2004 - 13:58 #1
hvad med at sætte nr som parameter i kaldet af redigernyhednu.asp ?

<FORM ACTION="redigernyhednu.asp?nr=<%=nr%>" Target="_top" METHOD="POST" NAME="nyhedsredigering">

Og i redigernyhednu.asp

SET ONRediger = CONNECT.EXECUTE ("Select * FROM Nyhed where ID = " & request.querystring("nr") ";")
Avatar billede vbcoder Nybegynder
19. april 2004 - 14:02 #2
rettelse

SET ONRediger = CONNECT.EXECUTE ("Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";")
Avatar billede martin181 Nybegynder
19. april 2004 - 14:02 #3
prøver at kigge på det - og så vender jeg tilbage
Avatar billede martin181 Nybegynder
19. april 2004 - 14:09 #4
Det virker skisme - tak skal du have :-)
Avatar billede martin181 Nybegynder
19. april 2004 - 14:09 #5
smider du et svar?
Avatar billede vbcoder Nybegynder
19. april 2004 - 14:32 #6
glad for at ku' hjælpe ;-)
Avatar billede martin181 Nybegynder
19. april 2004 - 14:38 #7
kan jeg lokke videre med dig?

Har problemer med "fortsættelsen også"... (typisk mandag....)

Min "godkendnyhed.asp" ser sådan ud:

<%
RESPONSE.BUFFER="True"
%>
<% Tekst= Request.form("kommentartekst") %>
<% Mnr = Request.form("Nr") %>
<%
CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3
SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../DATABASER/licenser.MDB")
%>
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

rs("Dato") = Request.form("Dato")
rs("Overskrift") = Request.form("Overskrift")
rs("OprettetAf") = Request.form("OprettetAf")
rs("Mail") = Request.form("Mail")
rs("Emne") = Request.form("Emne")
RS.UPDATE
%>
<%
RESPONSE.REDIRECT("../Statiske/succes.htm")
%>

Det er lidt noget rod ved jeg godt... eg får flg. fejl:

Technical Information (for support personnel)

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x548 Thread 0x680 DBC 0x25049ac Jet'.
/vb-fan/admin/godkendnyhed.asp, line 10


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Page:
POST 1544 bytes to /vb-fan/admin/godkendnyhed.asp

POST Data:
dato=16-04-04&Overskrift=BG+Bank+ny+sponsor+af+VBs+fodboldskole&OprettetAf=th&Mail=vejlefandk@hotmail.com&kommentartekst=%3CB%3EBG+Bank+ny+sponsor+af+Vejle+Boldklubs+fodboldskole%3C%2FB%3E%0D%0A%3CBR% . . .

Time:
Monday, April 19, 2004, 2:37:00 PM


More information:
Microsoft Support

_________

Ved ikke om du gider den også?

Hvis det er kan jeg fint oprette nyt spørgsmål - så du kan blive yderligere begavet :o)
Avatar billede vbcoder Nybegynder
19. april 2004 - 14:44 #8
hvad med at rette database navnet så det er den samme som du henter nyhederne fra ?
Avatar billede vbcoder Nybegynder
19. april 2004 - 14:45 #9
'den gemmer du til
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../DATABASER/licenser.MDB")

' den henter du fra
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../forum/tcr.mdb")
Avatar billede martin181 Nybegynder
19. april 2004 - 14:56 #10
argh! (andet er der vel ikke at sige...)
Avatar billede martin181 Nybegynder
19. april 2004 - 15:00 #11
nu fik jeg den her:

The page cannot be displayed
There is a problem with the page you are trying to reach and it cannot be displayed.

--------------------------------------------------------------------------------

Please try the following:

Click the Refresh button, or try again later.

Open the www.smile-on.dk home page, and then look for links to the information you want.
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services

--------------------------------------------------------------------------------

Technical Information (for support personnel)

Error Type:
ADODB.Recordset (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/vb-fan/admin/godkendnyhed.asp, line 17


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Page:
POST 1223 bytes to /vb-fan/admin/godkendnyhed.asp

POST Data:
dato=18.04.2004&Overskrift=Resultater+fra+DS+og+Y-div.&OprettetAf=th&Mail=vejlefandk@hotmail.com&kommentartekst=%3CB%3EDanmarksserien+pulje+2+%3C%2FB%3E%0D%0A%3CBR%3E%0D%0AAved%F8re+-+VB+2-2+%280-2%29 . . .

Time:
Monday, April 19, 2004, 2:58:27 PM


More information:
Microsoft Support

Har ændret min databaseangivelse... så nu er den sådan:

<%
RESPONSE.BUFFER="True"
%>
<% Tekst= Request.form("kommentartekst") %>
<% Mnr = Request.form("Nr") %>
<%
CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3
SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../forum/tcr.mdb")
%>
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

rs("Dato") = Request.form("Dato")
rs("Overskrift") = Request.form("Overskrift")
rs("OprettetAf") = Request.form("OprettetAf")
rs("Mail") = Request.form("Mail")
rs("Emne") = Request.form("Emne")
RS.UPDATE
%>
<%
RESPONSE.REDIRECT("../Statiske/succes.htm")
%>
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:03 #12
den næste fejl kommer fordi du ikke har nogen nyheder i din database
Avatar billede martin181 Nybegynder
19. april 2004 - 15:04 #13
det har jeg - har da selv lige valgt dem på den første side - og rettet i dem på den anden side...
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:05 #14
nu vrøvler jeg
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:05 #15
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

'prøv her
rs.edit

rs("Dato") = Request.form("Dato")
rs("Overskrift") = Request.form("Overskrift")
rs("OprettetAf") = Request.form("OprettetAf")
rs("Mail") = Request.form("Mail")
rs("Emne") = Request.form("Emne")
RS.UPDATE
%>
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:06 #16
du kan ikke lave en rs.update uden først at have fortalt database motoren at du nu redigerer posten
Avatar billede martin181 Nybegynder
19. april 2004 - 15:09 #17
nu kommer denne fejl:

Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'RS.edit'
/vb-fan/admin/godkendnyhed.asp, line 17

Og nu ser min fil sådan ud:

<%
RESPONSE.BUFFER="True"
%>
<% Tekst= Request.form("kommentartekst") %>
<% Mnr = Request.form("Nr") %>
<%
CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3
SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../forum/tcr.mdb")
%>
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

rs.edit

rs("Dato") = Request.form("Dato")
rs("Overskrift") = Request.form("Overskrift")
rs("OprettetAf") = Request.form("OprettetAf")
rs("Mail") = Request.form("Mail")
rs("Emne") = Request.form("Emne")
RS.UPDATE
%>
<%
RESPONSE.REDIRECT("../Statiske/succes.htm")
%>
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:20 #18
jeg havde ikke lige set at det var et rs du åbnede så det er rigtigt - jeg er træt i hovedet og fik lige blandet vb sammen med asp

Jeg plejer at bruge UPDATE DISTINCTROW  når jeg skal gemme ændringer i en post

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & nr
conn.execute (strSql)
Avatar billede martin181 Nybegynder
19. april 2004 - 15:25 #19
nu kommer den med flg. fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '[id] ='.
/vb-fan/admin/godkendnyhed.asp, line 23


Browser Type:

Har nu flg. fil:

<%
RESPONSE.BUFFER="True"
%>
<% Tekst= Request.form("kommentartekst") %>
<% Mnr = Request.form("Nr") %>
<%
CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3
SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../forum/tcr.mdb")
%>
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & nr
conn.execute (strSql)
%>
<%
RESPONSE.REDIRECT("../Statiske/succes.htm")
%>
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:29 #20
strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & request.querystring("nr")
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:30 #21
rettelse

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & clng(request.querystring("nr"))
Avatar billede martin181 Nybegynder
19. april 2004 - 15:36 #22
prøver lige igen
Avatar billede martin181 Nybegynder
19. april 2004 - 15:38 #23
Så virkede det - mange mange mange tak :-)

Vil du have ekstra point for det ekstra hjælp?
Avatar billede vbcoder Nybegynder
19. april 2004 - 15:40 #24
det bestemmer du ;-)
Avatar billede martin181 Nybegynder
19. april 2004 - 15:49 #25
du får lige dem her først - og så opretter jeg endnu en til dig med lidt point
Avatar billede martin181 Nybegynder
19. april 2004 - 15:54 #26
Avatar billede martin181 Nybegynder
19. april 2004 - 16:00 #27
nu driller den igen...

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'clng'
/vb-fan/admin/godkendnyhed.asp, line 14

Ved min godkendnyhed - som jo ser sådan ud:

<%
RESPONSE.BUFFER="True"
%>
<% Tekst= Request.form("kommentartekst") %>
<% Mnr = Request.form("Nr") %>
<%
CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3
SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath("../forum/tcr.mdb")
%>
<%
    SET RS = SERVER.CREATEOBJECT("ADODB.RECORDSET")
    STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & clng(request.querystring("nr"))
conn.execute (strSql)
%>
<%
RESPONSE.REDIRECT("admin.asp")
%>
Avatar billede martin181 Nybegynder
19. april 2004 - 16:04 #28
...og den har jo virket før... underligt...
Avatar billede vbcoder Nybegynder
19. april 2004 - 16:20 #29
Prøv at rette ovenstående til bare for at luse alle de overflødige asp tags ud.

Men jeg tror at dit nummer i request.querystring har et bogstav i sig. CLng konverterer en tekst til en long værdi - men der kommer fejl hvis der er bogstaver blandet ind i det - kan det være det ?

<%
RESPONSE.BUFFER="True"

Tekst= Request.form("kommentartekst")
Mnr = Request.form("Nr")

CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3

SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & _
          Server.MapPath("../forum/tcr.mdb")
STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & clng(request.querystring("nr"))

' gem ændringer
conn.execute (strSql)

' tilbage til admin
RESPONSE.REDIRECT("admin.asp")
%>
Avatar billede martin181 Nybegynder
19. april 2004 - 16:22 #30
jeg prøver - men det bliver først i aften engang... så kan først give respons da
Avatar billede vbcoder Nybegynder
19. april 2004 - 16:24 #31
okay - jeg er ikke på før i morgen igen så ;-)
Avatar billede martin181 Nybegynder
19. april 2004 - 20:09 #32
har lige prøvet - får desværre samme fejlmelding... øv...
Avatar billede martin181 Nybegynder
19. april 2004 - 20:11 #33
Fik dog lige "barberet" min kode lidt mere - så den nu ser sådan ud:

<%
RESPONSE.BUFFER="True"

CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3

SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & _
          Server.MapPath("../forum/tcr.mdb")
STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & clng(request.querystring("nr"))

' gem ændringer
conn.execute (strSql)

' tilbage til admin
RESPONSE.REDIRECT("admin.asp")
%>
Avatar billede martin181 Nybegynder
19. april 2004 - 20:17 #34
Kom lige til at se flg. i den url-jeg får sendt:

http://www.smile-on.dk/vb-fan/admin/godkendnyhed.asp?nr=

Den sender da ikke nr. med som parameter... det kunne da nemt være fejlen... vil se om jeg kan få den sendt med... ellers skriver jeg lige igen...
Avatar billede martin181 Nybegynder
19. april 2004 - 20:35 #35
Hmmm... den er ikke så glad for at makke ret - eller også er det mig der ikke vil makke ret... ;-)

Som nævnt ovenfor, så kan jeg ikke få den til at sende noget med som parameter... så jeg tænkte at fejlen måtte ligge i redigernyhednu.asp, som sender videre til godkendnyhed.asp - så jeg har forsøgt at gennemskue min egen kode - ikke ret nemt (Martin - lær at kommentere dine ting...) Håber at du måske har nemmere ved det... jeg har lidt en ide om at det er variablen nr, som, så vidt jeg kan hitte ud af, er medsendt fra forrige side, der ikke rigtig har nogen værdi... neb hvordan jeg giver den det... det er jo straks værrere...

Min redigernyhednu.asp ser sådan ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
    <TITLE>Rediger nyhed</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#660066" ALINK="#FF0000">
<H2>Redigernyhed</H2>
<%
DIM CONNECT
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../forum/tcr.mdb")
%>
<%
SET ONRediger = CONNECT.EXECUTE ("Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";")
%>
<BR>
test: <input type="text" value="<%=OnRediger("ID")%>" name="dato">
<BR>
Nyheden er:
<FORM ACTION="godkendnyhed.asp?nr=<%=nr%>" Target="_top" METHOD="POST" NAME="nyhedchange">
<BR>
<BR>
<TABLE>
<TR>
<TD>Dato:&nbsp;<input type="text" value="<%=OnRediger("Dato")%>" name="dato"><br>
Overskrift:&nbsp;<input type="text" value="<%=OnRediger("Overskrift")%>" name="Overskrift"><br>
Oprettet af:&nbsp;<input type="text" value="<%=OnRediger("OprettetAf")%>" name="OprettetAf"><br>
Mail:&nbsp;<input type="text" value="<%=OnRediger("Mail")%>" name="Mail"><br>
Emne:&nbsp;<TEXTAREA WRAP="off" ROWS="30" COLS="60" NAME="kommentartekst"><%=OnRediger("Emne")%></TEXTAREA><BR><BR>
<INPUT TYPE="submit" VALUE="registrer ændringer" NAME="Send">&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="Fortryd ændringer" NAME="Fortryd">
<INPUT TYPE="hidden" VALUE="<% Response.write(Mnr)%>" NAME="Nr">
</FORM>
</BODY>
</HTML>

Min godkendnyhed.asp ser således ud:

<%
RESPONSE.BUFFER="True"

CONST ADOPENKEYSET = 1
CONST ADLOCKOPTIMISTIC = 3

SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & _
          Server.MapPath("../forum/tcr.mdb")
STRSQL = "Select * FROM Nyhed where ID = " & clng(request.querystring("nr")) & ";"

strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _
        "',[Overskrift] = '" & request.form("overskrift") & _
        "',[OprettetAf] = '" & request.form("OprettetAf") & _
        "',[Mail] = '" & request.form("mail") & _
        "',[Emne] = '" & request.form("emne") & _
        "' WHERE [id] = " & clng(request.querystring("nr"))

' gem ændringer
conn.execute (strSql)

' tilbage til admin
RESPONSE.REDIRECT("admin.asp")
%>

_____
Avatar billede vbcoder Nybegynder
20. april 2004 - 07:45 #36
<FORM ACTION="godkendnyhed.asp?nr=<%=nr%>" Target="_top" METHOD="POST" NAME="nyhedchange">

rettes til

<FORM ACTION="godkendnyhed.asp?nr=<%=request.querystring("nr"%>" Target="_top" METHOD="POST" NAME="nyhedchange">

Fordi du ikke har en defineret variabel der hedder nr i redigernyhednu.asp.

En rigtig god hjælp til at fange udefinerede variabelnavne eller for for den sags skyld stavefejl er at indsætte <%Option Explicit%> som den øverste linje i sine .asp filer.

Dette fortæller serveren at alle variabler skal erklæres med Dim inden de må anvendes i kode.
Avatar billede vbcoder Nybegynder
20. april 2004 - 08:19 #37
jeg kan også se at vi har glemt at rydde op i vores filer

i godkendnyhed.asp mangler vi efter conn.execute

conn.close
set conn=nothing

i redigernyhednu.asp mangler til allersidst i filen

<%
onrediger.close
connect.close
set onrediger=nothing
set connect=nothing
%>

og den anden fil jeg ikke kender navnet på - den hvor du hvælger den nyhed der skal redigeres er det det samme til allersidst i filen

<%
onrediger.close
connect.close
set onrediger=nothing
set connect=nothing
%>
Avatar billede martin181 Nybegynder
20. april 2004 - 08:38 #38
Så virker det... jeg fandt lige et par ekstra småting jeg havde lavet ged i undervejs... men det var i bund og grund din hjælp, der gjorde at jeg fik det løst - mange mange tak endnu engang :o)
Avatar billede martin181 Nybegynder
20. april 2004 - 08:40 #39
det har sikkert ingen interesse - men hvis du er interesseret - så må du da gerne se de færdige filer...
Avatar billede vbcoder Nybegynder
20. april 2004 - 10:16 #40
det var godt vi fik has på dem ;-)

selv tak
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