Partager via


classe de CRowsetImpl

Fournit une implémentation standard de l'ensemble de lignes OLE DB sans l'héritage multiple de nombreuses interfaces d'implémentation.

template <
   class T,
   class Storage,
   class CreatorClass,
   class ArrayType = CAtlArray<Storage>, 
   class RowClass = CSimpleRow, 
   class RowsetInterface = IRowsetImpl < T, IRowset > 
>
class CRowsetImpl :  
   public CComObjectRootEx<CreatorClass::_ThreadModel>, 
   public CRowsetBaseImpl<T, Storage, ArrayType, RowsetInterface>, 
   public IRowsetInfoImpl<T, CreatorClass::_PropClass>

Paramètres

  • T
    Créez une classe qui dérive de CRowsetImpl.

  • Storage
    Enregistrement utilisateur

  • CreatorClass
    La classe qui contient les propriétés de l'ensemble de lignes ; en général la commande.

  • ArrayType
    La classe qui sera comme stockage des données de l'ensemble de lignes. Ce paramètre par défaut est CAtlArray, mais il peut être n'importe quelle classe qui prend en charge les fonctionnalités requises.

Membres

Méthodes

NameFromDBID

Extrait une chaîne de DBID et la copie sur bstr transmis.

EnsembleTexteCommande

Valide et stocke DBIDs dans les deux chaînes (m_strCommandText et m_strIndexText).

Méthodes substituables

GetColumnInfo

Récupère les informations de colonne pour une demande d'un client particulière.

GetCommandFromID

Vérifie si l'un ou l'autre ou les deux paramètres contiennent des valeurs de chaîne et, le cas échéant, copie les valeurs de chaîne aux membres de données m_strCommandText et m_strIndexText.

ValidateCommandID

Vérifie si l'un ou l'autre ou les deux DBIDs contiennent des valeurs de chaîne et, le cas échéant, les copier ses membres de données m_strCommandText et m_strIndexText.

Membres de données

m_rgRowData

Par défaut, CAtlArray qui créé un modèle sur l'argument TEMPLATE enregistré de l'utilisateur à CRowsetImpl. Une classe de type tableau peut être utilisée en modifiant l'argument TEMPLATE d'ArrayType à CRowsetImpl.

m_strCommandText

Contient la commande initiale de l'ensemble de lignes.

m_strIndexText

Contient l'index initial de l'ensemble de lignes.

Notes

CRowsetImpl fournit les substitutions sous la forme d'upcasts statiques. Les méthodes contrôlent la manière dont un ensemble de lignes donné validera le texte de la commande. Vous pouvez créer votre propre classe du style de CRowsetImpllors de les interfaces d'implémentation plusieurs héritées. La seule méthode pour laquelle vous devez fournir l'implémentation est Exécuter. Selon le type d'ensemble de lignes, vous créez les méthodes de créateur attendront des signatures pour Exécuter. Par exemple, si vous utilisez CRowsetImpl- classe dérivée à implémenter un ensemble de lignes de schéma, la méthode de Exécuter aura la signature suivante :

HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)

Si vous créez CRowsetImpl- classe dérivée à implémenter un ensemble de lignes de commande ou de session, la méthode de Exécuter aura la signature suivante :

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

Pour implémenter CRowsetImpll'un des - les méthodes dérivées de Exécuter, vous devez remplir des tampons de données internes (m_rgRowData).

Configuration requise

En-tête : atldb.h