Jag håller på och gör en sida där man kan bläddra igenom en databas med bilder och text och då få upp det. Det går jättebra att gå framåt, men så fort man anropar metoden MovePrevious så får jag upp det här meddelandet: Men du kollar ju om EOF eller BOF är falskt innan du flyttar. Om du då är på första posten är BOF falskt och du sedan flyttar tidigare kommer du till BOF. Du har flera ställen som det kan bli fel på, se mina markeringar. Jag har en helt annan kod som gör samma sak. Förstår ändå inte! Hur ser din kod ut nu?Fattar inte!
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.
Vad är fel? Jag kollar ju om objRS är EOF eller BOF. Vad är fel?
Jag skickar med koden nedan:
<%@ Language=VBSCRIPT %>
<% Option Explicit %>
<% Response.Buffer="True" %>
<%
Const adCmdTable="2"
Const adOpenKeyset="3"
Dim ObjConn, ObjRS, strSQL
%>
<%
Set ObjConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("ring.mdb")
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL=" SELECT * FROM tblring"
objRS.Open strSQL, objConn, adOpenKeyset, adCmdTable
%>
<%
If Request.Querystring("bild")="next" Then
If Not objRS.EOF Then
objRS.MoveNext
End If
End If
If Request.Querystring("bild")="back" Then
If Not objRS.BOF Then
objRS.Move
End If
End If
%>
<HTML>
<HEAD>
<TITLE>Ringmärkning steg för steg</TITLE>
<LINK REL=STYLESHEET HREF="styles.css" TYPE="text/css">
</HEAD>
<BODY>
<TABLE WIDTH="120" BORDER="0" ALIGN="center">
<TR>
<TD ALIGN="center" COLSPAN="3"><H6>Ringmärkningen steg för steg</H6></TD>
</TR>
<TR>
<TD ALIGN="center" COLSPAN="3">
<IMG SRC="<%=ObjRS("bild")%>">
</TD>
</TR>
<TR>
<TD></TD>
<TD ALIGN="left">
<%=ObjRS("text")%>
</TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>
<%
%>Sv: Fattar inte!
Sv: Fattar inte!
/Janne
<%@ Language=VBSCRIPT %>
<% Option Explicit %>
<% Response.Buffer="True" %>
<%
Const adCmdTable="2"
Const adOpenKeyset="3"
Dim ObjConn, ObjRS, strSQL
%>
<%
Set ObjConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("ring.mdb")
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL=" SELECT * FROM tblring"
objRS.Open strSQL, objConn, adOpenKeyset, adCmdTable
%>
<%
If Request.Querystring("bild")="next" Then
If Not objRS.EOF Then
objRS.MoveNext
End If
End If
If Request.Querystring("bild")="back" Then
If Not objRS.BOF Then
objRS.Move
End If
End If
%>
<HTML>
<HEAD>
<TITLE>Ringmärkning steg för steg</TITLE>
<LINK REL=STYLESHEET HREF="styles.css" TYPE="text/css">
</HEAD>
<BODY>
<TABLE WIDTH="120" BORDER="0" ALIGN="center">
<TR>
<TD ALIGN="center" COLSPAN="3"><H6>Ringmärkningen steg för steg</H6></TD>
</TR>
<TR>
<TD ALIGN="center" COLSPAN="3">
<IMG SRC="<%=ObjRS("bild")%>"> '********************
</TD>
</TR>
<TR>
<TD></TD>
<TD ALIGN="left">
<%=ObjRS("text")%> '********************
</TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>
<%
%>Sv: Fattar inte!
Koden ser ut så här:
'Set how many records per page we want
Const NumPerPage = 5
'Retrieve what page we're currently on
Dim CurPage
If Request.QueryString("CurPage") = "" then
CurPage = 1 'We're on the first page
Else
CurPage = Request.QueryString("CurPage")
End If
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
Set conn = Koppling_GetDatabaseConn()
'Explicitly Create a recordset object
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
'Set the cursor location property
rs.CursorLocation = adUseClient
'Set the cache size = to the # of records/page
rs.CacheSize = NumPerPage
'Open our recordset
Dim strSQL
strSQL = "SELECT * FROM Prod"
rs.Open strSQL, Conn
rs.MoveFirst
rs.PageSize = NumPerPage
'Get the max number of pages
Dim TotalPages
TotalPages = rs.PageCount
'Set the absolute page
rs.AbsolutePage = CurPage
'Counting variable for our recordset
Dim count
Sedan använder jag den här koden i länktaggen:
'Display Next / Prev buttons
if CurPage > 1 then
'We are not at the beginning, show the prev button
Response.Write("<INPUT TYPE=BUTTON VALUE=Bakåt ONCLICK=""document.location.href='fynd.asp?mode=show&curpage=" & curpage - 1 & "';"">")
End If
if CInt(CurPage) <> CInt(TotalPages) then
'We are not at the end, show a next button
Response.Write("<INPUT TYPE=BUTTON VALUE=Framåt ONCLICK=""document.location.href='fynd.asp?mode=show&curpage=" & curpage + 1 & "';"">")
End If
Hoppas det kan hjälpa dig. Anna-KarinSv: Fattar inte!
Nu när jag lagt in mer bilder så kommer jag inte längre än till 2:a bilden. Sen kommer jag inte längre!Sv: Fattar inte!
Vilket felmeddelande får du?
Har du testat min kod eller har du kvar din gamla kod?
Om du vill så kan du maila mig på aksoderberg@telia.com
så kan jag skicka den sida som jag har som jag vet fungerar,
eller kanske kolla din kodning.
Anna-Karin