Jak używać zakładek?

Przed otwarciem zestawu wierszy, należy powiadomić dostawcy chcesz użyć zakładki. Aby to zrobić, należy ustawić właściwość DBPROP_BOOKMARKS do Prawda w zestawie właściwości. Dostawca pobiera zakładki jako kolumna zera, trzeba używać specjalnych makra BOOKMARK_ENTRY i klasy CBookmark Jeśli używasz akcesor statyczne. CBookmark jest klasą opartą na szablonie, gdzie argument jest długością w bajtach buforu zakładki. Długość buforu wymagany do zakładki zależy od usługodawcy. Jeśli używasz dostawcy ODBC OLE DB, jak pokazano w poniższym przykładzie, bufor musi być 4 bajty.

klasa CProduct
{
publiczne:
   CBookmarklt; 4 > zakładek;

BEGIN_COLUMN_MAP(CProduct)
      BOOKMARK_ENTRY(Bookmark)
   END_COLUMN_MAP()
};

CDBPropSet propset(DBPROPSET_ROWSET);
zestaw właściwości.AddProperty (DBPROP_BOOKMARKS, wartość true);

CTable < CAccessor <CProduct> > produktu;
produkt.Otwórz (sesji, "Produkty" & zestawu właściwości)

Jeśli używasz CDynamicAccessor, bufor jest przydzielana w czasie wykonywania. W takim przypadku można użyć specjalistyczne wersji CBookmark , dla którego nie określa długość buforu. Użyj funkcji GetBookmark do pobierania zakładki z rekordu bieżącego, jak pokazano tutaj:

CTablelt;CDynamicAccessor > produktu;
Zakładka <> CBookmark;
CDBPropSet propset(DBPROPSET_ROWSET);

zestaw właściwości.AddProperty (DBPROP_BOOKMARKS, wartość true);
produkt.Otwórz (sesji, "Produkty" & zestawu właściwości);
produkt.MoveNext();
produkt.GetBookmark(&bookmark);

Index