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 utilisateurCreatorClass
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
Extrait une chaîne de DBID et la copie sur bstr transmis. |
|
Valide et stocke DBIDs dans les deux chaînes (m_strCommandText et m_strIndexText). |
Méthodes substituables
Récupère les informations de colonne pour une demande d'un client particulière. |
|
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. |
|
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
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. |
|
Contient la commande initiale de l'ensemble de lignes. |
|
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