ICommandImpl, classe
Fournit une implémentation pour l’interface ICommand .
Syntaxe
template <class T, class CommandBase = ICommand>
class ATL_NO_VTABLE ICommandImpl : public CommandBase
Paramètres
T
Votre classe, dérivée de ICommandImpl
.
CommandBase
Interface de commande. Par défaut, il s’agit de ICommand
.
Spécifications
En-tête : atldb.h
Membres
Méthodes
Nom | Description |
---|---|
Annuler | Annule l’exécution de la commande actuelle. |
CancelExecution | Annule l’exécution de la commande actuelle. |
CreateRowset | Crée un objet d’ensemble de lignes. |
Execute | Exécute la commande. |
GetDBSession | Retourne un pointeur d’interface vers la session qui a créé la commande. |
ICommandImpl | Constructeur . |
Données membres
Nom | Description |
---|---|
m_bCancel | Indique si la commande doit être annulée. |
m_bCancelWhenExecuting | Indique si la commande doit être annulée lors de l’exécution. |
m_bIsExecuting | Indique si la commande est en cours d’exécution. |
Notes
Interface obligatoire sur l’objet de commande.
ICommandImpl::Cancel
Annule l’exécution de la commande actuelle.
Syntaxe
STDMETHOD(Cancel)();
Notes
Voir ICommand ::Cancel dans la référence du programmeur OLE DB.
ICommandImpl::CancelExecution
Annule l’exécution de la commande actuelle.
Syntaxe
HRESULT CancelExecution();
ICommandImpl::CreateRowset
Appelé par Execute pour créer un ensemble de lignes unique.
Syntaxe
template template <class RowsetClass>
HRESULT CreateRowset(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset,
RowsetClass*& pRowsetObj);
Paramètres
RowsetClass
Membre de classe de modèle représentant la classe d’ensemble de lignes de l’utilisateur. Généralement généré par l’Assistant.
pUnkOuter
[in] Pointeur vers l’interface de IUnknown
contrôle si l’ensemble de lignes est créé dans le cadre d’un agrégat ; sinon, il est null.
riid
[in] Correspond à riid in ICommand::Execute
.
pParams
[in/out] Correspond à pParams in ICommand::Execute
.
pcRowsAffected
Correspond à pcRowsAffected in ICommand::Execute
.
ppRowset
[in/out] Correspond à ppRowset dans ICommand::Execute
.
pRowsetObj
[out] Pointeur vers un objet d’ensemble de lignes. En règle générale, ce paramètre n’est pas utilisé, mais il peut être utilisé si vous devez effectuer davantage de travail sur l’ensemble de lignes avant de le transmettre à un objet COM. La durée de vie de pRowsetObj est liée par ppRowset.
Valeur de retour
Valeur HRESULT standard. Consultez ICommand::Execute
la liste des valeurs classiques.
Notes
Pour créer plusieurs ensembles de lignes ou fournir vos propres conditions pour la création d’ensembles de lignes différents, placez différents appels à CreateRowset
partir de l’intérieur Execute
.
Voir ICommand ::Execute dans la référence du programmeur OLE DB.
ICommandImpl::Execute
Exécute la commande.
Syntaxe
HRESULT Execute(IUnknown* pUnkOuter,
REFIID riid,
DBPARAMS* pParams,
DBROWCOUNT* pcRowsAffected,
IUnknown** ppRowset);
Paramètres
Voir ICommand ::Execute dans la référence du programmeur OLE DB.
Notes
L’interface sortante demandée sera une interface acquise à partir de l’objet d’ensemble de lignes créé par cette fonction.
Execute
appelle CreateRowset. Remplacez l’implémentation par défaut pour créer plusieurs ensembles de lignes ou fournir vos propres conditions pour créer différents ensembles de lignes.
ICommandImpl::GetDBSession
Retourne un pointeur d’interface vers la session qui a créé la commande.
Syntaxe
STDMETHOD (GetDBSession) (REFIID riid,
IUnknown** ppSession);
Paramètres
Consultez ICommand ::GetDBSession dans la référence du programmeur OLE DB.
Notes
Utile pour récupérer les propriétés de la session.
ICommandImpl::ICommandImpl
Constructeur .
Syntaxe
ICommandImpl();
ICommandImpl::m_bCancel
Indique si la commande est annulée.
Syntaxe
unsigned m_bCancel:1;
Notes
Vous pouvez récupérer cette variable dans la Execute
méthode de votre classe de commande et annuler selon les besoins.
ICommandImpl::m_bCancelWhenExecuting
Indique si la commande peut être annulée lors de l’exécution.
Syntaxe
unsigned m_bCancelWhenExecuting:1;
Notes
true
Valeurs par défaut (peuvent être annulées).
ICommandImpl::m_bIsExecuting
Indique si la commande est en cours d’exécution.
Syntaxe
unsigned m_bIsExecuting:1;
Notes
La Execute
méthode de votre classe de commande peut définir cette variable sur true
.
Voir aussi
Modèles du fournisseur OLE DB
Architecture des modèles du fournisseur OLE DB