Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zum Festlegen und Abrufen von Daten verwenden OLE DB-Vorlagen einen Accessor und ein Rowset über die CAccessorRowset-Klasse . Diese Klasse kann mehrere Accessoren unterschiedlicher Typen verarbeiten.
Accessortypen
Alle Accessoren werden von CAccessorBase abgeleitet. CAccessorBase stellt Parameter- und Spaltenbindung bereit.
Die folgende Abbildung zeigt die Accessortypen.

Accessorklassen
CAccessor Verwenden Sie diesen Accessor , wenn Sie die Struktur der Datenbankquelle zur Entwurfszeit kennen.
CAccessorStatically binds a database record, which contains the buffer, to the data source.CDynamicAccessor Verwenden Sie diesen Accessor , wenn Sie die Struktur der Datenbank zur Entwurfszeit nicht kennen.
CDynamicAccessorAufrufeIColumnsInfo::GetColumnInfozum Abrufen der Datenbankspalteninformationen. Er erstellt und verwaltet einen Accessor und den Puffer.CDynamicParameterAccessor Verwenden Sie diesen Accessor, um unbekannte Befehlstypen zu behandeln. Wenn Sie die Befehle vorbereiten,
CDynamicParameterAccessorkönnen Parameterinformationen von derICommandWithParametersSchnittstelle abgerufen werden, wenn der Anbieter unterstütztICommandWithParameters.CDynamicStringAccessor, CDynamicStringAccessorA und CDynamicStringAccessorW Verwenden Sie diese Klassen, wenn Sie kein Wissen über das Datenbankschema haben.
CDynamicStringAccessorARuft Daten als ANSI-Zeichenfolgen ab;CDynamicStringAccessorWRuft Daten als Unicode-Zeichenfolgen ab.CManualAccessor Mit dieser Klasse können Sie die gewünschten Datentypen verwenden, wenn der Anbieter den Typ konvertieren kann. Er behandelt sowohl Ergebnisspalten als auch Befehlsparameter.
In der folgenden Tabelle werden die Unterstützung in den Accessortypen der OLE DB-Vorlagen zusammengefasst.
| Accessortyp | Dynamisch | Handles Params | Buffer | Mehrere Accessoren |
|---|---|---|---|---|
CAccessor |
No | Ja | Benutzer | Ja |
CDynamicAccessor |
Ja | No | OLE DB-Vorlagen | No |
CDynamicParameterAccessor |
Ja | Ja | OLE DB-Vorlagen | No |
CDynamicStringAccessor[A,W] |
Ja | No | OLE DB-Vorlagen | No |
CManualAccessor |
Ja | Ja | Benutzer | Ja |
Rowsettypen
Die OLE DB-Vorlagen unterstützen drei Arten von Rowsets (siehe vorherige Abbildung): einzelne Rowsets (implementiert durch CRowset), Massen-Rowsets (implementiert durch CBulkRowset) und Array-Rowsets (implementiert durch CArrayRowset). Einzelne Rowsets rufen beim Aufrufen ein einzelnes Zeilenhandle MoveNext ab. Massenzeilen können mehrere Zeilenziehpunkte abrufen. Array-Rowsets sind Rowsets, auf die mithilfe der Arraysyntax zugegriffen werden kann.
Die folgende Abbildung zeigt die Rowsettypen.

Rowset-Klassen
Schema-Rowsets greifen nicht auf Daten im Datenspeicher zu, sondern greifen stattdessen auf Informationen zum Datenspeicher zu, die als Metadaten bezeichnet werden. Schema-Rowsets werden in der Regel in Situationen verwendet, in denen die Datenbankstruktur zur Kompilierungszeit nicht bekannt ist und zur Laufzeit abgerufen werden muss.