Esta página usa 0 cursor, es decir, Rs.open SQL, Conn, 0,1. Pero no parece que sea mucho más rápido, y el tiempo de paginación de 100,000 datos es de más de 300 segundos.
La copia del código es la siguiente:
<%
'**********************************
'Nombre: clase de paginación
'Fecha: 2005/12/3
'Autor: Leng Yue, Xilou
'Sitio web: www.xilou.net | www.chinacms.org
'Descripción: ninguno
'Copyright: consulte la fuente para la reimpresión, el autor
'**********************************
Página de clase
Currpage privado
Pagén privado
URLSTR PRIVADO
Tempttr privado
Errinfo privado
Iserr privado
Privado TotalRecord
Page total privado
Buscapersonas
Tempa privado (11)
Tempb privado (8)
'------------------------------------------------------------
Sub class_initialize () privado ()
CurrPage = 1 '// La visualización predeterminada de la página actual es la primera página
Pagen = 10 '// Se muestran 10 piezas de datos predeterminados por página
Urlstr = "#"
Tempttr = ""
Errinfo = "errinfo:"
Iserr = falso
Final
Sub class_terminate () privado ()
If isObject (buscapersonas) entonces
PAGERS.CLOSSE
Establecer PAGERS = nada
Final si
Borrar tempa
Borrar tempb
Final
'----------------------------------------------------------
'// Obtener el número de página actual
Propiedad pública Deja que CurrentPage (Val)
CurrPage = val
Propiedad final
Propiedad pública Obtenga CurrentPage ()
CurrentPage = CurrPage
Propiedad final
'// Obtenga el número de piezas mostradas por página
Propiedad pública Sea pagenum (Val)
Pagen = Val
Propiedad final
Propiedad pública Get Pagenum ()
Pageno = pagén
Propiedad final
'// Obtén URL
Propiedad pública Sea URL (Val)
Urlstr = val
Propiedad final
Propiedad pública Get URL ()
Url = urlstr
Propiedad final
'// Obtén la plantilla
Propiedad pública Let Temp (Val)
Tempttr = val
Propiedad final
Propiedad pública Get Temp ()
Temp = tempttr
Propiedad final
'------------------------------------------------------------
Public Sub Exec (SQL, ConnoBJ)
En el currículum de error siguiente
Establecer pagers = server.createObject ("ADODB.Recordset")
Pagers.cursorLocation = 3 'El uso de los cursores del cliente puede mejorar la eficiencia
Pagers.pagesize = Pagen 'Defina el registro de la página Número de registro de registros que se muestran por página
Pagers.open SQL, Connobj, 0,1
Si err.number <> 0 entonces
Err.Clear
PAGERS.CLOSSE
Establecer PAGERS = nada
Errinfo = errinfo & "Error creando o abriendo el conjunto de registros ..."
Iserr = verdadero
Respuesta.WRITE ERRINFO
Respuesta.
Final si
TotalRecord = Pagers.RecordCount '// ¿Qué pasa si es 0?
Si TotalRecord> = 1 entonces
'----------------------------------------------------------------------------comenzar
'// Calcule el número total de páginas, PS, ¿por qué no usar pagers.pageCount?
'Si TotalRecord mod pagen = 0 entonces
'TotalPage = Pagers.RecordCount/Pagen
'Demás
'TotalPage = Pagers.RecordCount/Pagen
'TotalPage = ABS (int (TotalPage))
'Finalizar si
TotalPage = PAGERS.PAGECOUNT
'// procesa el número de página recibido actual, el valor predeterminado es 1, por lo que si no es un tipo numérico, será 1
If isNumérico (CurrPage) entonces