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 HROW
volají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