Sdílet prostřednictvím


IRowsetImpl – třída

Poskytuje implementaci IRowset rozhraní.

Syntaxe

template <
   class T,
   class RowsetInterface,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <
      RowClass::KeyType,
      RowClass*>>
class ATL_NO_VTABLE IRowsetImpl : public RowsetInterface

Parametry

T
Vaše třída odvozená z IRowsetImpl.

RowsetInterface
Třída odvozená z IRowsetImpl.

RowClass
Jednotka úložiště pro HROW.

MapClass
Jednotka úložiště pro všechny popisovače řádků uchovávané poskytovatelem.

Požadavky

Hlavička: atldb.h

Členové

Metody

Název Popis
AddRefRows Přidá počet odkazů do existujícího úchytu řádku.
CreateRow Volal GetNextRows pro přidělení nové HROW. Není volána přímo uživatelem.
GetData Načte data z kopie sady řádků řádku.
GetDBStatus Vrátí stav pro zadané pole.
GetNextRows Načte řádky postupně a pamatuje si předchozí pozici.
IRowsetImpl Konstruktor Není volána přímo uživatelem.
RefRows Volal AddRefRows a ReleaseRows. Není volána přímo uživatelem.
ReleaseRows Uvolní řádky.
RestartPosition Přemísťuje další pozici načtení na počáteční pozici; to znamená, že jeho pozice při prvním vytvoření sady řádků.
SetDBStatus Nastaví příznaky stavu pro zadané pole.

Datové členy

Název Popis
m_bCanFetchBack Určuje, jestli poskytovatel podporuje zpětné načítání.
m_bCanScrollBack Určuje, jestli se zprostředkovatel může posunout kurzorem dozadu.
m_bReset Určuje, jestli má poskytovatel resetovat pozici kurzoru. To má zvláštní význam při posouvání dozadu nebo načítání zpět v GetNextRows.
m_iRowset Index sady řádků představující kurzor.
m_rgRowHandles Seznam popisovačů řádků

Poznámky

IRowset je základní rozhraní sady řádků.

IRowsetImpl::AddRefRows

Přidá počet odkazů do existujícího úchytu řádku.

Syntaxe

STDMETHOD(AddRefRows )(DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[]);

Parametry

Viz IRowset::AddRefRows v odkazu programátora OLE DB.

IRowsetImpl::CreateRow

Pomocná metoda volala GetNextRows přidělit nový HROW.

Syntaxe

HRESULT CreateRow(DBROWOFFSET lRowsOffset,
   DBCOUNTITEM& cRowsObtained,
   HROW* rgRows);

Parametry

LRowsOffset
Umístění kurzoru vytvořeného řádku

cRowsObtained
Odkaz předaný zpět uživateli označující počet vytvořených řádků.

rgRows
Pole vrácených HROWvolajícímu s nově vytvořenými popisovači řádků

Poznámky

Pokud řádek existuje, tato metoda volá AddRefRows a vrátí. V opačném případě přidělí novou instanci proměnné šablony RowClass a přidá ji do m_rgRowHandles.

IRowsetImpl::GetData

Načte data z kopie sady řádků řádku.

Syntaxe

STDMETHOD(GetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pDstData);

Parametry

Viz IRowset::GetData v odkazech programátora OLE DB.

Některé parametry odpovídají referenčním parametrům programátora OLE DB s různými názvy, které jsou popsány vIRowset::GetData:

Parametry šablony OLE DB Referenční parametry programátora OLE DB
pDstData pData

Poznámky

Zpracovává také převod dat pomocí knihovny DLL pro převod dat OLE DB.

IRowsetImpl::GetDBStatus

Vrátí příznaky stavu DBSTATUS pro zadané pole.

Syntaxe

virtual DBSTATUS GetDBStatus(RowClass* currentRow,
   ATLCOLUMNINFO* columnNames);

Parametry

currentRow
[v] Aktuální řádek.

columnNames
[v] Sloupec, pro který se požaduje stav.

Návratová hodnota

Příznaky DBSTATUS pro sloupec.

IRowsetImpl::GetNextRows

Načte řádky postupně a pamatuje si předchozí pozici.

Syntaxe

STDMETHOD(GetNextRows )(HCHAPTER hReserved,
   DBROWOFFSET lRowsOffset,
   DBROWCOUNT cRows,
   DBCOUNTITEM* pcRowsObtained,
   HROW** prghRows);

Parametry

Viz IRowset::GetNextRows v odkazu programátora OLE DB.

