使用書籤
開啟資料列集之前,您必須告訴提供者您想要使用書簽。 若要這樣做,請將 DBPROP_BOOKMARKS
屬性設定為 true
屬性集。 提供者會將書簽擷取為數據行零,因此如果您使用靜態存取子,則必須使用特殊宏BOOKMARK_ENTRY 和 CBookmark
類別。 CBookmark
是範本類別,其中 引數是書簽緩衝區的位元組長度。 書簽所需的緩衝區長度取決於提供者。 如果您使用 ODBC OLE DB 提供者,如下列範例所示,緩衝區必須是 4 個位元組。
class CProducts
{
public:
CBookmark<4> bookmark;
BEGIN_COLUMN_MAP(CProducts)
BOOKMARK_ENTRY(bookmark)
END_COLUMN_MAP()
};
然後,由下列程式碼使用:
CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_BOOKMARKS, true);
CTable<CAccessor<CProducts>> product;
CSession session;
product.Open(session, "Products", &propset);
如果您使用 CDynamicAccessor
,則會在執行時間動態設定緩衝區。 在此情況下,您可以使用未指定緩衝區長度的特製化版本 CBookmark
。 使用 函式 GetBookmark
從目前的記錄擷取書簽,如下列程式碼範例所示:
CTable<CDynamicAccessor> product;
CBookmark<> bookmark;
CDBPropSet propset(DBPROPSET_ROWSET);
CSession session;
propset.AddProperty(DBPROP_BOOKMARKS, true);
product.Open(session, "Products", &propset);
product.MoveNext();
product.GetBookmark(&bookmark);
如需在提供者中支援書簽的資訊,請參閱 書簽的 提供者支援。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應