Diese Seite verwendet 0 Cursor, dh Rs.open SQL, Conn, 0,1. Es ist jedoch nicht der Ansicht, dass es viel schneller ist und die Paging -Zeit von 100.000 Daten mehr als 300 Sekunden beträgt.
Die Codekopie lautet wie folgt:
<%
'*********************************
'Name: Pagination Class
'Datum: 2005/12/3
'Autor: Leng Yue, Xilou
'Website: www.xilou.net | www.chinacms.org
'Beschreibung: Keine
'Copyright: Bitte beachten Sie die Quelle zum Nachdruck, Autor
'*********************************
Klassenseite
Privatströmung
Privatpagen
Private urlstr
Privat Tempstr
Privat errinfo
Privates iserr
Privates Totalrecord
Private TotalPage
Öffentliche Pager
Privattempa (11)
Private tempb (8)
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private sub class_initialize ()
CurrPage = 1 '// Die Standardanzeige der aktuellen Seite ist die erste Seite
Pagen = 10 '// Standard 10 Datenstücke werden pro Seite angezeigt
Urlstr = "#"
Tempstr = ""
Errinfo = "errinfo:"
ISERR = Falsch
Ende sub
Private sub class_terate ()
Wenn isObject (Pager) dann
Pager.CLOSE
Setzen Sie Pager = nichts
Ende wenn
Tempa löschen
Tempb löschen
Ende sub
'----------------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Erhalten Sie die aktuelle Seitennummer
Öffentliches Eigentum let CurrentPage (Val)
CurrPage = val
Beenden Sie Eigentum
Öffentliches Eigentum erhalten Sie CurrentPage ()
CurrentPage = currPage
Beenden Sie Eigentum
'// Erhalten Sie die Anzahl der angezeigten Teile pro Seite
Öffentliches Eigentum let pagenum (val)
Pagen = val
Beenden Sie Eigentum
Öffentliches Eigentum bekommen Pagenum ()
Pagenum = Pagen
Beenden Sie Eigentum
'// URL bekommen
Öffentliches Eigentum let URL (Val)
Urlstr = val
Beenden Sie Eigentum
Öffentliches Eigentum erhalten Sie URL ()
Url = urlstr
Beenden Sie Eigentum
'// Die Vorlage bekomme
Öffentliches Eigentum let temp (val)
Tempstr = val
Beenden Sie Eigentum
Öffentliches Eigentum bekommen temp ()
Temp = tempstr
Beenden Sie Eigentum
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Sub Exec (SQL, Connobj)
Bei der nächsten Fehleraufnahme als nächstes
Setzen Sie Pager = server.createObject ("adodb.recordset").
Pager
Pager.PageSIZE = Pagen 'Definieren Sie die Seitenaufzeichnungsnummer der pro Seite angezeigten Datensätze
Pager.open SQL, Connobj, 0,1
Wenn err.number <> 0 dann
Err.clear
Pager.CLOSE
Setzen Sie Pager = nichts
Errinfo = errinfo & "Fehler beim Erstellen oder Öffnen von Datensatzsätzen ..."
ISERR = True
Antwort.Write errinfo
Antwort.end
Ende wenn
TotalRecord = Pager.RecordCount '// Was ist, wenn es 0 ist?
Wenn TotalRecord> = 1 dann
'----------------------------------------------------------------------------Start
'// Berechnen Sie die Gesamtzahl der Seiten, ps, warum nicht pager.pagecount?
'Wenn TotalRecord mod pagen = 0 dann dann
'TotalPage = Pager.RecordCount/Pagen
'Anders
'TotalPage = Pager.RecordCount/Pagen
'TotalPage = ABS (int (TotalPage))
'Ende wenn
TotalPage = Pager.PageCount
'// Verarbeiten Sie die aktuelle empfangene Seitennummer, der Standardwert ist 1. Wenn Sie also kein numerischer Typ sind, sind Sie 1
Wenn isnumerisch (CurrPage), dann