1. ホーム
  2. Web プログラミング
  3. ウェブプレーヤー

CSDNが提供するページネーションプログラム「Infinite Streams」。

2022-01-17 09:02:48

以下は、そのコード・スニペットです。 
'******************************************************************  
'** プログラム名: "Infinite Stream" ページング・プログラム  
'** 作者 アービター (AAsx)  
'**バージョン。ミリオンレベル  
'**  
'** QQ: 22222xx  
'** Eメール [email protected]  
'** http://www.imagecity.org/  
'******************************************************************  
'**  
'** 【著者のことば】。  
'**  
'** ページング処理は、多くのウェブプログラムの機能の中でも特に厄介なものであることは間違いなく、実際、現在では  
'** 今でも従来のページング方法(Rs.PageSize=xx)を使っている大多数の人を阻止するため、そして理解するために  
'** データベース操作について知っている人なら誰でも、この伝統的な方法には欠点があることを知っています:最初にページを開くときに  
'** すべてのレコードセットを事前に読み込むので、データが大きい場合には致命的であり、また、そのレコードをピックアップしている。  
'** 次のページめくりも非常に遅く、リソースを消費する可能性があります。10万桁を超えるデータに対して  
従来の'**ライブラリのページングでは、100万はおろか、すでに非常に弱い(操作不可能)。  
'**の作業)。そのため、このプログラムを作るように促されたのです。  
'**  
'** [プログラム機能  
'**  
'** 大規模データベースのページング(理想は200万レコード)。  
'**以下(Max Level版では数の制限はなく、ページネーション速度は  
Celeron 1G, RAM 512, Win2k ringでのMillion Level版のページングプログラムです。  
'**環境でのテストデータです。  
'**  
'** SQLserver 2k + 100,000 レコード + 1ページあたり20レコード。  
'** 平均ページ回転速度:45ms  
'** SQLserver 2k + 100万レコード + 1ページあたり20レコード。  
'** 平均ページ回転速度:350ms  
'**  
'**  
'** [ページングプリンシプル  
'**  
'** このプログラムは、接続されたデータベースのカーソルタイプをページ分割するために Rs.PageSize を使用しなくなりました。  
'** また、conn,1,x を使用する代わりに conn,0,1 を使用しますが、これは最速のカーソルタイプであるべきです。  
'** これでプログラムが複雑になると思っているようですが、逆にプログラムはとてもシンプルで、もしあなたが  
'** あなたが慣れていないのは、私のプログラミングのスタイルであって、プログラムの複雑さではないはずです。  
'** 無限ストリームページングの核心は、1ページごとに表示する必要のあるレコードだけを読み出すことであり、もはや従来のように、表示する必要がない。  
'** ページングプログラムはすべてのデータを事前に読み込むので、リソースの消費が少なく、これが最大のメリットです。  
'** 処理速度も非常に向上し、特にデータ量が多くなると、その速度の優位性  
'** より明らかです(100万レコードで約350msしかありません)。  
'** プログラムを実行すると、CurcorBeginとCurcorEndのレコードを使って表示される最初のレコード  
'** レコードのID値と最後のレコードを次のページをめくるときの目印にし、Top xxで  
'** 表示したいデータを取り出しながら、再度ID値を記録します。  
'**  
'** [結論  
'**  
'** このプログラムは共有バージョンで、各プログラムの愛好家に研究および使用のために提供され、もしあなたが再現、拡散、修復したい場合は  
'** 複製、頒布、改変、その他の目的で使用する場合は、作者の労をねぎらい、出典を明記してください。  
'** このプログラムに誤り、脱落、最適でない、その他の欠点がある場合は、www.csdn.net的Web开发/ までご連絡ください。  
'** ASPコラムを投稿する議論、中国のソフトウェアビジネスの発展のために、停滞しないでください:)  
'**   [...] [...] [...] [...] [...]      [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...] [...] [...] [...]    [...] [...]
CursorEnd=CursorBegin(カーソルエンド=カーソルビギン  
SQLstr="Select Top "&DefRecordNum&"_。  
ID,タイトル,FileName,K,ImgSize,NameSon_(英語版のみ  
ABCから ID<"&CursorBegin&_ まで  
" And ID In (Select Top "&DefRecordNum_)  
&" ID From ABC Where ID<"&CursorBegin_  
&" Order by ID DESC) Order by ID"  
ケース "next"。  
SQLstr="Select Top "&DefRecordNum_。  
&" ID,Title,FileName,K,ImgSize,NameSon From ABC Where ID>"&CursorEnd&_.  
ID順で並べます。  
選択終了  
Set Rs=conn.Execute(SQLstr,0,1)  
%>  
td,br,div,p,body {font-size:12px}の場合。  
最初のページ 前のページ   
次のページ   
ID  
タイトル  
ファイル名  
サイズ  
サイズ  
カテゴリー      
ホーム 前ページ 次ページ  
関数 turnpage(func){  
var CurPageNum=; //現在のページ番号を取得する  
var CursorBegin=; //最初に表示されたレコードのID値を取得する  
var CursorEnd=; //最後に表示されたレコードのID値を取得する  
var TotalPages=; //総ページ数の取得   
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=='戻る'){。  
location.href='#';  
}else if(CurPageNum>=TotalPages && func=='next'){.  
location.href='#';  
}else if(func=='back'){。  
location.href=BackUrl。  
}else if(func='next'){。  
location.href=NextUrl。  
}  
}