Avatar billede martin181 Nybegynder
03. september 2001 - 14:17 Der er 4 kommentarer og
2 løsninger

Kan ikke skrive til database...

Hejsa!

Jeg har følgende side:

www16.brinkster.com/aldente

Den virker....tilsyneladende...

Den får fint nok indholdet frem på skærmen, men hvis jeg går ind for at ville oprette et indlæg, ja så melder den følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/aldente/forumpost.asp, line 25

Jeg mener at kunne huske at den fejl har jeg haft før, da var problemet noget med at min database var skrivebeskyttet - men det har jeg tjekket at den ikke er.

Jeg har desuden testet den på min lokale maskine med pws her virker den fint - jeg har også testet den på vores server - der virker den fint....er der nogen der har nogle forslag....eller som sidste udvej kender andre webhoteller, der understøtter access97 og asp...

Min fil ser således ud:

<!--#include file=\"functions.inc\"-->
<%
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN
Posted = 0
If Len(Trim(Request.Form(\"Subject\"))) = 0 AND Len(Trim(Request.Form(\"Comment\"))) = 0 Then
    strSQL = \"SELECT * FROM Forums WHERE (ID = \" & Request(\"ForumID\") & \")\"
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs(\"ID\")
        strForum = rs(\"Forum\")
    End If
Else
    strSQL = \"INSERT INTO Entries\"
    If Len(Trim(Request.Form(\"MessageId\"))) = 0 Then
        strSQL = strSQL & \" (Name, Email, Subject, Comment, ForumId, Orgthread)\"
        strSQL = strSQL & \" VALUES(\'\" & DBFix(Trim(Request.Form(\"Name\"))) & \"\', \'\" & DBFix(Trim(Request.Form(\"Email\"))) & \"\', \'\" & DBFix(Trim(Request.Form(\"Subject\"))) & \"\', \'\" & DBFix(Trim(Request.Form(\"Comment\"))) & \"\', \'\" & DBFix(Trim(Request(\"ForumId\"))) & \"\', TRUE);\"
    Else
        tempSQL = \"SELECT Subject FROM Entries WHERE (Id = \" & Request(\"MessageId\") & \")\"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & \" (Name, Email, Comment, ForumId, ReplyId, Subject)\"
        strSQL = strSQL & \" VALUES(\'\" & DBFix(Trim(Request.Form(\"Name\"))) & \"\', \'\" & DBFix(Trim(Request.Form(\"Email\"))) & \"\', \'\" & DBFix(Trim(Request.Form(\"Comment\"))) & \"\', \'\" & DBFix(Trim(Request(\"ForumId\"))) & \"\',\'\" & DBFix(Trim(Request(\"MessageId\"))) & \"\',\'\" & DBFix(Trim(tempRS(\"Subject\"))) & \"\' );\"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1
End If
myConn.Close
%>
<html>
<head>
<title>Al-dente fejlrapportering [ Post en besked ]</title>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3.5\">
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" vlink=\"#000000\" alink=\"#FFFFFF\"
topmargin=\"2\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"2\">
<div align=\"center\"><center>
<table border=\"0\" width=\"600\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#CCCCCC\">
<tr>
<td width=\"100%\" bgcolor=\"#000000\"><strong><font face=\"Verdana\" color=\"#FFFFFF\"><small>Område:
<% If Posted = 0 Then Response.Write strForum%>    </small></font></strong></td>
</tr>
<tr>
<td width=\"100%\"><% If Posted = 0 Then %>
<p align=\"left\"><font face=\"Verdana\"><b><small><a href=\"default.asp\">Til oversigt</a></small></b></font> <%End If%> </td>
</tr>
<tr>
<td width=\"100%\"><%
If Len(Trim(Request.Form(\"Subject\"))) = 0 AND Len(Trim(Request.Form(\"Comment\"))) = 0 Then
%>
<form method=\"POST\" action=\"forumpost.asp\">
<input type=\"hidden\" name=\"ForumID\" value=\"<%=intForumID%>\"><input type=\"hidden\" name=\"MessageID\" value=\"<%=Trim(Request(\"MessageID\"))%>\"><table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"0\">
<tr>
<td align=\"left\" bgcolor=\"#CCCCCC\"><small><font face=\"Verdana\">Navn:</font></small></td>
<td align=\"left\" bgcolor=\"#CCCCCC\"><font face=\"Verdana\"><small><input type=\"text\"
name=\"name\" size=\"20\"></small></font></td>
</tr>
<tr>
<td align=\"left\" bgcolor=\"#CCCCCC\"><small><font face=\"Verdana\">E-mail:</font></small></td>
<td align=\"left\" bgcolor=\"#CCCCCC\"><small><font face=\"Verdana\"><input type=\"text\"
name=\"email\" size=\"20\"></font></small></td>
</tr>
<tr>
<td align=\"left\" bgcolor=\"#CCCCCC\"><small><font face=\"Verdana\">Emne:</font></small></td>
<td align=\"left\" bgcolor=\"#CCCCCC\"><small><font face=\"Verdana\"><input type=\"text\"
name=\"Subject\" size=\"30\"></font></small></td>
</tr>
<tr>
<td valign=\"top\" align=\"left\" bgcolor=\"#CCCCCC\"><font face=\"Verdana\"><small>Fejl:</small></font></td>
<td align=\"left\" bgcolor=\"#CCCCCC\"><textarea rows=\"8\" name=\"Comment\" cols=\"50\"></textarea></td>
</tr>
</table>
<p><input type=\"submit\" value=\"Send\" name=\"Action\"></p>
</form>
<% Else %>
<p align=\"center\"><font face=\"Verdana\"><small>&nbsp;</p>
</small></font><p align=\"center\"><font face=\"Verdana\"><small>Dit indlæg er nu optaget under det pågældende område</small></font></p>
<p align=\"center\"><font face=\"Verdana\"><a href=\"default.asp\"><small>Til oversigt</small></a></p>
</font><p><%  End If %> </td>
</tr>
</table>
</center></div>
</body>
</html>

functions.inc ser således ud:

<%
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db/forum.mdb\")
Function DBFix(tempString)
    tempString = Replace(Trim(tempString), \"\'\", \"\'\'\")
    tempString = Replace(tempString, \"|\", \"\")
    DBFix = tempString
End Function
%>
Avatar billede nordclc Nybegynder
03. september 2001 - 14:43 #1
Må vi se linie 1-30 i /aldente/forumpost.asp?
Avatar billede martin181 Nybegynder
03. september 2001 - 14:43 #2
Det er den første der står her ovenfor...
Avatar billede 2-maz Nybegynder
03. september 2001 - 15:01 #3
Har du husket at putte din database i database folderen....
Avatar billede martin181 Nybegynder
03. september 2001 - 15:25 #4
Jep - ellers kunne den jo heller ikke trække oplysningerne fra den....den ligger i mappen db, som Brinkster kræver det.

Forsiden bliver genereret vha. udtræk fra databasen
Avatar billede eagleeye Praktikant
04. september 2001 - 08:59 #5
umiddelbart vil jeg også sige noget med rettigheder.

Prøv at sætte dette ind: myConn.Mode = 3:
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Mode = 3
myConn.Open strDSN

Det skulle give dig skrive rettigheder til databasen. Database filen kan også være skrivebeskyttet.

Hvis du benytter ODBC Manager, så kan DSN være sat til read-only.

Mth webhoteller: www.azero.dk har jeg ikke haft de store prøblemmer med.
Avatar billede martin181 Nybegynder
06. september 2001 - 14:48 #6
jeg opgiver at få det til at køre hos brinkster - har istedet fået det til at virke hos www.friserverplads.dk

Jeg vil dog gerne \"dele\" med eagleeye - da han trods alt gjort lidt for at jeg kunne komme videre
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