이 페이지는 0 커서, 즉 Rs.open SQL, Conn, 0,1을 사용합니다. 그러나 훨씬 더 빠르다고 생각하지 않으며 100,000 조각의 페이징 시간은 300 초 이상입니다.
코드 사본은 다음과 같습니다.
<%
'*******************************
'이름 : Pagination 클래스
'날짜 : 2005/12/3
'저자 : Leng Yue, Xilou
'웹 사이트 : www.xilou.net | www.chinacms.org
'설명 : 없음
'저작권 : 저자, 저자 소스를 참조하십시오
'*******************************
수업 페이지
개인 Currpage
개인 pagen
개인 urlstr
개인 tempstr
개인 errinfo
개인 ISERR
개인 TotalRecord
개인 TotalPage
공공 호출기
개인 템파 (11)
개인 온도 (8)
'------------------------------------------------------------
private sub class_initialize ()
Curpage = 1 '// 현재 페이지의 기본 표시가 첫 페이지입니다.
Pagen = 10 '// 기본값 10 개 데이터가 페이지 당 표시됩니다
urlstr = "#"
tempstr = ""
errinfo = "errinfo :"
iserr = false
종료 서브
private sub class_terminate ()
isobject (호출기)라면
호출기. 클로즈
Pagers = 아무것도 없습니다
끝 If
템파를 지우십시오
온도를 지우십시오
종료 서브
'-----------------------------------------------------------------
'// 현재 페이지 번호를 얻습니다
공공 재산은 CurrentPage (val)
Curpage = Val
종료 속성
공공 재산 GET CURRENTPAGE ()
CurrentPage = Currpage
종료 속성
'// 페이지 당 표시된 조각의 수를 얻습니다
공공 재산 let pagenum (val)
Pagen = Val
종료 속성
공공 재산 GET PAGENUM ()
pagenum = pagen
종료 속성
'// URL을 얻습니다
공공 재산 let url (val)
urlstr = val
종료 속성
공공 재산 GET URL ()
url = urlstr
종료 속성
'// 템플릿을 가져옵니다
공공 재산 let temp (val)
tempstr = val
종료 속성
공공 재산 get temp ()
temp = tempstr
종료 속성
'------------------------------------------------------------
Public Sub Exec (SQL, Connobj)
다음에 오류가 재개됩니다
Set Pager = Server.createObject ( "adodb.recordset")
Pager.cursorLocation = 3 '클라이언트 커서를 사용하면 효율성을 향상시킬 수 있습니다
Pager.Pagesize = Pagen '페이지 당시 페이지 당 표시되는 레코드 수준 정의
Pagers. Open SQL, Connobj, 0,1
err.number <> 0 인 경우
err.clear
호출기. 클로즈
Pagers = 아무것도 없습니다
errinfo = errinfo & "오류 생성 또는 오프닝 레코드 세트 ..."
iserr = true
응답. errinfo
응답. 엔드
끝 If
TotalRecord = Pager.RecordCount '// 0이면 어떻게됩니까?
TotalRecord> = 1 인 경우
'----------------------------------------------------------------------------시작
'// 총 페이지 수, ps, PageS.PageCount를 사용하지 않는 이유는 무엇입니까?
'TotalRecord Mod Pagen = 0이면
'TotalPage = Pager.RecordCount/Pagen
'또 다른
'TotalPage = Pager.RecordCount/Pagen
'TotalPage = ABS (int (TotalPage))
'끝 If
TotalPage = Pager.PageCount
'// 현재 수신 된 페이지 번호를 처리하고 기본값은 1이므로 숫자 유형이 아닌 경우 1이됩니다.
isnumeric (currpage)이라면