Udostępnij za pośrednictwem


IRowsetLocateImpl — Klasa

Implementuje interfejs IRowsetLocate OLE DB, który pobiera dowolne wiersze z zestawu wierszy.

Składnia

template <
   class T,
   class RowsetInterface,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap < RowClass::KeyType, RowClass* >,
   class BookmarkKeyType = LONG,
   class BookmarkType = LONG,
   class BookmarkMapClass = CAtlMap < RowClass::KeyType, RowClass* >>
class ATL_NO_VTABLE IRowsetLocateImpl : public IRowsetImpl<
       T,
       RowsetInterface,
       RowClass,
       MapClass>

Parametry

T
Klasa pochodząca z IRowsetLocateImplklasy .

WierszeetInterface
Klasa pochodząca z IRowsetImplklasy .

RowClass
Jednostka magazynu dla elementu HROW.

MapClass
Jednostka magazynu dla wszystkich dojść wierszy przechowywanych przez dostawcę.

BookmarkKeyType
Typ zakładki, taki jak LONG lub ciąg. Zwykłe zakładki muszą mieć długość co najmniej dwóch bajtów. (Długość pojedynczego bajtu jest zarezerwowana dla standardowych zakładekDBBMK_FIRST OLE DB, DBBMK_LASTi DBBMK_INVALID.)

Typ zakładki
Mechanizm mapowania do obsługi relacji zakładki do danych.

BookmarkMapClass
Jednostka magazynu dla wszystkich dojść wierszy przechowywanych przez zakładkę.

Wymagania

Nagłówek: atldb.h

Elementy członkowskie

Metody interfejsu

Nazwa/nazwisko opis
Compare Porównuje dwie zakładki.
GetRowsAt Pobiera wiersze rozpoczynające się od wiersza określonego przez przesunięcie z zakładki.
GetRowsByBookmark Pobiera wiersze zgodne z określonymi zakładkami.
Skrót Zwraca wartości skrótu dla określonych zakładek.

Składowe danych

Nazwa/nazwisko opis
m_rgBookmarks Tablica zakładek.

Uwagi

IRowsetLocateImpl to implementacja szablonów OLE DB interfejsu IRowsetLocate . IRowsetLocate Służy do pobierania dowolnych wierszy z zestawu wierszy. Zestaw wierszy, który nie implementuje tego interfejsu, jest zestawem sequential wierszy. Jeśli IRowsetLocate element znajduje się w zestawie wierszy, kolumna 0 jest zakładką dla wierszy. Odczytywanie tej kolumny spowoduje uzyskanie wartości zakładki, która może służyć do zmiany położenia tego samego wiersza.

IRowsetLocateImpl służy do implementowania obsługi zakładek u dostawców. Zakładki to symbole zastępcze (indeksy w zestawie wierszy), które umożliwiają użytkownikowi szybkie powrót do wiersza, umożliwiając szybki dostęp do danych. Dostawca określa, jakie zakładki mogą jednoznacznie identyfikować wiersz. Za pomocą IRowsetLocateImpl metod można porównać zakładki, pobrać wiersze według przesunięcia, pobrać wiersze według zakładki i zwrócić wartości skrótu dla zakładek.

Aby obsługiwać zakładki OLE DB w zestawie wierszy, ustaw zestaw wierszy dziedziczyć z tej klasy.

Aby uzyskać informacje na temat implementowania obsługi zakładek, zobacz Temat Obsługa zakładek dla dostawców w Przewodniku i zakładkach programisty języka Visual C++ w dokumentacji programisty OLE DB w zestawie SDK platformy.

IRowsetLocateImpl::Compare

Porównuje dwie zakładki.

Składnia

STDMETHOD (Compare )(HCHAPTER /* hReserved */,
   DBBKMARK cbBookmark1,
   const BYTE* pBookmark1,
   DBBKMARK cbBookmark2,
   const BYTE* pBookmark2,
   DBCOMPARE* pComparison);

Parametry

Zobacz IRowsetLocate::Compare w dokumentacji programisty OLE DB.

Uwagi

Każda z zakładek może być standardową standardową zakładką standardową (, DBBMK_LAST, lub DBBMK_INVALID).DBBMK_FIRST Wartość zwrócona w parametrze pComparison wskazuje relację między dwiema zakładkami:

  • DBCOMPARE_LT (cbBookmark1 znajduje się przed cbBookmark2.)

  • DBCOMPARE_EQ (cbBookmark1 jest równa cbBookmark2.)

  • DBCOMPARE_GT (cbBookmark1 jest po cbBookmark2.)

  • DBCOMPARE_NE (zakładki są równe i nie są uporządkowane).

  • DBCOMPARE_NOTCOMPARABLE (nie można porównać zakładek).

IRowsetLocateImpl::GetRowsAt

Pobiera wiersze rozpoczynające się od wiersza określonego przez przesunięcie z zakładki.

Składnia

STDMETHOD (GetRowsAt )(HWATCHREGION /* hReserved1 */,
   HCHAPTER hReserved2,
   DBBKMARK cbBookmark,
   const BYTE* pBookmark,
   DBROWOFFSET lRowsOffset,
   DBROWCOUNT cRows,
   DBCOUNTITEM* pcRowsObtained,
   HROW** prghRows);

Parametry

Zobacz IRowsetLocate::GetRowsAt w dokumentacji programisty OLE DB.

Uwagi

Aby zamiast tego pobrać z położenia kursora, użyj polecenia IRowset::GetRowsAt.

IRowsetLocateImpl::GetRowsAt nie zmienia położenia kursora.

IRowsetLocateImpl::GetRowsByBookmark

Pobiera co najmniej jeden wiersz zgodny z określonymi zakładkami.

Składnia

STDMETHOD (GetRowsByBookmark )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const DBBKMARK rgcbBookmarks[],
   const BYTE* rgpBookmarks,
   HROW rghRows[],
   DBROWSTATUS* rgRowStatus[]);

Parametry

hReserved
[in] Odpowiada parametrowi hChapter IRowsetLocate ::GetRowsByBookmark.

Aby uzyskać inne parametry, zobacz IRowsetLocate::GetRowsByBookmark w dokumentacji programisty OLE DB.

Uwagi

Zakładka może być wartością zdefiniowaną lub standardową zakładką OLE DB (DBBMK_FIRST lub DBBMK_LAST). Nie zmienia położenia kursora.

IRowsetLocateImpl::Hash

Zwraca wartości skrótu dla określonych zakładek.

Składnia

STDMETHOD (Hash )(HCHAPTER /* hReserved */,
   DBBKMARK cbBookmarks,
   const DBBKMARK* rgcbBookmarks[],
   const BYTE* rgpBookmarks[],
   DBHASHVALUE rgHashValues[],
   DBROWSTATUS rgBookmarkStatus[]);

Parametry

hReserved
[in] Odpowiada parametrowi hChapter IRowsetLocate ::Hash.

Aby uzyskać inne parametry, zobacz IRowsetLocate::Hash w dokumentacji programisty OLE DB.

IRowsetLocateImpl::m_rgBookmarks

Tablica zakładek.

Składnia

CAtlArray<DBROWCOUNT> m_rgBookmarks;

Zobacz też

Szablony dostawców OLE DB
Architektura szablonu dostawcy OLE DB
Obsługa dostawcy IRowsetLocate:IRowsetdla zakładek
Zakładki