CRecordset::SetRowsetCursorPosition
現在の行セット内の行にカーソルを移動します。
void SetRowsetCursorPosition(
WORD wRow,
WORD wLockType = SQL_LOCK_NO_CHANGE
);
パラメーター
wRow
現在の行セット内の行の位置。 1 から始まる数で指定します。1 から行セットのサイズまでの範囲で指定します。wLockType
再表示後に行をロックする方法を指定する値です。 詳細については、「解説」を参照してください。
解説
バルク行フェッチを実装する場合、レコードは行セットによって取得され、フェッチされた行セットの先頭レコードが現在のレコードになります。 行セット内の別のレコードを現在のレコードにするには、SetRowsetCursorPosition を呼び出します。 たとえば、SetRowsetCursorPosition と GetFieldValue メンバー関数を組み合わせて、レコードセットの任意のレコードからデータを動的に取得できます。
SetRowsetCursorPosition を使用するには、Open メンバー関数で dwOptions パラメーターに CRecordset::useMultiRowFetch オプションを指定して、バルク行フェッチを実装します。
SetRowsetCursorPosition は、ODBC API の関数 SQLSetPos を呼び出します。 wLockType パラメーターは SQLSetPos が実行された後の行のロック状態を指定します。 次の表は、wLockType の値の一覧です。
wLockType |
説明 |
---|---|
SQL_LOCK_NO_CHANGE (既定値) |
ドライバーまたはデータ ソースは、行が SetRowsetCursorPosition が呼び出される前と同一のロックまたはロック解除状態であることを保証します。 |
SQL_LOCK_EXCLUSIVE |
ドライバーまたはデータ ソースが、行を排他的にロックします。 すべてのデータ ソースでこの種類のロックがサポートされているとは限りません。 |
SQL_LOCK_UNLOCK |
ドライバーまたはデータ ソースが、行のロックを解除します。 すべてのデータ ソースでこの種類のロックがサポートされているとは限りません。 |
SQLSetPos の詳細については、Windows SDK を参照してください。 バルク行フェッチの詳細については、資料を参照してくださいレコード セット:一括 (ODBC) 内のレコードをフェッチ。
必要条件
**ヘッダー:**afxdb.h