---
title: "mera paging"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12955-mera-paging"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "aleborg"
published: "2001-12-01T23:46:00.000Z"
updated: "2001-12-02T14:53:00.000Z"
replies: 8
views: 459
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12955-mera-paging"
---

# mera paging

## #1 — aleborg, 2001-12-01T23:46Z

Jag använder PatrikB's paging ifrån <http://cgi.webforum.nu/wf/Forum11/HTML/003221.html> 

Jag får följande fel:
ADODB.Recordset error '800a0cb3' 

Object or provider is not capable of performing requested operation. 

/en/user_guestbook.asp, line 59 

på den raden finns
objRS.AbsolutePage = intPage

nån som vet vad som kan va fel?
Använder MySQL!

```
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "absolut"

eSQL="Select * From Users Where UserID="& Request.QueryString("show_user")
Set user=Conn.Execute(eSQL)
rSQL="Select * From User_Info Where Info_Bel="& user("UserID")
Set info=Conn.Execute(rSQL)
%>
html...
<%
intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1

strSQL = "SELECT * FROM Guestbook Where Gbook_Bel="& Cint(Request.QueryString("show_user")) &" ORDER BY Gbook_Date DESC"

Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, Conn, 3, 1

objRS.PageSize = intPageSize
objRS.AbsolutePage = intPage
intTotalPages = objRS.PageCount

If objRS.EOF Then
	If Right(user("Username"),1)="s" Then 
	Response.Write user("Username") &" guestbook is empty!"
	Else
	Response.Write user("Username") &"'s guestbook is empty!"
	End If

Else
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1
wSQL="Select * From Users Where UserID="& objRS("Gbook_Signer")
Set us=Conn.Execute(wSQL)
qSQL="Select * From User_Info Where Info_Bel="& user("UserID")
Set inh=Conn.Execute(qSQL)
%>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td rowspan="2" width="60">&nbsp;</td>
          <td><a href="user_info.asp?show_user=<%=us("UserID")%>"><%=us("Username")%></a></td>
        </tr>
        <tr> 
          <td><%=Replace(Server.HTMLEncode(objRS("Gbook_Text")), vbcrlf, "<br>")%></td>
        </tr>
      </table>
<%
inh.Close
Set inh=Nothing
us.Close
Set us=Nothing

objRS.MoveNext
Loop
End If

objRS.Close
Set objRS = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
```

Permalänk: https://www.webforum.nu/p/12955

## #2 — jorgen, 2001-12-02T11:10Z

Hej, jag använder det paging scriptet tillsamans med mysql, och det funkar höjdens. 

Jag känner inte igen så många rader i din kod som härstammar från orginalscriptet. Så det är svårt att hjälpa dig. Vet ju inte hur allt annat ser ut heller.

red: visste inte att han gjort 2 versioner, jag använder den andre. Det var någ därför jag inte kände igen det :(

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/299532

## #3 — aleborg, 2001-12-02T11:35Z

Var hittade du den Do loopen?
Jag har däremot lagt in annan kod för hämtning av data i andra tabeller! Tog även bort alla kommentarer! Och inkluderade inte subben här!

Vilket fall som helst gjorde jag om allt och la in orginal koden och ändrade ytterst lite

```
<%
Option Explicit
Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount

'## -- connection string, vilken provider och db ska användas --
strConnString = "absolut"

'## -- hur många inlägg ska visas per sida --
intPageSize = 10

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

'## -- om ingen querystring med sidvärde hittas, visa då första sidan --
If intPage = "" Then intPage = 1
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConnString

strSQL = "SELECT * FROM Guestbook Where Gbook_Bel="& Cint(Request.QueryString("show_user")) &" ORDER BY Gbook_Date DESC"

'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize

'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1

'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage

'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount

If objRS.EOF Then
Response.Write "Det finns inga inlägg."
Else
'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)

Response.Write "<B>Namn:</B> " & strName & "<BR>" & _
"<B>Datum:</B> " & dteDate & "<BR>" & _
"<B>Kommentar:</B><BR>" & _
strComment & _
"<HR size=""1"" noshade>"

objRS.MoveNext
Loop
End If

'## -- clean up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
</BODY>
</HTML>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I

'## -- vilken sida ska navigeringen länka till --
strScriptName = Request.ServerVariables("SCRIPT_NAME")

'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
If CInt(WichPage) > 1 Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage - 1 & "'><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "[ <B>" & I & "</B> ] "
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage + 1 & "'>Nästa >>"
Else
Response.Write "Nästa >>"
End If

End Sub
%>
```

Nu får jag:
ADODB.Recordset error '800a0cb3' 

Object or provider is not capable of performing requested operation. 

/en/user_guestbook.asp, line 47 

vilket är:
objRS.AbsolutePage = intPage

Jag har använt koden flera gånger innan och då har den alltid fungerat, men då har jag använt Access 2000 eller SQL server, nu är det MySQL!

Permalänk: https://www.webforum.nu/p/299533

## #4 — jorgen, 2001-12-02T11:56Z

Hej!

En databaskoppling i MySQL ser ut enligt följande:

```
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Mysql};Server=mysql.server.com;Database=databasnamn;UID=användarnamn;PWD=lösenord"
```

Här hittade jag do-loopen:

```
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)

Response.Write "<B>Namn:</B> " & strName & "<BR>" & _
"<B>Datum:</B> " & dteDate & "<BR>" & _
"<B>Kommentar:</B><BR>" & _
strComment & _
"<HR size=""1"" noshade>"

objRS.MoveNext
Loop
```

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/299534

## #5 — aleborg, 2001-12-02T13:19Z

men den finns ju i orginal koden, inget jag har lagt dit :)

Får fortfarande samma fel och på samma rad :(

Permalänk: https://www.webforum.nu/p/299535

## #6 — aleborg, 2001-12-02T14:13Z

fick det att funka, hittade ett tips i en annan tråd!

men jag vet inte vad det gör,
objRS.cursorlocation = 3
att läggas till innan öppnandet av recordsetet. Vad gör raden?

Permalänk: https://www.webforum.nu/p/299536

## #7 — LarsG, 2001-12-02T14:30Z

Det innebär att innehållet i recordsetet lagras på klienten och inte på databasservern.

Permalänk: https://www.webforum.nu/p/299537

## #8 — aleborg, 2001-12-02T14:33Z

bra/dåligt? Vad gör det för hastighet mm? Vad är det som krävt att jag var tvungen att använda det?

Permalänk: https://www.webforum.nu/p/299538

## #9 — LarsG, 2001-12-02T14:53Z

Det är bra för prestandan då det blir färre anrop till databasen.

Det är sämre då du använder mer minne på webservern för att lagra data. Så om du har stora datamängder är det inte så bra.

> Vad är det som krävt att jag var tvungen att använda det?

brister i Myodbc.

Permalänk: https://www.webforum.nu/p/299539

---

Tråden på webben: https://www.webforum.nu/amne/asp/12955-mera-paging
