推奨:ASPインスタンスチュートリアル:FilesystemObjectオブジェクトファイルSystemObjectオブジェクトによって指定されたファイルは存在しますか?この例は、最初にFilesystemObjectオブジェクトを作成し、FeeExistsメソッドを使用してファイルが存在するかどうかを検出する方法を示しています。この例のコードは次のとおりです。以下は参照されるコンテンツです:HTMLボディ%set fs = server.createobject(scripting.filesystemobject)if(fs.f
記録セットページング中の負の数の現象に関して、私は多くの人々がこの問題に遭遇したと思います。 BaiduとGoogleが解決されない場合があります。今すぐ要約しましょう。
負の数は主にカーソルタイプに関連しているように見えます。 (例の便利さのために、conn.aspがデータベースをリンクして含めているファイルがすでにあるとします)次の例を示します。コードは次のとおりです。
'===========================================================================================================
sql = select *テーブル名からid descによる条件順序 'ここでの条件による順序は、あなたのニーズに応じて書き直すことができます
rs = conn.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の場合、page = 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.Recordset)を設定します
rs.open sql、conn、1,3
上記は、カーソルが1であり、前後に移動できることを意味します。ロックタイプは3で、バッチで複数のレコードを更新できます。
上記の方法に従って基本的に問題はありませんが、保険の場合、Recordsetページングの原則に従って、すべてのレコードを読むことに基づいてレコードの数を取得するため、最初にカーソルをスクロールしてレベルRs.Pagesize = 10の後に次の2つの文を追加します。
rs.movelast 'カーソルは最後に移動します
rs.MoveFirst 'カーソルは正面に移動します
Rs.RecordCount(Total Records)の値を取得する前に、レコードセットのページネーションの原則はデータベース全体のレコードを読み取ることであることが知られています。このページネーション方法は比較的単純ですが、致命的な不利な点があります。データベースに多くのレコードがある場合、そのページネーションの原則に従って、それは多くのシステムリソースを占有し、非常に無駄になります。実際のプログラミングでこの方法を使用しないことをお勧めします。次に、SQLクエリステートメントでページネーション処理を行うことができるアイデアを提供し、次のように毎回固定数のレコードを読むことができます。
データベーステーブルのMレコードからnレコードの取得を開始し、トップキーワードを使用します。選択したステートメントに上位と順序の両方がある場合は、ソートされた結果セットから選択することに注意してください。
select *
from(トップn *を選択します
from(select top(m + n -1) * table name by id desc)t1)t2から
IDDESCによる注文
上記のSQLステートメントを使用してパジネートすると、エラーが少なくなります。最も重要なことは、効率が高いことです。
共有:ASPインスタンスチュートリアル:フォームコレクションフォームコレクションの注:このASPインスタンスチュートリアルはフォームのコードに関するものであるため、トラブルを節約するためにスクリーンショットを撮りません!誰もが自分で例の実行結果をテストします!フォームコレクションの簡単なアプリケーションこの例は、フォームコレクションがフォームから値を取得する方法を示しています。このフォームはPOSTメソッドを使用します。つまり、送信されたメッセージはユーザーには見えず、送信されたメッセージ用です。