共用方式為


使用書籤

開啟資料列集之前,您必須告訴提供者您想要使用書簽。 若要這樣做,請將 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);

如需在提供者中支援書簽的資訊,請參閱 書簽的 提供者支援。

另請參閱

使用存取子