IRowsetImpl::IRowsetImpl

Konstruktor

Syntaxe

IRowsetImpl();

Poznámky

Tuto metodu obvykle nemusíte volat přímo.

IRowsetImpl::RefRows

Volal AddRefRows a ReleaseRows pro zvýšení nebo uvolnění referenčního počtu pro existující popisovač řádku.

Syntaxe

HRESULT RefRows(DBCOUNTITEM cRows,
   const HROWrghRows[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[],
   BOOL bAdd);

Parametry

Viz IRowset::AddRefRows v odkazu programátora OLE DB.

Návratová hodnota

Standardní hodnota HRESULT.

IRowsetImpl::ReleaseRows

Uvolní řádky.

Syntaxe

STDMETHOD(ReleaseRows )(DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBROWOPTIONS rgRowOptions[],
   DBREFCOUNT rgRefCounts[],
   DBROWSTATUS rgRowStatus[]);

Parametry

Viz IRowset::ReleaseRows v odkazech programátora OLE DB.

IRowsetImpl::RestartPosition

Přemísťuje další pozici načtení na počáteční pozici; to znamená, že jeho pozice při prvním vytvoření sady řádků.

Syntaxe

STDMETHOD(RestartPosition )(HCHAPTER /* hReserved */);

Parametry

Viz IRowset::RestartPosition v odkazech programátora OLE DB.

Poznámky

Pozice sady řádků není definována, dokud GetNextRow se nevolá. V sadě řádků se můžete pohybovat zpět voláním RestartPosition a následným načtením nebo posouváním dozadu.

IRowsetImpl::SetDBStatus

Nastaví příznaky stavu DBSTATUS pro zadané pole.

Syntaxe

virtual HRESULT SetDBStatus(DBSTATUS* statusFlags,
   RowClass* currentRow,
   ATLCOLUMNINFO* columnInfo);

Parametry

statusFlags
Příznak DBSTATUS , který se má pro sloupec nastavit.

currentRow
Aktuální řádek.

columnInfo
Sloupec, pro který se nastavuje stav.

Návratová hodnota

Standardní hodnota HRESULT.

Poznámky

Zprostředkovatel přepíše tuto funkci tak, aby poskytovala speciální zpracování pro DBSTATUS_S_ISNULL a DBSTATUS_S_DEFAULT.

IRowsetImpl::m_bCanFetchBack

Určuje, jestli poskytovatel podporuje zpětné načítání.

Syntaxe

unsigned m_bCanFetchBack:1;

Poznámky

Propojeno s DBPROP_CANFETCHBACKWARDS vlastností ve skupině DBPROPSET_ROWSET . Poskytovatel musí podporovat DBPROP_CANFETCHBACKWARDS m_bCanFetchBackwards , aby byl true.

IRowsetImpl::m_bCanScrollBack

Určuje, jestli se zprostředkovatel může posunout kurzorem dozadu.

Syntaxe

unsigned  m_bCanScrollBack:1;

Poznámky

Propojeno s DBPROP_CANSCROLLBACKWARDS vlastností ve skupině DBPROPSET_ROWSET . Poskytovatel musí podporovat DBPROP_CANSCROLLBACKWARDS m_bCanFetchBackwards , aby byl true.

IRowsetImpl::m_bReset

Bitový příznak sloužící k určení, jestli je pozice kurzoru definovaná v sadě řádků.

Syntaxe

unsigned m_bReset:1;

Poznámky

Pokud příjemce volá GetNextRows se záporným lOffset nebo cRows a m_bReset je true, GetNextRows přesune se na konec sady řádků. Pokud m_bReset je hodnota false, příjemce obdrží kód chyby v souladu se specifikací OLE DB. Příznak m_bReset se nastaví při true prvním vytvoření sady řádků a při volání příjemce IRowsetImpl::RestartPosition. Nastaví se false při volání GetNextRows.

IRowsetImpl::m_iRowset

Index sady řádků představující kurzor.

Syntaxe

DBROWOFFSET m_iRowset;

IRowsetImpl::m_rgRowHandles

Mapa popisovačů řádků, které aktuálně obsahuje poskytovatel v reakci na GetNextRows.

Syntaxe

MapClass m_rgRowHandles;

Poznámky

Obslužné rutiny řádků jsou odebrány voláním ReleaseRows. Podívejte se na přehled IRowsetImpl definice MapClass.

Viz také

Šablony zprostředkovatele OLE DB
Architektura šablon zprostředkovatele OLE DB
CSimpleRow – třída