Sdílet prostřednictvím


Použití záložek

Před otevřením sady řádků musíte poskytovateli sdělit, že chcete používat záložky. Uděláte to tak, že vlastnost true nastavíte DBPROP_BOOKMARKS v sadě vlastností. Zprostředkovatel načte záložky jako sloupec nula, takže pokud používáte statické příslušenství, musíte použít speciální BOOKMARK_ENTRY maker a CBookmark třídu. CBookmark je třída šablony, kde argument je délka v bajtech vyrovnávací paměti záložky. Délka vyrovnávací paměti vyžadovaná pro záložku závisí na poskytovateli. Pokud používáte zprostředkovatele ODBC OLE DB, jak je znázorněno v následujícím příkladu, vyrovnávací paměť musí být 4 bajty.

class CProducts
{
public:
   CBookmark<4> bookmark;

   BEGIN_COLUMN_MAP(CProducts)
      BOOKMARK_ENTRY(bookmark)
   END_COLUMN_MAP()
};

Potom ho použije následující kód:

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_BOOKMARKS, true);

CTable<CAccessor<CProducts>> product;
CSession session;
product.Open(session, "Products", &propset);

Pokud použijete CDynamicAccessor, vyrovnávací paměť se dynamicky nastaví za běhu. V takovém případě můžete použít specializovanou verzi CBookmark , pro kterou nezadáte délku vyrovnávací paměti. Pomocí funkce GetBookmark načtěte záložku z aktuálního záznamu, jak je znázorněno v této ukázce kódu:

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);

Informace o podpoře záložek ve zprostředkovatelích naleznete v tématu Podpora zprostředkovatele pro záložky.

Viz také

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