Partager via


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, InsertRowet DeleteRows).

Important

Il est vivement recommandé de lire la documentation suivante AVANT de tenter d’implémenter votre fournisseur :

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