webForumDet fria alternativet

paging hittar ej nästa sida

ASP

7 svar · 455 visningar · startad av MHZ

Medlem sedan apr. 200555 inlägg
Frågan#1

Jag försöker lägga in en paging för bildvisning och alla nya sidlänkar kommer fram fint men den hittar inte någon av dess sidor. Jag får felmess:

Feltyp:
ADODB.Recordset (0x800A0BCD)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

Det gäller:

RecSet.AbsolutePage = intPage

Kan nån se vad som är fel?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
SQL = "Select * From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn"

Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open SQL, Conn, 1, 3
RecSet.PageSize = 3

X=0

If Request.QueryString("page") = "" OR NOT IsNumeric(Request.QueryString("page")) Then
intPage = 1
Else
intPage = CInt(Request.QueryString("page"))
End If

RecSet.AbsolutePage = intPage  

DO UNTIL RecSet.EOF OR X = RecSet.PageSize

Set RS=Conn.Execute("Select * From galleri Where namn='" & RecSet("namn") & "'")
Set ReS=Conn.Execute("Select Top 1 * From bilder Where namn='" & RecSet("namn") & "' Order By datum desc")
Set Bilder=Conn.Execute("Select Count(*) As antal From bilder Where namn='" & RecSet("namn") & "'")
%>

  <tr>
    <td><a href="visa.asp?id=<%=RecSet("namn")%>"><%=RecSet("namn")%></a>(<i><%=Bilder("Antal")%><%If Bilder("Antal") = 1 Then%> bild<%Else%> bilder<%End If%></i>)</td>
  </tr>
  
  <tr>
    <td><a href="visa.asp?id=<%=RecSet("namn")%>"><img src="pics/<%=ReS("Bild")%>" width="397" border="0"></a></td>
  </tr>
  
  <tr>
    <td class="rubrik2" align="center"><%If Len(RS("info")) > 60 Then%></b><%= Left(Replace(RS("info"), vbCrLf, "<br>" ),60)%>..<%Else%><%=Replace(RS("info"), vbCrLf, "<br>" )%><%End If%></td>
  </tr>
   
<%
X=X+1
RecSet.MOVENEXT
LOOP
%>

<%
If RecSet.PageCount > 1 Then
For i = 1 To RecSet.PageCount
If i <> intPage Then
Response.Write("<a href=""?page=" & i & """>" & i &"</a> ")
Else
Response.Write("[" & i & "] ")
End If
Next
End If
%>
Medlem sedan apr. 200555 inlägg
#2

När jag använder denna paging på en sida med bara ett recset fungerar det utan problem. Så själva metoden borde väl även gå här?

Medlem sedan apr. 200555 inlägg
#3

Är inte så bra på allt detta men är frågan felställd? Jag kan komplettera om jag bara vet vad som behövs för att man ska kunna se var felet är.

Men felet verkar vara att "RecSet.AbsolutePage = intPage" inte fungerar som det ska. Hur jag än försöker ändra det och lägga på andra ställen blir det fel.

Medlem sedan juni 200032 967 inlägg
#4

Du måste skicka vidare alla querystrings som behövs för att SQL-frågan ska ställas. I sidlänkarna måste du alltså skicka vidare querystringen kat.

mvh

Medlem sedan apr. 200555 inlägg
#5

Snälla. Kan du hjälpa mig att skriva in det? Jag vet helt enkelt inte hur man gör så att det ska gå..

Medlem sedan juni 200032 967 inlägg
#6

byt

Response.Write("<a href=""?page=" & i & """>" & i &"</a> ")

till

Response.Write("<a href=""?page=" & i & "&kat=" & Request.Querystring("kat") & """>" & i &"</a> ")
Medlem sedan apr. 200555 inlägg
#7

TACK.. Kan bara beundra alla er som ser och kan dessa saker...

Funkade direkt :)

Medlem sedan juni 200032 967 inlägg
#8

Varsågod - bara glad att hjälpa till så här i sommartider. :bire

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)