Za pomocą zakładki
Przed otwarciem zestawu wierszy, trzeba poinformować usługodawca chce używać zakładek.Aby to zrobić, należy ustawić DBPROP_BOOKMARKS właściwość, aby true w swoje właściwości.Dostawca pobiera zakładki jako kolumna zero, trzeba używać specjalnych makro BOOKMARK_ENTRY i CBookmark klasy, jeśli używasz akcesor statyczne.CBookmarkjest klasą szablonu, gdzie argument jest długość buforu zakładki w bajtach.Długość buforu, wymagane do zakładki zależy od dostawcy.Jeśli używasz ODBC OLE DB provider, jak pokazano w poniższym przykładzie bufor musi być 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);
Jeśli korzystasz z CDynamicAccessor, bufor jest przydzielane dynamicznie w czasie wykonywania.W takim przypadku można użyć specjalnych wersji CBookmark dla którego nie określić długość buforu.Funkcja GetBookmark do pobierania zakładki z bieżącego rekordu, jak pokazano w przykładzie kodu:
CTable<CDynamicAccessor> product;
CBookmark<> bookmark;
CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_BOOKMARKS, true);
product.Open(session, "Products", &propset);
product.MoveNext();
product.GetBookmark(&bookmark);
Informacje o wspieranie zakładki w dostawców, zobacz Dostawcy obsługę zakładki.