Problemer med update funktion mm
HejJeg har lavet et administratinssytem i asp til en hjemmeside. Jeg er i øjeblikket ved at flytte hele siden til en ny server, og har i den forbindelse fået problemer med at gemme tekster, foto og andre filer i min database.
Når jeg f.eks forsøger at opdatere / tilføje noget til en eksisterende tekst, får jeg følgende fejl:
Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
/admin/rediger_ukategori3A.asp, line 90
Filen er denne
::::rediger_ukategori3A.asp::::
<%
Dim Conn, DSN, retid, strSQL, rs, strGammelTekst, frmRetid, strOverskrift, strIndhold, strTekstKat
Response.Buffer=True
%>
<!--#INCLUDE FILE="config.inc"-->
<!--#INCLUDE FILE="level2.inc"-->
<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil-->
<html>
<head>
<title>TELE IT COMMUNICATION ApS</title>
<Link Rel="stylesheet" href="tele-it.css" Type="text/css" > <!-- link til ekstern style sheet -->
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
body {
margin-left: 4px;
margin-top: 0px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body>
<br>
<table width="670" border="0" align="left"><!--Hovedtabel start-->
<tr>
<td height="18" valign="middle" bgcolor="#969696"><span class="style1">Rediger tekst</span></td>
</tr>
<tr><td>
<%
If Request.Querystring("retid") <> "" Then
retid = Request.Querystring("retid")
strSQL ="Select * From tekst Where tekstId =" & retid
Set rs = Conn.Execute(strSQL)
'intTekstNr = rs("tekstNr")
do while not rs.eof
%>
<FORM method="post" action="rediger_ukategori3A.asp" name="rediger">
<table border=0 cellspacing=0 cellpadding=0 width="660" align=left><!--Indholdstabel start-->
<tr><td height="10">
Overskrift: <br>
<input type="text" name="overskrift" size="100" value="<%Response.Write rs("Overskrift")%>">
</td></tr><tr>
<td height="180">
<%strGammelTekst=replace(rs("indhold"), "<br>", vbcrlf)%>
<br>
Tekst<br>
<textarea name="indhold" rows="15" cols="75" wrap="VIRTUAL"><%Response.Write strGammelTekst%></textarea>
</td>
</tr><tr><td height="5">
<input type="hidden" NAME="frmRetid" value="<%Response.Write Request.Querystring("retid")%>">
<input type="hidden" NAME="TekstNr" value="<%Response.Write rs("tekstNr")%>">
<INPUT TYPE="Submit" VALUE="Gem ændring">
<INPUT TYPE="Reset" VALUE="Fortryd">
<input type="button" value="Tilbage til kategorioversigt" name="Annuller" onClick="java script:location.href='rediger_ukategori1.asp?'">
</td>
</tr>
<tr>
<td align="right"> </td>
</tr>
</table>
</FORM>
<%
'Gå til næste Record i rs
rs.MoveNext
'Fortsæt indtil rs er gennemløbet (EOF = End Of File)
loop
Elseif Request.Querystring("retid") = "" Then
frmRetid = Request.Form("frmRetid")
tekstNr = Request.Form("TekstNr")
strIndhold = Replace(Request.Form("indhold"), vbcrlf, "<br>")
strIndhold = Replace(strIndhold, "'", "''")
strOverskrift = Replace(Request.Form("overskrift"), "'", "''")
strSQL = "Update tekst Set indhold='" & strIndhold & "', overskrift= '" & strOverskrift & "' Where tekstId=" & frmRetid
Conn.Execute(strSQL)
Response.Redirect ("rediger_ukategori3.asp?intTekstNr="& TekstNr)
End if
%>
<center>
</center>
</td>
</tr>
</table><!--indholdstabel slut-->
</body>
</html>
::::SLUT::::
Linie 90 er følgende
85 strIndhold = Replace(Request.Form("indhold"), vbcrlf, "<br>")
86 strIndhold = Replace(strIndhold, "'", "''")
87 strOverskrift = Replace(Request.Form ("overskrift"), "'", "''")
88
89 strSQL = "Update tekst Set indhold='" & strIndhold & "', overskrift= '" & strOverskrift & "' Where tekstId=" & frmRetid
90 Conn.Execute(strSQL)
91
92 Response.Redirect ("rediger_ukategori3.asp?intTekstNr="& TekstNr)
Alle min filer til selve hjemmesiden ligger i en hovedmappe (docs). Alle mine admin filer ligger i mappen admin som ligger inden i hovedmappen (docs). Min database ligger i hovedmappen
Min include fil med databaseforbindelsen ser således ud:
<%
' Filnavn: dbconn.inc
' Databaseforbindelse - husk at angive den rigtige sti til databasen!
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../tele-it.mdb")
Conn.Open DSN
%>
Håber der er nogen der kan se hvad fejlen er?
/Annette
