ブックマークの使用方法?

行セットを開く前に、ブックマークを使用すると、プロバイダーを伝える必要があります。これを行うには、本当に、プロパティ セットのDBPROP_BOOKMARKSプロパティを設定します。静的アクセサーを使用している場合、 BOOKMARK_ENTRY特殊マクロとCBookmarkクラスを使用する必要がありますので、プロバイダーのブックマーク列 0 として取得します。Cbookmark クラスはテンプレート クラス引数ブックマーク バッファーのバイト単位の長さです。ブックマークに必要なバッファーの長さは、プロバイダーによって異なります。次の例で示すように、ODBC OLE DB プロバイダーを使用している場合は、バッファーが 4 バイトでなければなりません。

cProduct をクラスします。{パブリック。CBookmarklt; 4 > ブックマーク;BEGIN_COLUMN_MAP(CProduct)BOOKMARK_ENTRY(bookmark)END_COLUMN_MAP()};CDBPropSet propset(DBPROPSET_ROWSET);propset。AddProperty (DBPROP_BOOKMARKS、true);CTable < CAccessor <CProduct> > 製品;製品。開く (セッション、「製品」、& propset)

CDynamicAccessorを使用する場合は、実行時にバッファーが動的に割り当てられます。この場合は、特殊なバージョンのCBookmarkバッファーの長さを指定しないを使用することができます。GetBookmark関数を使用して、現在のレコードからブックマークを取得するには次のよう:

CTablelt;CDynamicAccessor > 製品;Cbookmark クラス <> ブックマーク;CDBPropSet propset(DBPROPSET_ROWSET);propset。AddProperty (DBPROP_BOOKMARKS、true);製品。開く (セッション、「製品」、& propset);製品。MoveNext();製品。GetBookmark(&bookmark);

Index