Udostępnij za pośrednictwem


Korzystanie z zakładek

Przed otwarciem zestawu wierszy należy poinformować dostawcę, że chcesz użyć zakładek. W tym celu ustaw DBPROP_BOOKMARKS właściwość na true w zestawie właściwości. Dostawca pobiera zakładki jako zero kolumny, dlatego należy użyć specjalnego makra BOOKMARK_ENTRY i CBookmark klasy, jeśli używasz statycznej metody dostępu. CBookmark to klasa szablonu, w której argument jest długością w bajtach buforu zakładki. Długość buforu wymaganego dla zakładki zależy od dostawcy. Jeśli używasz dostawcy OLE DB ODBC, jak pokazano w poniższym przykładzie, bufor musi mieć 4 bajty.

class CProducts
{
public:
   CBookmark<4> bookmark;

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

Następnie używany przez następujący kod:

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

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

Jeśli używasz CDynamicAccessormetody , bufor jest dynamicznie ustawiany w czasie wykonywania. W takim przypadku można użyć wyspecjalizowanej wersji CBookmark , dla której nie określono długości buforu. Użyj funkcji GetBookmark , aby pobrać zakładkę z bieżącego rekordu, jak pokazano w tym przykładzie kodu:

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

Aby uzyskać informacje na temat obsługi zakładek w dostawcach, zobacz Obsługa dostawcy zakładek.

Zobacz też

Korzystanie z metod dostępu