レコードを挿入してレコードを表示する方法を学んだ場合、シンプルで完全な記事システム、ニュースシステム、メッセージシステムは現在問題ではないと言われるべきです。次の質問は次のとおりです。情報コンテンツがセグメントで増加するにつれて、ページだけですべての情報を表示することは問題ありません。したがって、解決策はページングテクノロジーを使用することです。
1、rs.RecordCount
明らかに、RecordCountは、データベーステーブルにあるレコードの数を表示するために使用され、テーブルにある行の数も鮮明に説明できます。合計Nの記事やその他の情報を表示するために、ページネーションでよく使用されます。
2。Rs.Pagesize
rs.Pagesizeはページのサイズです。つまり、ASPページにレコード数を表示できます。値は、頻繁に表示される各ページに表示されるN記事などの情報など、自分で定義されます。
3。Rs.AbsolutePageおよびRs.PageCount
ページネーションに関しては、rs.absolutepageに言及してはなりません。レコードセットのAbsoluatePageプロパティの主な機能は、現在表示されているページを決定することです。その値はに基づいています。 rs.Pagesizeが指定されている場合、Rs.PageCountの情報値はRs.RecordCountとRs.Pagesizeの分割結果です。たとえば、総情報レコードrs.RecordCountには20個のアイテムがあり、ページごとに表示されるアイテムの数は5項目に設定されています。ページrs.pagecountの数は20/5 = 4ページですが、rs.absolutepageは1ページ、2ページのみ... 4ページになります。
今といえば、デバッグする特定のプログラムがあります。 showit.aspを次のように変更し続けます。
<! - #include file = "conn.asp" - > <% rs = server.createObject( "adodb.recordset")を設定します sql = "cn_id desc by cnarticle順序から" select * " rs.open sql、conn、1,1 %> <% page = request.querystring( "page") 'ページ値は受け入れられている値です rs.Pagesize = 2 'ページごとに表示されるレコードの数 rs.absolutepage = page '現在のページが受信したページ数に等しいことを表示 %> <% i = 1からrs.pagesize '次のループを使用して、順番に現在のページのレコードを読み取る rs.eofの場合 の出口 ifを終了します respons.write( "<br>記事の内容は"&rs( "cn_content")です) rs.movenext 次の%> <% rs.close rs = Nothingを設定します conn.close conn =何も設定しません %> |
ここで、デバッグの前提は、データベース内のレコードが4よりも比較的大きくなければならないため、テスト効果が明らかになることです。テスト方法は、showit.aspの後にWebページの表示効果を観察するために、?ページ= 1または?ページ= 2およびその他のデバッグを追加することです。
実際、結局のところ、データベースコンテンツを表示することです
<% i = 1からrs.pagesizeの場合 rs.eofの場合 の出口 ifを終了します respons.write( "<br>記事の内容は"&rs( "cn_content")です) rs.movenext 次の%> |
関数は再生されますが、想像してみてください。プログラムは2つの情報のみを表示する必要があります(変更されていない2つの情報)。しかし、なぜ?page = 1と?page = 2を追加すると、異なる結果が表示されますか? ...それは間違いなくrs.absolutepageの機能です。私はこれをはっきりと理解していますが、ページネーションの全体的なアーキテクチャは少し混乱していると思います。