Udostępnij za pośrednictwem


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 IRowsetImplklasy .

WierszeetInterface
Klasa pochodząca z IRowsetImplklasy .

RowClass
Jednostka magazynu dla elementu HROW.

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

Wymagania

Nagłówek: atldb.h

Członkowie

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 HROWelementu . 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 HROWelementu .

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 HROWs 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_CANFETCHBACKWARDSDBPROPSET_ROWSET w grupie. Dostawca musi obsługiwać DBPROP_CANFETCHBACKWARDSm_bCanFetchBackwardstruewartość .

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_CANSCROLLBACKWARDSDBPROPSET_ROWSET w grupie. Dostawca musi obsługiwać DBPROP_CANSCROLLBACKWARDSm_bCanFetchBackwardstruewartość .

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 GetNextRowsmetody 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