IRowsetChangeImpl Class
Implémentation des modèles OLE DB de l’interface IRowsetChange dans la spécification OLE DB.
Syntaxe
template <
class T,
class Storage,
class BaseInterface = IRowsetChange,
class RowClass = CSimpleRow,
class MapClass = CAtlMap <RowClass::KeyType, RowClass*>>
class ATL_NO_VTABLE IRowsetChangeImpl : public BaseInterface
Paramètres
T
Classe dérivée de IRowsetChangeImpl
.
Stockage
Enregistrement utilisateur.
BaseInterface
Classe de base de l’interface, telle que IRowsetChange
.
RowClass
Unité de stockage pour le handle de ligne.
MapClass
Unité de stockage pour tous les handles de ligne détenus par le fournisseur.
Spécifications
En-tête : atldb.h
Membres
Méthodes d’interface (utilisées avec IRowsetChange)
Nom | Description |
---|---|
DeleteRows | Supprime les lignes de l’ensemble de lignes. |
InsertRow | Insère une ligne dans l’ensemble de lignes. |
SetData | Définit des valeurs de données dans une ou plusieurs colonnes. |
Méthode d’implémentation (callback)
Nom | Description |
---|---|
FlushData | Substitué par le fournisseur pour valider les données dans son magasin. |
Notes
Cette interface est responsable des opérations d’écriture immédiates dans un magasin de données. « Immédiat » signifie que lorsque l’utilisateur final (la personne qui utilise le consommateur) apporte des modifications, ces modifications sont immédiatement transmises au magasin de données (et ne peuvent pas être annulées).
IRowsetChangeImpl
implémente l’interface OLE DB IRowsetChange
, qui permet la mise à jour des valeurs de colonnes dans les lignes existantes, la suppression de lignes et l’insertion de nouvelles lignes.
L’implémentation des modèles OLE DB prend en charge toutes les méthodes de base (SetData
, InsertRow
et DeleteRows
).
Important
Il est vivement recommandé de lire la documentation suivante AVANT de tenter d’implémenter votre fournisseur :
Chapitre 6 de la référence du programmeur OLE DB
Découvrez également comment la
RUpdateRowset
classe est utilisée dans l’exemple UpdatePV .
IRowsetChangeImpl::DeleteRows
Supprime les lignes de l’ensemble de lignes.
Syntaxe
STDMETHOD (DeleteRows )(HCHAPTER /* hReserved */,
DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWSTATUS rgRowStatus[]);
Paramètres
Consultez IRowsetChange ::D eleteRows dans la référence du programmeur OLE DB.
IRowsetChangeImpl::InsertRow
Crée et initialise une nouvelle ligne dans l’ensemble de lignes.
Syntaxe
STDMETHOD (InsertRow )(HCHAPTER /* hReserved */,
HACCESSOR hAccessor,
void* pData,
HROW* phRow);
Paramètres
Consultez IRowsetChange ::InsertRow dans la référence du programmeur OLE DB.
IRowsetChangeImpl::SetData
Définit des valeurs de données dans une ou plusieurs colonnes.
Syntaxe
STDMETHOD (SetData )(HROW hRow,
HACCESSOR hAccessor,
void* pSrcData);
Paramètres
Consultez IRowsetChange ::SetData dans la référence du programmeur OLE DB.
IRowsetChangeImpl::FlushData
Substitué par le fournisseur pour valider les données dans son magasin.
Syntaxe
HRESULT FlushData(HROW hRowToFlush,
HACCESSOR hAccessorToFlush);
Paramètres
hRowToFlush
[in] Gérez les lignes des données. Le type de cette ligne est déterminé à partir de l’argument de modèle RowClass de la IRowsetImpl
classe (CSimpleRow
par défaut).
hAccessorToFlush
[in] Gérer l’accesseur, qui contient des informations de liaison et des informations de type dans son PROVIDER_MAP
(voir IAccessorImpl).
Valeur de retour
HRESULT standard.
Voir aussi
Modèles du fournisseur OLE DB
Architecture des modèles du fournisseur OLE DB