IRowsetImpl — Klasa
Zapewnia implementację interfejsu IRowset
.
Składnia
template <
class T,
class RowsetInterface,
class RowClass = CSimpleRow,
class MapClass = CAtlMap <
RowClass::KeyType,
RowClass*>>
class ATL_NO_VTABLE IRowsetImpl : public RowsetInterface
Parametry
T
Klasa pochodząca z IRowsetImpl
klasy .
WierszeetInterface
Klasa pochodząca z IRowsetImpl
klasy .
RowClass
Jednostka magazynu dla elementu HROW
.
MapClass
Jednostka magazynu dla wszystkich dojść wierszy przechowywanych przez dostawcę.
Wymagania
Nagłówek: atldb.h
Elementy członkowskie
Metody
Nazwa/nazwisko | opis |
---|---|
AddRefRows | Dodaje liczbę odwołań do istniejącego dojścia wiersza. |
CreateRow | Wywoływana przez polecenie GetNextRows w celu przydzielenia nowego HROW elementu . Nie wywoływane bezpośrednio przez użytkownika. |
GetData | Pobiera dane z kopii wiersza zestawu wierszy. |
GetDBStatus | Zwraca stan określonego pola. |
GetNextRows | Pobiera wiersze sekwencyjnie, pamiętając poprzednią pozycję. |
IRowsetImpl | Konstruktor. Nie wywoływane bezpośrednio przez użytkownika. |
Odwróć | Wywoływane przez dodatki AddRefRows i ReleaseRows. Nie wywoływane bezpośrednio przez użytkownika. |
ReleaseRows | Zwalnia wiersze. |
RestartPosition | Zmienia położenie następnego miejsca pobierania do początkowej pozycji; oznacza to, że jego pozycja, gdy zestaw wierszy został utworzony po raz pierwszy. |
SetDBStatus | Ustawia flagi stanu dla określonego pola. |
Składowe danych
Nazwa/nazwisko | opis |
---|---|
m_bCanFetchBack | Wskazuje, czy dostawca obsługuje pobieranie wsteczne. |
m_bCanScrollBack | Wskazuje, czy dostawca może przewijać kursor do tyłu. |
m_bReset | Wskazuje, czy dostawca zresetował położenie kursora. Ma to szczególne znaczenie podczas przewijania do tyłu lub pobierania wstecz w obszarze GetNextRows. |
m_iRowset | Indeks do zestawu wierszy reprezentujący kursor. |
m_rgRowHandles | Lista dojść wierszy. |
Uwagi
IRowset to podstawowy interfejs zestawu wierszy.
IRowsetImpl::AddRefRows
Dodaje liczbę odwołań do istniejącego dojścia wiersza.
Składnia
STDMETHOD(AddRefRows )(DBCOUNTITEM cRows,
const HROW rghRows[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
Parametry
Zobacz IRowset::AddRefRows w dokumentacji programisty OLE DB.
IRowsetImpl::CreateRow
Metoda pomocnika o nazwie GetNextRows w celu przydzielenia nowego HROW
elementu .
Składnia
HRESULT CreateRow(DBROWOFFSET lRowsOffset,
DBCOUNTITEM& cRowsObtained,
HROW* rgRows);
Parametry
lRowsOffset
Położenie kursora tworzonego wiersza.
cRowsObtained
Odwołanie przekazane z powrotem do użytkownika wskazujące liczbę utworzonych wierszy.
rgRows
Tablica HROW
s zwrócona do obiektu wywołującego z nowo utworzonymi uchwytami wierszy.
Uwagi
Jeśli wiersz istnieje, ta metoda wywołuje metodę AddRefRows i zwraca wartość . W przeciwnym razie przydziela nowe wystąpienie zmiennej szablonu RowClass i dodaje je do m_rgRowHandles.
IRowsetImpl::GetData
Pobiera dane z kopii wiersza zestawu wierszy.
Składnia
STDMETHOD(GetData )(HROW hRow,
HACCESSOR hAccessor,
void* pDstData);
Parametry
Zobacz IRowset::GetData w dokumentacji programisty OLE DB.
Niektóre parametry odpowiadają parametrom referencyjnym programisty OLE DB o różnych nazwach, które zostały opisane w temacie IRowset::GetData
:
Parametry szablonu OLE DB | Parametry referencyjne programisty OLE DB |
---|---|
pDstData | pData |
Uwagi
Obsługuje również konwersję danych przy użyciu biblioteki DLL konwersji danych OLE DB.
IRowsetImpl::GetDBStatus
Zwraca flagi stanu DBSTATUS dla określonego pola.
Składnia
virtual DBSTATUS GetDBStatus(RowClass* currentRow,
ATLCOLUMNINFO* columnNames);
Parametry
currentRow
[in] Bieżący wiersz.
columnNames
[in] Kolumna, dla której jest żądany stan.
Wartość zwracana
Flagi DBSTATUS dla kolumny.
IRowsetImpl::GetNextRows
Pobiera wiersze sekwencyjnie, pamiętając poprzednią pozycję.
Składnia
STDMETHOD(GetNextRows )(HCHAPTER hReserved,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM* pcRowsObtained,
HROW** prghRows);
Parametry
Zobacz IRowset::GetNextRows w dokumentacji programisty OLE DB.
IRowsetImpl::IRowsetImpl
Konstruktor.
Składnia
IRowsetImpl();
Uwagi
Zwykle nie trzeba bezpośrednio wywoływać tej metody.
IRowsetImpl::RefRows
Wywoływane przez dodatki AddRefRows i ReleaseRows do przyrostu lub wydania liczby odwołań do istniejącego uchwytu wiersza.
Składnia
HRESULT RefRows(DBCOUNTITEM cRows,
const HROWrghRows[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[],
BOOL bAdd);
Parametry
Zobacz IRowset::AddRefRows w dokumentacji programisty OLE DB.
Wartość zwracana
Standardowa wartość HRESULT.
IRowsetImpl::ReleaseRows
Zwalnia wiersze.
Składnia
STDMETHOD(ReleaseRows )(DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWOPTIONS rgRowOptions[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
Parametry
Zobacz IRowset::ReleaseRows w dokumentacji programisty OLE DB.
IRowsetImpl::RestartPosition
Zmienia położenie następnego miejsca pobierania do początkowej pozycji; oznacza to, że jego pozycja, gdy zestaw wierszy został utworzony po raz pierwszy.
Składnia
STDMETHOD(RestartPosition )(HCHAPTER /* hReserved */);
Parametry
Zobacz IRowset::RestartPosition w dokumentacji programisty OLE DB.
Uwagi
Pozycja zestawu wierszy jest niezdefiniowana do momentu GetNextRow
wywołania. Możesz przejść do tyłu w zestawie wierszy, wywołując RestartPosition
polecenie , a następnie pobierając lub przewijając do tyłu.
IRowsetImpl::SetDBStatus
Ustawia flagi stanu DBSTATUS dla określonego pola.
Składnia
virtual HRESULT SetDBStatus(DBSTATUS* statusFlags,
RowClass* currentRow,
ATLCOLUMNINFO* columnInfo);
Parametry
statusFlags
Flagi DBSTATUS ustawiane dla kolumny.
currentRow
Bieżący wiersz.
columnInfo
Kolumna, dla której jest ustawiany stan.
Wartość zwracana
Standardowa wartość HRESULT.
Uwagi
Dostawca zastępuje tę funkcję, aby zapewnić specjalne przetwarzanie DBSTATUS_S_ISNULL i DBSTATUS_S_DEFAULT.
IRowsetImpl::m_bCanFetchBack
Wskazuje, czy dostawca obsługuje pobieranie wsteczne.
Składnia
unsigned m_bCanFetchBack:1;
Uwagi
Połączono z właściwością DBPROP_CANFETCHBACKWARDS
DBPROPSET_ROWSET
w grupie. Dostawca musi obsługiwać DBPROP_CANFETCHBACKWARDS
m_bCanFetchBackwards
true
wartość .
IRowsetImpl::m_bCanScrollBack
Wskazuje, czy dostawca może przewijać kursor do tyłu.
Składnia
unsigned m_bCanScrollBack:1;
Uwagi
Połączono z właściwością DBPROP_CANSCROLLBACKWARDS
DBPROPSET_ROWSET
w grupie. Dostawca musi obsługiwać DBPROP_CANSCROLLBACKWARDS
m_bCanFetchBackwards
true
wartość .
IRowsetImpl::m_bReset
Flaga bitowa używana do określenia, czy pozycja kursora jest zdefiniowana w zestawie wierszy.
Składnia
unsigned m_bReset:1;
Uwagi
Jeśli użytkownik wywołuje metodę GetNextRows z wartością ujemną lOffset
lub cRows i m_bReset
ma wartość true, GetNextRows
przechodzi na koniec zestawu wierszy. Jeśli m_bReset
jest to fałsz, odbiorca otrzymuje kod błędu zgodny ze specyfikacją OLE DB. Flaga m_bReset
jest ustawiana na true
czas pierwszego utworzenia zestawu wierszy, a użytkownik wywołuje metodę IRowsetImpl::RestartPosition. Po wywołaniu GetNextRows
metody zostanie ustawiona wartość false
.
IRowsetImpl::m_iRowset
Indeks do zestawu wierszy reprezentujący kursor.
Składnia
DBROWOFFSET m_iRowset;
IRowsetImpl::m_rgRowHandles
Mapa dojść wierszy znajdujących się obecnie przez dostawcę w odpowiedzi na GetNextRows
.
Składnia
MapClass m_rgRowHandles;
Uwagi
Uchwyty wierszy są usuwane przez wywołanie metody ReleaseRows
. Zobacz omówienie interfejsu IRowsetImpl, aby zapoznać się z definicją klasy MapClass.
Zobacz też
Szablony dostawców OLE DB
Architektura szablonu dostawcy OLE DB
CSimpleRow, klasa