レコードセットページング中の負の数の現象については、多くの人がこの問題に遭遇したと思います。
負の数は、主にカーソルのタイプに関連しています。 (たとえば、conn.aspリンクデータベースのファイルがすでにあると仮定して、それが含まれていると仮定すると便利です。)今、例は次のとおりです。
sql = select *テーブルから条件がid desc '' '' '' ''はあなたのニーズに応じて書き直すことができます
rs = const.execute(sql) '===この文===
rs.Pagesize = 10 '===ページあたりのレコード数を設定します10 ===
page = request.querystring(ページ)
page = then page = 1の場合
is -numeric(page)ではない場合は、page = 1です
page = clng(ページ)
ページ<1の場合、ページ= 1
page> rs.pagecount that = vrs.pagecountの場合
rs.absolutepage =ページ
薄暗いc
c = 1
rs.eofおよびc <= rs.pagecountではありません
'出力コンテンツ
C = C+1
rs.movenext
ループ
'ページリンクを作成します
上記のコードによると、RecordSetオブジェクトはコードによって直接あります。RS= Conn.Execute(SQL)を使用した後、レコードセットオブジェクトのデフォルトキャンペーンは0です。ロックの種類は0であり、読み取りのみが読み取りのみを読むことのみを示し、読み取りのみを読むだけで読み取りのみを示し、読み取りのみが読み取りのみを読むことのみを示し、読み取りのみが読み取りのみが読み取るだけであることを示します。読み取りのみを読むだけで読み取りのみが読み取りのみを読むことのみを示し、読み取りのみを読むだけで読み取りのみを示し、読み取りのみが読み取りのみを読むことのみを示し、読み取りのみが読み取りのみが読み取りのみを読むことを示すことを示します。読み取りのみ、読み取りのみが読み取られていることを示しています。レコードセットオブジェクトを更新できません。
したがって、ページング中に負の数が表示された場合は、レコードセットオブジェクトが上記の形式として記述されているかどうかを確認し、次のように記述する必要があります。
rs = server.createObject(adodb.oldset)を設定します
rs.oopen sql、conn、1,3
上記は、カーソルが1であることを示しています。これはロックタイプが3で、バッチのバッチで更新できます。
上記の方法によれば、問題はありませんが、保険の場合、レシオンセットページの原則はすべてのレコードを読んだ後のレコード数に基づいているため、最初にキャンペーンを転がして、レベルRSの後に以下を追加します。 .pagesize = 10、2つの文章の下に以下を追加します。
rs.movelast 'カーソルは最後に移動します
rs.MoveFirst 'カーソルはトップに移動します
Rs.RecordCountの値を取得する前に、レコードセットのページネーション原理は、データベース全体のレコードを最初に読み取ることが知られています。このページング方法は比較的単純ですが、致命的な不利な点があります実際のプログラミング。ここで、SQLクエリステートメントでページネーションを行うことができるという考えを与えます。
記事Mの霧から始めます。
select*
from(selecttopn*
from(selecttop(m+n-1)*テーブル名orderbyiddescから)t1)t2
Orderbyiddesc
上記のSQLステートメントでは、エラーは比較的小さく、最も重要なことは、効率が比較的高いことです。