Cette page utilise 0 curseur, c'est-à-dire Rs.Open SQL, Conn, 0,1. Mais il ne pense pas que c'est beaucoup plus rapide, et le temps de pagination de 100 000 éléments de données est supérieur à 300 secondes.
La copie de code est la suivante:
<%
'*******************************
'Nom: cours de pagination
'Date: 2005/12/3
'Auteur: Leng Yue, Xilou
'Site Web: www.xilou.net | www.chinacms.org
'Description: Aucun
'Copyright: veuillez vous référer à la source de réimpression, auteur
'*******************************
Page de classe
CurrPage privé
Pagène privé
URLSTR privé
TEMPTR PRIVÉ
Errrinfo privé
Privé Iserr
Private totalRecord
Page totale privée
Pageurs publics
Tempa privé (11)
Tempb privé (8)
'------------------------------------------------------------
Private Sub class_Initialize ()
CurrPage = 1 '// L'affichage par défaut de la page actuelle est la première page
Pagène = 10 '// par défaut 10 éléments de données sont affichés par page
Urlstr = "#"
Temptr = ""
Errinfo = "errinfo:"
ISerr = faux
Sub-Sub
Private Sub class_termiate ()
Si isObject (Pagers) alors
Cordons
Définir les téléperges = rien
Terminer si
Effacer la tempa
Effacer Tempb
Sub-Sub
'----------------------------------------------------------
'// Obtenez le numéro de page actuel
Propriété publique Soit CurrentPage (VAL)
CurrPage = Val
Propriété finale
Propriété publique Get CurrentPage ()
CurrentPage = CurrPage
Propriété finale
'// Obtenez le nombre de pièces affichées par page
Propriété publique Let Pagenum (Val)
Pagène = val
Propriété finale
Propriété publique Get Pagenum ()
Pagenum = Pagen
Propriété finale
'// Obtenez URL
Propriété publique Let URL (VAL)
Urlstr = val
Propriété finale
Propriété publique GET URL ()
Url = urlstr
Propriété finale
'// Obtenez le modèle
Propriété publique Let Temp (Val)
Temptr = Val
Propriété finale
Propriété publique Get Temp ()
Temp = Temptr
Propriété finale
'------------------------------------------------------------
Public subec (SQL, Connobj)
Sur l'erreur reprendre ensuite
Set pagerrs = server.createObject ("adodb.recordSet")
Pager.cursorLocation = 3 'Utilisation des curseurs du client peut améliorer l'efficacité
Pagers.pagesize = pagen 'définir le jeu d'enregistrements de page Nombre d'enregistrements affichés par page
Pagerrs.open SQL, Connobj, 0,1
Si err.number <> 0 alors
Err.Clear
Cordons
Définir les téléperges = rien
Errinfo = errinfo & "Erreur créant ou ouvrant le jeu d'enregistrements ..."
ISerr = vrai
Response.Write Errinfo
Réponse.
Terminer si
TotalRecord = pagerrs.recordCount '// Et si c'est 0?
Si totalRecord> = 1 alors
'----------------------------------------------------------------------------commencer
'// Calculez le nombre total de pages, ps, pourquoi ne pas utiliser les sacrés.pageCount?
'Si totalRecord mod pagène = 0 alors
'TotalPage = Pagers.recordCount / Pagen
'Autre
'TotalPage = Pagers.recordCount / Pagen
'TotalPage = ABS (int (TotalPage))
'Fini si
TotalPage = Pagers.PageCount
'// traite le numéro de page reçue actuel, la valeur par défaut est 1, donc si vous n'êtes pas un type numérique, vous serez 1
Si ISNUMERIC (CurrPage) alors