CRecordset::SetRowsetCursorPosition
更新 : 2007 年 11 月
現在の行セット内の行にカーソルを移動します。
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