次の方法で共有


CRecordset::SetRowsetCursorPosition

現在の行セット内の行にカーソルを移動します。

void SetRowsetCursorPosition(
   WORD wRow,
   WORD wLockType = SQL_LOCK_NO_CHANGE 
);

パラメーター

  • wRow
    現在の行セット内の行の位置。 1 から始まる数で指定します。1 から行セットのサイズまでの範囲で指定します。

  • wLockType
    再表示後に行をロックする方法を指定する値です。 詳細については、「解説」を参照してください。

解説

バルク行フェッチを実装する場合、レコードは行セットによって取得され、フェッチされた行セットの先頭レコードが現在のレコードになります。 行セット内の別のレコードを現在のレコードにするには、SetRowsetCursorPosition を呼び出します。 たとえば、SetRowsetCursorPositionGetFieldValue メンバー関数を組み合わせて、レコードセットの任意のレコードからデータを動的に取得できます。

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

参照

参照

CRecordset クラス

階層図

CRecordset::RefreshRowset

CRecordset::SetRowsetSize

その他の技術情報

CRecordset のメンバー