webForumDet fria alternativet

Skrivskydd?

1 svar · 186 visningar · startad av Zapotek

ZapotekMedlem sedan juni 200053 inlägg
#1

Om man får felet:

ADODB.Recordset.1 error '80004005'

Recordset is read-only

/admin/add_filer.asp, line 22

är det då databas filen (mdb filen) som är skrivskyddad eller är det något fel i koden:

Set RecSet = Server.CreateObject("ADODB.RecordSet")

Addera = "SELECT * FROM Filer ORDER BY ID DESC;"
RecSet.Open Addera, Connect, adOpenStatic

If Len(Request.Form("f_o")) = ">255" Then

Response.Write "Du kan endast använda dig av 255 tecken och du har överskridit den gränsen :)"
%> Lägg till <a href="default.asp">fler poster</a> <%
Else

RecSet.AddNew

RecSet("Överskrift") = Request.Form("f_o")
RecSet("Text") = Request.Form("f_t")
RecSet("Betyg") = Request.Form("f_b")
RecSet("Länk") = Request.Form("f_l")

RecSet.Update
RecSet.Close
Connect.Close 
%\>

Följande uppgifter har nu lagts till i databasen:
<p> Överskrift:<br>
<b><% =Request.Form("f_o") %></b>
<p> Text:<br>
<b><% =Request.Form("f_t") %></b>
<p> Betyg:<br>
<b><% =Request.Form("f_b") %></b>
<p> Länk:<br>
<b><% =Request.Form("f_l") %></b>
<p> Lägg till <a href="http://www.minsajt.nu">fler poster</a>
<% End if %>

PatrikBMedlem sedan mars 20002 836 inlägg
#2

... det ser ut som du har glömt vilken LockType recordsetet ska ha.
Du kan inte köra default(som det blir när man ej anger ett värde) för uppdatering av recordset genom adodb.recordset

Raden det gäller är:

RecSet.Open Addera, Connect, adOpenStatic

Bör vara:

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

en liten sak till. kopiera dessa konstanter från adovbs och lägg in på asp sidan istället för att inkludera hela adovbs för endast användande av 2 av alla konstanter eller använd värdet på konstanterna direkt.

RecSet.Open Addera, Connect, 3, 3

[r]
kolla även in detta inlägg i ämnet: http://cgi.webforum.nu/wf/Forum11/HTML/002056.html

en annan sak är att det är en mycket bättre ide att lägga till info i databasen med connection objektet istället.
[/r]
cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

[Redigerat av PatrikB den 15 feb 2001]

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)