Esta página usa 0 cursor, ou seja, Rs.Open SQL, Conn, 0,1. Mas não parece que seja muito mais rápido, e o tempo de paginação de 100.000 dados é superior a 300 segundos.
A cópia do código é a seguinte:
<%
'***********************************
'Nome: classe de paginação
Data: 2005/12/3
'Autor: Leng Yue, Xilou
'Site: www.xilou.net | www.chinacms.org
'Descrição: Nenhum
'Copyright: Por favor, consulte a fonte de reimpressão, autor
'***********************************
Página de aula
Private currpage
Pagen privado
Urlstr privado
Tempstr particular
Private Errinfo
Private iserr
TotalRecord privado
TotalPage privado
Pagers públicos
Tempa particular (11)
TEMPB particular (8)
'------------------------------------------------------------
Sub -classe privado_initialize ()
Currpage = 1 '// A exibição padrão da página atual é a primeira página
Pagen = 10 '// padrão 10 peças de dados são exibidas por página
Urlstr = "#"
Tempstr = ""
Errinfo = "Errinfo:"
Iserr = false
Final sub
Sub -classe particular ()
Se Isobject (pagers) então
Pagers.close
Set pagers = nada
Final se
Apagar Tempa
Apagar Tempb
Final sub
'------------------------------------------------------------
'// Obtenha o número da página atual
Propriedade pública Let CurrentPage (VAL)
Currpage = val
Propriedade final
Propriedade pública Get CurrentPage ()
CurrentPage = currPage
Propriedade final
'// Obtenha o número de peças exibidas por página
Propriedade pública Let Pagenum (VAL)
Pagen = val
Propriedade final
Propriedade pública Get Pagenum ()
Pagenum = Pagen
Propriedade final
'// Obtenha URL
Propriedade pública Let URL (VAL)
Urlstr = val
Propriedade final
Propriedade pública Get Url ()
Url = urlstr
Propriedade final
'// Obtenha o modelo
Propriedade pública Let Temp (Val)
Tempstr = val
Propriedade final
Propriedade pública Get Temp ()
Temp = tempstr
Propriedade final
'------------------------------------------------------------
Sub -executivo público (SQL, ConnObj)
Em erro de erro em seguida
Set pagers = server.createObject ("adodb.recordset")
Pagers.cursorlocation = 3 'usando cursores de clientes podem melhorar a eficiência
Pagers.Pagesize = Pagen 'Defina o conjunto de registros da página Número de registros exibidos por página
Pagers.open SQL, ConnObj, 0,1
Se err.number <> 0 então
Err.clear
Pagers.close
Set pagers = nada
Errinfo = Errinfo & "Erro criando ou abrindo conjunto de registros ..."
Iserr = true
Response.Write Errinfo
Resposta.END
Final se
TotalRecord = pagers.recordCount '// e se for 0?
Se TotalRecord> = 1 então
'----------------------------------------------------------------------------começar
'// Calcule o número total de páginas, PS, por que não usar pagers.pagecount?
'Se TotalRecord mod pagen = 0 então
'TotalPage = pagers.RecordCount/Pagen
'Outro
'TotalPage = pagers.RecordCount/Pagen
'TotalPage = ABS (int (TotalPage))
'Final se
Totalpage = pagers.pagecount
'// Processar o número atual de página recebida, o padrão é 1; portanto, se você não for um tipo numérico, será 1
Se fornumérico (currPage), então