Freigeben über


CRowsetImpl-Klasse

Stellt eine Standard-OLE DB-Rowset Implementierung bereit, ohne die Mehrfachvererbung Implementierungen zahlreicher Schnittstellen erforderlich ist.

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>

Parameter

  • T
    Die Klasse des Benutzers, die von CRowsetImpl berechnet.

  • Storage
    Die Benutzerdatensatz-Klasse.

  • CreatorClass
    Die Klasse, die Eigenschaften für das Rowset enthält. i. d. R. der Befehl.

  • ArrayType
    Die Klasse, die als Speicher für die Daten des Rowsets auftritt.Dieser Parameter hat den Standardwert CAtlArray, aber es kann jede Klasse sein, die die erforderliche Funktionalität unterstützt.

Mitglieder

xzwszaah.collapse_all(de-de,VS.110).gifMethoden

NameFromDBID

Extrahiert eine Zeichenfolge aus DBID und kopiert sie in bstr, das übergeben wird.

SetCommandText

Überprüft und speichert das DBID s in den beiden Zeichenfolgen (m_strCommandText und m_strIndexText).

xzwszaah.collapse_all(de-de,VS.110).gifÜberschreibbare Methoden

GetColumnInfo

Gibt Spalteninformationen für eine bestimmte Clientanforderung ab.

GetCommandFromID

Überprüft, ob die einzelnen, um Zeichenfolgenwerte oder beide Parameter enthalten, und ggf. um die Zeichenfolgenwerte auf Datenmember m_strCommandText und m_strIndexText anzuzeigen.

ValidateCommandID

Überprüft, wenn ein oder beide DBID s Zeichenfolgenwerte enthalten. Wenn dies der Fall ist, kopiert sie in seinen Datenmembern m_strCommandText und m_strIndexText.

xzwszaah.collapse_all(de-de,VS.110).gifDatenmember

m_rgRowData

Standardmäßig CAtlArray, das auf dem Benutzerdatensatzvorlagenargument zu CRowsetImpl templatizes.Eine andere Arraytyp Klasse kann verwendet werden, indem das ArrayType Vorlagenargument zu CRowsetImpl ändert.

m_strCommandText

Enthält den ursprünglichen Befehl des Rowsets.

m_strIndexText

Enthält den ursprünglichen Index des Rowsets.

Hinweise

CRowsetImpl stellt Überschreibungen in Form von statischen Aufwärtsumwandlungen bereit.Die Methoden steuern die Art, in der ein bestimmtes Rowset Befehlstext überprüft.Sie können eine eigene e-ähnlich Klasse CRowsetImpl erstellen, indem Sie die Mehrfachverbindungsstelle-geerbten Schnittstellen Implementierungen machen.Die einzige Möglichkeit, für die Implementierung bereitstellen müssen, ist Execute.Je nachdem, welchen Typ des Rowsets erhalten, erstellen Sie Methoden der Ersteller die unterschiedliche Signaturen für Execute.Wenn Sie beispielsweise CRowsetImpl- implementieren die abgeleitete Klasse verwenden, hat ein Schemarowset, die Execute-Methode die folgende Signatur:

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

Wenn Sie CRowsetImpl- implementieren die abgeleitete Klasse erstellen, weist ein Befehls- oder Sitzungen rowset, die Execute-Methode die folgende Signatur:

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

So implementieren CRowsetImpl eine abgeleitete Execute-Methoden, müssen Sie die internen Datenpuffer (m_rgRowData) auffüllen.

Anforderungen

Header: atldb.h