濮阳杆衣贸易有限公司

主頁 > 知識庫 > 來自CSDN的無限流分頁程序

來自CSDN的無限流分頁程序

熱門標(biāo)簽:防城港市ai電銷機器人 溫嶺代理外呼系統(tǒng) 交行外呼系統(tǒng)有哪些 怎么更改地圖標(biāo)注電話 寧夏保險智能外呼系統(tǒng)哪家好 不同的地圖標(biāo)注 激戰(zhàn)黃昏地圖標(biāo)注說明 隨州銷售外呼系統(tǒng)平臺 臨滄移動外呼系統(tǒng)哪家有

以下是代碼片段: 
'******************************************************************  
'** 本程序名:"無限流"分頁程序  
'** 作者:Arbiter(AAsx)  
'** 版本:Million Level  
'**  
'** QQ:22222xx  
'** Email:Arbiter@21cn.com  
'** http://www.imagecity.org/  
'******************************************************************  
'**  
'** 【作者的話】  
'**  
'** 分頁程序無疑是許多網(wǎng)絡(luò)程序功能中一個比較麻煩的東西,事實上現(xiàn)在  
'** 為止絕大部分人還是在使用傳統(tǒng)的分頁方法(Rs.PageSize=xx),而了解  
'** 數(shù)據(jù)庫操作的人都知道,這種傳統(tǒng)方式有個弊端:第一次打開頁面時,  
'** 它會預(yù)讀所有的記錄集,這當(dāng)在數(shù)據(jù)大的時候,這將是致命的,而且接  
'** 下來的翻頁速度也會非常慢,很占用資源。對于十萬數(shù)量級以上的數(shù)據(jù)  
'** 庫這種傳統(tǒng)分頁方式已經(jīng)顯得非常無力,更別說百萬級了(根本沒法操  
'** 作)?;谶@種原因,促使我做了本程序。  
'**  
'** 【程序功能】  
'**  
'** 針對大型的數(shù)據(jù)庫進(jìn)行分頁操作,理想的可操作的數(shù)據(jù)記錄量在200萬  
'** 以內(nèi)(Max Level版將無數(shù)量限制,且無論數(shù)據(jù)庫多大,翻頁速度都是  
'** 不變),這是Million Level版分頁程序在賽揚1G、內(nèi)存512、win2k環(huán)  
'** 境下的測試數(shù)據(jù):  
'**  
'** SQLserver 2k + 10萬條記錄 + 每頁顯示20條:  
'** 平均翻頁速度:45ms  
'** SQLserver 2k + 100萬條記錄 + 每頁顯示20條:  
'** 平均翻頁速度:350ms  
'**  
'**  
'** 【分頁原理】  
'**  
'** 本程序不再使用Rs.PageSize的方式分頁,連接數(shù)據(jù)庫的游標(biāo)類型  
'** 也不是使用conn,1,x,而是conn,0,1,這應(yīng)是最快的游標(biāo)類型了,不要  
'** 以為這樣會使程序變得復(fù)雜,相反,程序非常簡單,如果你看不明白,  
'** 應(yīng)該是我的編程風(fēng)格你不習(xí)慣,而非程序復(fù)雜。  
'** "無限流"分頁的中心是:每頁只讀出需要顯示的記錄,不再象傳統(tǒng)  
'** 分頁程序預(yù)讀全部的數(shù)據(jù),這正在本程序最大的優(yōu)點--占用資源少,同  
'** 理速度也得到非常大的提升,特別在數(shù)據(jù)量越大的時候,它的速度優(yōu)勢  
'** 越明顯(100萬記錄才350ms左右)。  
'** 當(dāng)程序執(zhí)行后,使用CurcorBegin和CurcorEnd記錄顯示的第一條記  
'** 錄和最后一條記錄的ID值,作為下一次翻頁的標(biāo)記,然后利用Top xx取  
'** 出需要的數(shù)據(jù)顯示,同時又再對ID值進(jìn)行記錄。  
'**  
'** 【結(jié) 言】  
'**  
'** 本程序為共享版,提供給各程序愛好者研究使用,若要轉(zhuǎn)載、散播、修  
'** 改或作其他用途,請尊重作者的辛勞,注明出處。  
'** 如果本程序中有錯漏、非最優(yōu)化等缺點,請到www.csdn.net的Web開發(fā)/  
'** ASP欄目中發(fā)表討論,為了中國軟件事業(yè)的發(fā)展,請不要固步自封:)  
'**  
'********************************************************************    
Option Explicit  
'Response.Flush  
Dim BeginTime,EndTime  
BeginTime=Timer  
Dim conn,SQLstr,Rs,DefRecordNum,CursorBegin,CursorEnd,CurPageNum,hav  
DefRecordNum=20  
'--------------獲取相關(guān)參數(shù)----------  
If Request("CursorBegin")="" Then CursorBegin=0 Else CursorBegin=Request("CursorBegin")  
If Request("CursorEnd")="" Then CursorEnd=0 Else CursorEnd=Request("CursorEnd")  
If Request("CurPageNum")>"" Then  
CurPageNum=CLng(Request("CurPageNum"))  
If CurPageNum=0 Then CurPageNum=1  
Else  
CurPageNum=1  
End If  
hav=Request("hav")  
If hav="" Then hav="next"  
'----------------End-----------------  
'------------顯示翻頁內(nèi)容函數(shù)--------  
Function TurnPageFS(DispRecordNum)  
Dim n  
While Not(Rs.Eof) And n n=n+1  
Response.Write ""_  
""Rs(0)""_  
""Rs(1)""_  
""Rs(2)""_  
""Rs(3)""_  
""Rs(4)""_  
""Rs(5)""_  
""  
If n=1 Then CursorBegin=Rs(0)  
If n=DefRecordNum Or Rs.Eof Then CursorEnd=Rs(0)  
Rs.MoveNext  
Wend  
End Function  
'-------------連接數(shù)據(jù)庫-------------  
Set conn=Server.CreateObject("Adodb.Connection")  
'SQLstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Server.Mappath("mldata.mdb")  
SQLstr="Driver={SQL Server};server=arbiter;uid=arbiter;pwd=123456;database=mldata"  
conn.Open SQLstr  
'---------統(tǒng)計總記錄數(shù)/總頁數(shù)---------  
'-PS:推薦使用count(ID),ID為自動編號且索引,否則速度有可能大打折扣  
'-PS:此統(tǒng)計是本程序中最耗資源的一部分,如果取消這段程序,速度會快上10倍左右  
Dim TotalRecords,TotalPages  
SQLstr="Select count(ID) As RecordSum From ABC"  
Set Rs=conn.Execute(SQLstr,0,1)  
TotalRecords=Rs("RecordSum")  
TotalPages=Abs(Int(TotalRecords/DefRecordNum*(-1)))  
Rs.Close  
Set Rs=Nothing  
'--------根據(jù)hav選擇相應(yīng)的SQL字串-----  
Select Case(hav)  
Case "back"  
CursorEnd=CursorBegin  
SQLstr="Select Top "DefRecordNum"_  
ID,Title,FileName,K,ImgSize,NameSon _  
From ABC Where ID"CursorBegin_  
" And ID In (Select Top "DefRecordNum_  
" ID From ABC Where ID"CursorBegin_  
" Order by ID DESC) Order by ID"  
Case "next"  
SQLstr="Select Top "DefRecordNum_  
" ID,Title,FileName,K,ImgSize,NameSon From ABC Where ID>"CursorEnd_  
" Order by ID"  
End Select  
Set Rs=conn.Execute(SQLstr,0,1)  
%>  



  

  
td,br,div,p,body {font-size:12px}  

  

   

