CDatabase::GetBookmarkPersistence
特定の操作を実行した後で、レコードセット オブジェクトのブックマークが永続化されているかどうかを調べます。
DWORD GetBookmarkPersistence( ) const;
戻り値
実行後もレコードセットでブックマークが永続化される操作を識別するビットマスクを返します。 詳細については、「解説」を参照してください。
解説
たとえば、CRecordset::GetBookmark を呼び出してから CRecordset::Requery を呼び出した場合、GetBookmark から取得したブックマークは無効になります。 そのため、CRecordset::SetBookmark を呼び出す前に GetBookmarkPersistence を呼び出す必要があります。
GetBookmarkPersistence の戻り値として組み合わせることができるビットマスクの値を次の表に示します。
ビットマスク値 |
ブックマークの永続性 |
---|---|
SQL_BP_CLOSE |
Requery 操作の実行後もブックマークが有効です。 |
SQL_BP_DELETE |
行で Delete 操作を実行した後でも、その行のブックマークは有効です。 |
SQL_BP_DROP |
Close 操作の実行後もブックマークが有効です。 |
SQL_BP_SCROLL |
Move 操作の実行後もブックマークが有効です。 この値は、CRecordset::CanBookmark で返されるレコードセットでブックマークがサポートされているかどうかを簡単に識別します。 |
SQL_BP_TRANSACTION |
トランザクションのコミットまたはロールバック後もブックマークが有効です。 |
SQL_BP_UPDATE |
行で Update 操作を実行した後でも、その行のブックマークは有効です。 |
SQL_BP_OTHER_HSTMT |
1 つのレコードセット オブジェクトに関連付けられたブックマークは、2 つ目のレコードセットでも有効です。 |
この戻り値の詳細については、Windows SDK で ODBC API 関数 SQLGetInfo の説明を参照してください。 ブックマークの詳細についてを参照してください「レコード セット:ブックマークと絶対位置 (ODBC)。
必要条件
**ヘッダー:**afxdb.h