Sdílet prostřednictvím


Použití záložek

Před otevřením sady řádků musíte říct poskytovateli, že chcete použít záložky. Abyste tak učinili, nastavte vlastnost DBPROP_BOOKMARKS na True ve vaší sadě vlastností. Poskytovatel načítá záložky jako sloupec nula, takže musíte použít speciální makro BOOKMARK_ENTRY a třídu CBookmark, pokud používáte statický přistupující objekt. CBookmark je třída šablony, kde je argument délka v bytech vyrovnávací paměti záložek. Délka potřebné vyrovnávací paměti pro záložku závisí na poskytovateli. Pokud používáte zprostředkovatele OLE DB rozhraní ODBC jak je znázorněno v následujícím příkladu, musí být vyrovnávací paměť 4 bajty.

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;
product.Open(session, "Products", &propset);

Používáte-li CDynamicAccessor, je vyrovnávací paměť dynamicky přiřazována v době běhu. V tomto případě může použít speciální verzi CBookmark, pro kterou neurčujete délku vyrovnávací paměti. Použijte funkci GetBookmark k načtení záložky z aktuálního záznamu, jak je ukázáno v této ukázce kódu:

CTable<CDynamicAccessor> product;
CBookmark<>              bookmark;
CDBPropSet propset(DBPROPSET_ROWSET);

propset.AddProperty(DBPROP_BOOKMARKS, true);
product.Open(session, "Products", &propset);
product.MoveNext();
product.GetBookmark(&bookmark);

Pro informace o podpoře záložek ve zprostředkovatelích si prohlédněte Podpora záložek zprostředkovatele.

Viz také

Koncepty

Použití přístupových objektů