Freigeben über


CRowsetImpl-Klasse

Stellt eine Standard-OLEDB-Rowsetimplementierung bereit, ohne viele Implementierungsschnittstellen Mehrfachvererbung zu erfordern.

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 abgeleitet.

  • Storage
    Die Benutzerdatensatz-Klasse.

  • CreatorClass
    Die Klasse, die Eigenschaften für das Rowset enthält; in der Regel der Befehl.

  • ArrayType
    Die Klasse, die als Speicher für die Daten eines Rowsets auftritt. Dieser Parameter führt zu CAtlArray, kann jedoch eine Klasse sein, die die erforderliche Funktionalität unterstützt.

Member

Methoden

NameFromDBID

Extrahiert eine Zeichenfolge von DBID und kopiert sie auf bstr, das übergeben wird.

SetCommandText

Überprüft Anschließend wird das DBIDs in beiden Zeichenfolgen (m_strCommandText und m_strIndexText).

Überschreibbare Methoden

GetColumnInfo

Ruft Spalteninformationen für eine bestimmte Clientanforderung ab.

GetCommandFromID

Überprüft, um, wenn einer oder beide Parameter Zeichenfolgenwerte enthalten, und wenn ja Kopien, die Zeichenfolgenwerte in den Datenmember m_strCommandText und m_strIndexText.

ValidateCommandID

Überprüft, überprüft, ob jedes oder sowohl DBIDs Zeichenfolgenwerte und wenn ja enthalten, kopiert sie den Datenmember m_strCommandText und m_strIndexText.

Datenmember

m_rgRowData

Standardmäßig CAtlArray, das auf dem Benutzerdatensatzvorlagenargument zu CRowsetImpl templatizes. Eine andere Arraytypklasse kann verwendet werden, indem das Vorlagenargument ArrayType in 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 Klasse als CRowsetImpl erstellen, indem Sie die Mehrfachverbindungsstelle-geerbten Implementierungsschnittstellen machen. Die einzige Methode, für die Sie die Implementierung bereitstellen müssen, ist Ausführen. Je nachdem, welcher Typ des Rowsets Sie erstellen, wird die Erstellermethoden unterschiedliche Signaturen für Ausführen. Wenn Sie CRowsetImpl- zu implementieren die abgeleitete Klasse, hat ein Schemarowset, die Ausführen-Methode folgende Signatur:

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

Wenn Sie CRowsetImpl- implementiert erstellen die abgeleitete Klasse, hat ein Befehls- oder Sitzungsrowset, die Ausführen-Methode folgende Signatur:

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

Wenn Sie einen CRowsetImpl implementieren abgeleitete Ausführen-Methoden, müssen Sie die internen Datenpuffer (m_rgRowData) füllen.

Anforderungen

Header: atldb.h