ICommandImpl – třída
Poskytuje implementaci pro ICommand rozhraní.
Syntaxe
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
Parametry
T
Vaše třída odvozená z ICommandImpl
.
CommandBase
Příkazové rozhraní. Výchozí hodnota je ICommand
.
Požadavky
Hlavička: atldb.h
Členové
Metody
Název | Popis |
---|---|
Zrušit | Zruší spuštění aktuálního příkazu. |
CancelExecution | Zruší spuštění aktuálního příkazu. |
CreateRowset | Vytvoří objekt sady řádků. |
Execute | Spustí příkaz. |
GetDBSession | Vrátí ukazatel rozhraní na relaci, která vytvořila příkaz. |
ICommandImpl | Konstruktor |
Datové členy
Název | Popis |
---|---|
m_bCancel | Určuje, jestli má být příkaz zrušen. |
m_bCancelWhenExecuting | Určuje, jestli má být příkaz při provádění zrušen. |
m_bIsExecuting | Určuje, jestli se příkaz právě spouští. |
Poznámky
Povinné rozhraní pro objekt příkazu.
ICommandImpl::Cancel
Zruší spuštění aktuálního příkazu.
Syntaxe
STDMETHOD(Cancel)();
Poznámky
Viz ICommand::Cancel v referenční dokumentaci programátora OLE DB.
ICommandImpl::CancelExecution
Zruší spuštění aktuálního příkazu.
Syntaxe
HRESULT CancelExecution();
ICommandImpl::CreateRowset
Zavolá se provedením pro vytvoření jedné sady řádků.
Syntaxe
template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset,
RowsetClass*& pRowsetObj);
Parametry
RowsetClass
Člen třídy šablony představující třídu sady řádků uživatele. Obvykle je vygenerován průvodcem.
pUnkOuter
[v] Ukazatel na řídicí IUnknown
rozhraní, pokud se sada řádků vytváří jako součást agregace, jinak má hodnotu null.
riid
[v] Odpovídá riidu v ICommand::Execute
.
pParams
[in/out] Odpovídá pParams v ICommand::Execute
.
pcRowsAffected
Odpovídá pcRowsAffected in ICommand::Execute
.
ppRowset
[in/out] Odpovídá ppRowset v ICommand::Execute
.
pRowsetObj
[ven] Ukazatel na objekt sady řádků. Obvykle se tento parametr nepoužívá, ale lze jej použít, pokud před předáním objektu COM potřebujete na sadě řádků provést více práce. Životnost pRowsetObj je vázána ppRowset.
Návratová hodnota
Standardní hodnota HRESULT. Podívejte ICommand::Execute
se na seznam typických hodnot.
Poznámky
Chcete-li vytvořit více než jednu sadu řádků nebo poskytnout vlastní podmínky pro vytváření různých sad řádků, umístěte různá volání CreateRowset
z .Execute
Viz ICommand::Execute v odkazech programátora OLE DB.
ICommandImpl::Execute
Spustí příkaz.
Syntaxe
HRESULT Execute(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset);
Parametry
Viz ICommand::Execute v odkazech programátora OLE DB.
Poznámky
Požadované odchozí rozhraní bude rozhraní získané z objektu sady řádků, který tato funkce vytvoří.
Execute
volá CreateRowset. Přepište výchozí implementaci a vytvořte více než jednu sadu řádků nebo zadejte vlastní podmínky pro vytváření různých sad řádků.
ICommandImpl::GetDBSession
Vrátí ukazatel rozhraní na relaci, která vytvořila příkaz.
Syntaxe
STDMETHOD (GetDBSession) (REFIID riid,
IUnknown** ppSession);
Parametry
Viz ICommand::GetDBSession v odkazech programátora OLE DB.
Poznámky
Užitečné pro načtení vlastností z relace.
ICommandImpl::ICommandImpl
Konstruktor
Syntaxe
ICommandImpl();
ICommandImpl::m_bCancel
Určuje, jestli je příkaz zrušen.
Syntaxe
unsigned m_bCancel:1;
Poznámky
Tuto proměnnou můžete načíst v Execute
metodě třídy příkazů a podle potřeby ji zrušit.
ICommandImpl::m_bCancelWhenExecuting
Určuje, zda lze příkaz při provádění zrušit.
Syntaxe
unsigned m_bCancelWhenExecuting:1;
Poznámky
Výchozí nastavení true
je (lze zrušit).
ICommandImpl::m_bIsExecuting
Určuje, jestli se příkaz právě spouští.
Syntaxe
unsigned m_bIsExecuting:1;
Poznámky
Metoda Execute
třídy příkazů může tuto proměnnou nastavit na true
.
Viz také
Šablony zprostředkovatele OLE DB
Architektura šablon zprostředkovatele OLE DB