首頁 上一頁   
下一頁   

  

   
ID  
Title  
FileName  
大小  
尺寸  
類別      

首頁 上一頁   下一頁  

function turnpage(func){  
var CurPageNum=; //取得當(dāng)前頁碼  
var CursorBegin=; //取得第一個顯示的記錄的ID值  
var CursorEnd=; //取得最后一個顯示的記錄的ID值  
var TotalPages=; //取得頁面總數(shù)   
var BackUrl='mllist.asp?CurPageNum='+(CurPageNum-1)+'CursorBegin='+CursorBegin+'CursorEnd='+CursorEnd+'hav=back';  
var NextUrl='mllist.asp?CurPageNum='+(CurPageNum+1)+'CursorBegin='+CursorBegin+'CursorEnd='+CursorEnd+'hav=next';  
if(CurPageNum=1  func=='back'){  
location.href='#';  
}else if(CurPageNum>=TotalPages  func=='next'){  
location.href='#';  
}else if(func=='back'){  
location.href=BackUrl;  
}else if(func='next'){  
location.href=NextUrl;  
}  
}

您可能感興趣的文章:
  • nginx 如何實現(xiàn)讀寫限流的方法
  • asp中"無限流"分頁程序代碼
  • RateLimiter 源碼分析

標(biāo)簽:無錫 河源 哈密 沈陽 忻州 青海 阜陽 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《來自CSDN的無限流分頁程序》,本文關(guān)鍵詞  來自,CSDN,的,無,限流,分頁,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《來自CSDN的無限流分頁程序》相關(guān)的同類信息!
  • 本頁收集關(guān)于來自CSDN的無限流分頁程序的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    靖州| 和硕县| 太谷县| 林周县| 平湖市| 鄂温| 徐闻县| 任丘市| 饶阳县| 库车县| 武冈市| 县级市| 开平市| 阿拉尔市| 平罗县| 上饶县| 西乌| 古丈县| 罗平县| 锡林郭勒盟| 白朗县| 铅山县| 隆回县| 扎赉特旗| 富平县| 筠连县| 延吉市| 湾仔区| 兴化市| 怀来县| 金山区| 微博| 额尔古纳市| 怀安县| 新宁县| 霞浦县| 永新县| 景宁| 方山县| 富平县| 湖南省|