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.