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
Methoden
Extrahiert eine Zeichenfolge aus DBID und kopiert sie in bstr, das übergeben wird. |
|
Überprüft und speichert das DBID s in den beiden Zeichenfolgen (m_strCommandText und m_strIndexText). |
Überschreibbare Methoden
Gibt Spalteninformationen für eine bestimmte Clientanforderung ab. |
|
Überprüft, ob die einzelnen, um Zeichenfolgenwerte oder beide Parameter enthalten, und ggf. um die Zeichenfolgenwerte auf Datenmember m_strCommandText und m_strIndexText anzuzeigen. |
|
Ü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. |
Datenmember
Standardmäßig CAtlArray, das auf dem Benutzerdatensatzvorlagenargument zu CRowsetImpl templatizes.Eine andere Arraytyp Klasse kann verwendet werden, indem das ArrayType Vorlagenargument zu CRowsetImpl ändert. |
|
Enthält den ursprünglichen Befehl des Rowsets. |
|
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