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 IRowsetLocateImpl
klasy .
WierszeetInterface
Klasa pochodząca z IRowsetImpl
klasy .
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_LAST
i 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ę przedcbBookmark2
.)DBCOMPARE_EQ (
cbBookmark1
jest równacbBookmark2
.)DBCOMPARE_GT (
cbBookmark1
jest pocbBookmark2
.)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