この記事では、adodb.recordset.open(rs.open) メソッドのパラメータの詳細な説明を主に紹介します。必要な方は参照してください。
ADO レコードセット オブジェクト
ADO Recordset オブジェクトは、データベース テーブルのレコードセットを保持するために使用されます。 Recordset オブジェクトは、レコードと列 (フィールド) で構成されます。
ADO では、このオブジェクトはデータベース内のデータを操作するために最も重要で最も一般的に使用されるオブジェクトです。
プログID
set objRecordset=Server.CreateObject(ADODB.recordset)
初めて Recordset を開いたとき、現在のレコード ポインターは最初のレコードを指し、BOF プロパティと EOF プロパティは False になります。レコードがない場合、BOF プロパティと EOF プロパティは True になります。
Recordset オブジェクトは、次の 2 種類の更新をサポートできます。
即時更新 - Update メソッドが呼び出されると、すべての変更が直ちにデータベースに書き込まれます。バッチ更新 - プロバイダーは複数の変更をキャッシュし、UpdateBatch メソッドを使用してこれらの変更をデータベースに転送します。
ADO では、4 つの異なるカーソル (ポインター) タイプが定義されています。
•ダイナミック カーソル - 他のユーザーによる追加、変更、削除を表示できます。
•キーセット カーソル - 動的カーソルと似ていますが、他のユーザーが行った追加は表示されず、他のユーザーが削除したレコードにはアクセスできない点が異なります。他のユーザーが行ったデータの変更は引き続き表示されます。
•静的カーソル - データの検索やレポートの生成に使用できるレコードセットの静的コピーを提供します。さらに、他のユーザーが行った追加、変更、削除は表示されません。これは、クライアント Recordset オブジェクトを開くときに許可される唯一のカーソル タイプです。
•前方カーソルのみ - レコードセット内で前方スクロールのみを許可します。さらに、他のユーザーが行った追加、変更、削除は表示されません。
カーソルの種類は、CursorType プロパティまたは Open メソッドの CursorType パラメータを通じて設定できます。
注: すべてのプロバイダーが Recordset オブジェクトのすべてのメソッドとプロパティをサポートしているわけではありません。
ADO Recordset オブジェクトについて詳しく知りたい場合は、ここにアクセスしてさらに多くのコンテンツを表示できます。
読み取りだけで更新操作が含まれない場合は、1、1 を使用します。
読み取りおよび更新操作が含まれる場合は、1,3 または 3,2 を使用できます。
Recordset オブジェクトのメソッド プロトタイプを開きます。
Open([ソース],[ActiveConnection],[カーソルタイプ],[ロックタイプ],[オプション])
CursorType カーソルの種類:
定数 adOpenForwardOnly = 0
前方カーソルはデフォルトのカーソルであり、最も高速な実行パフォーマンスを提供します。これを使用してレコードセットを開き、すべての結果をペアから最後まで順番に取得します。逆スクロールはサポートされておらず、結果間の一方向の移動のみが可能です。
定数 adOpenKeyset = 1
静的カーソルは、カーソルが最初に開かれたときのテーブル内のデータのステータスを反映します。カーソルは、基になるテーブル内のデータ行が更新されたか、削除されたか、または新しいデータが追加されたかを検出できません。ただし、前方にのみ移動できる大陸カーソルとは異なり、静的カーソルは結果間を前後にスクロールできます。
定数 adOpenDynamic = 2
キーボード駆動のカーソルは、テーブル内の基になるデータ行の一部の変更をクエリできますが、すべての変更をクエリすることはできません。特に、データが更新されたかどうかを正確に反映します。ただし、他のユーザーがデータ行を削除したかどうかを確認することはできません (データ行を削除すると、レコードセットに穴が残ります)。キーボード駆動のカーソルは、結果の前後スクロールをサポートします。
定数 adOpenStatic = 3
動的カーソルは、最も豊富なカーソル タイプです。カーソルが開いているときは、他のユーザーがテーブルに加えた変更をクエリしたり、スクロールをサポートしたりできます。
LockTypeロックの種類:
定数 adLockReadOnly = 1
デフォルトのロック タイプである読み取り専用ロックでは、複数のユーザーが同時に同じデータを読み取ることができますが、データを変更することはできません。
Const adLockPessimistic = 2
悲観的ロックを使用してデータ オブジェクトを開きます。このアプローチでは、レコードの編集中に他のユーザーがデータにアクセスできることを前提としています。この時点で、レコードの編集を開始すると、他のユーザーはデータにアクセスできなくなります。
定数 adLockOptimistic = 3
楽観的ロックを使用してデータ オブジェクトを開きます。このアプローチでは、レコードの編集中に他のユーザーがデータにアクセスしないことを前提としています。変更が加えられるまで、他のユーザーはレコードにアクセスできません。
Const adLockBatchOptimistic = 4
複数行のバッチ更新を実行する場合は、このタイプを使用します。
オプションパラメータ:
Options パラメーターは、レコードセットを開くために使用されるコマンド文字列のタイプを示します。実行される文字列の内容に関する情報を ADO に伝えると、コマンド文字列を効率的に実行するのに役立ちます。
adCMDTable。実行される文字列にはテーブルの名前が含まれます。
adCMDText。実行される文字列にはコマンド テキストが含まれます。
adCMDSstoredProc.実行中の文字列にはストアド プロシージャ名が含まれています。
adCMDU不明。文字列の内容は指定されません。 (これはデフォルト値です。)
簡単に言うと:
RS.OPEN SQL、CONN、A、B
A: ADOPENFORWARDONLY (=0) は読み取り専用で、現在のデータ レコードは下方向にのみ移動できます。
ADOPENSTATIC (=3) 読み取り専用、現在のデータ レコードは自由に移動できます
ADOPENKEYSET(=1) は読み取りと書き込みが可能で、現在のデータ レコードは自由に移動できます。
ADOPENDYNAMIC(=2) は読み取りと書き込みが可能で、現在のデータ レコードを自由に移動でき、新しいレコードを表示できます。
B: ADLOCKREADONLY(=1) デフォルト値。読み取り専用レコードを開くために使用されます。
ADLOCKPESSIMISTIC(=2) 悲観的ロック
ADLOCKOPTIMISTIC(=3) 楽観的ロック
ADLOCKBATCHOPTIMISTIC(=4) バッチオプティミスティックロック