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.