Korzystanie z zakładek
Przed otwarciem zestawu wierszy, użytkownik musi powiadomić dostawcę chcesz używać zakładek.Aby to zrobić, należy ustawić DBPROP_BOOKMARKS właściwość, aby true w swoje właściwości ustaw.Dostawca pobiera zakładek jako kolumna zero, trzeba używać specjalnego makro BOOKMARK_ENTRY i CBookmark klasy, jeśli używasz statycznych akcesor.CBookmarkjest klasą szablonu, gdzie argument ma długość w bajtach buforu zakładki.Długość buforu wymagane do zakładki zależy od dostawcy.Jeśli używasz ODBC OLE DB dostawca, 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 używasz CDynamicAccessor, bufor jest przydzielany dynamicznie w czasie wykonywania.W takim przypadku można użyć specjalnych wersji CBookmark dla którego nie należy określać długość buforu.Należy użyć funkcji GetBookmark do pobrania 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);
Aby uzyskać informacji na temat obsługi zakładek w dostawcach, zobacz Dostawca obsługę zakładek.