webForumDet fria alternativet

EOF och BOF

ASP

6 svar · 472 visningar · startad av hallmert

Medlem sedan dec. 2004182 inlägg
Frågan#1

Hej, jag har fått ett mycket märkligt fel i min kod. Felet kom automatiskt när sidan bara rullade (det är en del av ett community).

FEL:

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/gastbok_lasa.asp, line 0

Okej, vart hittar jag rad 0?

KOD:

<!-- #include file="presentation_overlay.asp" -->

<div class="rubrik">Skicka gästboksinlägg till <%=recset("username")%></div><br>

<table width="580" cellpadding="0" cellspacing="0">
<tr>
<td width="580" valign="top">
<form name="form1" method="post" action="gastbok_skriva.asp?ID=<%=Request.QueryString("ID")%>">
<table width="580" cellpadding="0" cellspacing="0">
<tr>
<td width="580" valign="top">
<textarea name="text" style="width: 580px;" rows="3" class="grey"></textarea>
</td>
</tr>
<tr>
<td width="580" valign="middle" align="right" height="25">
<input type="submit" value="rocka iväg gästboksinlägget" class="greyknapp">
</td>
</tr>
</table>
</form>

<%
Set Connect2 = Server.CreateObject("ADODB.Connection") 
Connect2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")

Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")

Const perSida = 10
Sidan = Request.QueryString("sida")
If Sidan = "" then 
sida = 1 
Else 
sida = Sidan 

End If 

MinCon.execute("update gb set readed=1 where tillid = "&Session("id") ) 

SQL = "Select * From gb Where tillID = "&Request.QueryString("ID") &" Order By ID DESC"

With rs
.CursorLocation = 3
.CacheSize = perSida 
End With

rs.Open SQL, MinCon

if rs.eof then
response.write "" 
else
With rs
.PageSize = perSida 
.AbsolutePage = sida
End With

Sidor =  rs.PageCount

Cound = 0
Do While Not rs.EOF And Count < rs.PageSize 
%>
<%Addera2 = "Select * From members where ID ="& rs("fromid") 
RecSet2.Open Addera2, Connect2, 1, 2
%>
<table width="580" cellpadding="0" cellspacing="0">
<tr>
<td width="65" align="center" valign="top">
<img src="fanclub-bilder/<%=RecSet2("bild")%>" width="45" height="55" border="1">
</td>
<td width="515">

	<table width="511" cellpadding="2" cellspacing="0">
	<tr>
	<td width="421" bgcolor="#dbdbdb"><a href="default.asp?visaSida=presentation&ID=<%=rs("fromid")%>"><b><%=rs("namn")%></b></a>, 
	<%= replace(formatdatetime(rs("datum"),vblongdate),"den ","") & " " & formatdatetime(rs("datum"),vbshorttime) %>
	</td>
	<td width="90" height="7" bgcolor="#dbdbdb" align="right">

		<table cellpadding="0" cellspacing="0" border="0">
		<tr>
		<td><% if rs("readed") = 0 then %><b>oläst</b><% end if %></td>
		<td><% IF Session("id") & "" = Request.Querystring("ID") &"" Then %><a href="javascript:popup('gastbok_historik.asp?ID=<%=rs("fromid")%>&namn=<%=rs("namn")%>','325','485');">svara</a><% END IF%></td>
		<td width="7"></td>
		<td><% IF Session("id") & "" = Request.Querystring("ID") & "" then %><a href="default.asp?visaSida=gastbok_tabort&delID=<%=rs("id")%>">ta bort</a><% End IF %>&nbsp;</td>
		</tr>
		</table>

	</td>
	</tr>
	<tr>
	<td width="511" colspan="2" class="gb"><%=Server.HTMLEncode(rs("text"))%>
	</td>
	</tr>
	</table>

</td>
</tr>
</table>

<table height="16" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>
<%
RecSet2.Close

	Count = Count + 1
	rs.MoveNext
	Loop
Connect2.Close
Set RecSet2 = nothing
Set Connect2 = nothing
end if

rs.Close
MinCon.Close
%>

<%If Sidor = 1 Then%>
<%Else%>

<%End If%>

<div align="center">

<%If Sidor <> 1 Then%>
<b>Fler inlägg:</b> <%For Sid = 1 To Sidor%>
<%If (Int(Sid)) = (Int(sida)) Then%>(<%=Sid%>)<%Else%> <a href="default.asp?visaSida=gastbok_lasa&ID=<%=Request.Querystring("id")%>&sida=<%=Sid%>"><%=Sid%></a> <%End If%>
<%Next%> 
<%End If%></div>

</td>
</tr>
</table>

Jag förstår verkligen INGENTING. Feler har som sagt kommit automatiskt när sidan har rullat (det är en del av ett community). Det hela är mycket märkligt. Tacksam för all hjälp! Cheers!

Medlem sedan dec. 20003 563 inlägg
#2
<!-- #include file="presentation_overlay.asp" -->

? Vad finns i den filen?

Medlem sedan dec. 2004182 inlägg
#3
<!-- #include file="include-fanclub.asp" -->
<!-- #include file="presentation_textedit.asp" -->

<%

If Session("login") <> "ok" Then
	Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
	Response.Redirect "default.asp"
End If

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/fanclub.mdb")&";pwd=losen"

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

Addera = "Select * From members Where id = " &Request.QueryString("ID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

%>

<table width="580" cellpadding="0" cellspacing="0">
<tr>
<td width="580" bgcolor="#3d3d3d" valign="middle" height="18" align="center">

<a href="default.asp?visaSida=gastbok_lasa&ID=<%=recset("id")%>" class="meny">gästbok</a> &nbsp;&nbsp;&nbsp;
<a href="default.asp?visaSida=mail_skicka&ID=<%=recset("id")%>" class="meny">maila</a> &nbsp;&nbsp;&nbsp;
<% IF Session("id") & "" = Request.Querystring("ID") &"" Then %><a href="default.asp?visaSida=vanner&id=<%=session("id")%>" class="meny">vännerlista</a> &nbsp;&nbsp;&nbsp;<% else %><a href="default.asp?visaSida=presentation_vanner&ID=<%=recset("id")%>" class="meny">vännerlista</a> &nbsp;&nbsp;&nbsp;<% end if %>
<a href="default.asp?visaSida=vanner_skapa&ID2=<%=recset("id")%>" class="meny">bli vän med</a> &nbsp;&nbsp;&nbsp;
<a href="default.asp?visaSida=presentation&ID=<%=recset("id")%>" class="meny">profilsida</a>

</td>
</tr>
</table><p>
Medlem sedan dec. 2004182 inlägg
#4

Det fungerar lokalt på min maskin (webbserver) dessutom, men inte på mitt hotell.

Medlem sedan dec. 20003 563 inlägg
#5

Du har i alla fall inte kontrollerat denna.

... ault.asp?visaSida=presentation_vanner&ID=[b]<%=recset("id")%>"[/b] class="meny">vännerli ...

Sen vet jag iofs inte hur dina ytterligare inkluderade filer ser ut.

Medlem sedan dec. 19996 721 inlägg
#6

Du öppnar samma databaskoppling 3 gånger (minst). Det är onödigt.

Medlem sedan okt. 2004392 inlägg
#7

Hmm, jag märkte att i ena Connection så har du ett lösenord, i andra har du inte det...

Och emission har rätt, en connection till samma databas räcker...

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)