Freigeben über


db_accessor

Gruppiert db_column Attribute, die an der bindungsbasierten Bindung teilnehmen IAccessor.

Syntax

[ db_accessor(num, auto) ]

Parameter

num
Gibt die Accessornummer an (ein nullbasierter ganzzahliger Index). Sie müssen Accessornummern in zunehmender Reihenfolge angeben, ganzzahlige Zahlen oder definierte Werte verwenden.

auto
Ein boolescher Wert, der angibt, ob der Accessor automatisch abgerufen (TRUE) oder nicht abgerufen wird (FALSE).

Hinweise

db_accessor definiert den zugrunde liegenden OLE DB-Accessor für nachfolgende db_column und db_param Attribute innerhalb derselben Klasse oder Funktion. db_accessor kann auf Memberebene verwendet werden und wird verwendet, um Attribute zu gruppierendb_column, die an der OLE DB-basierten IAccessorBindung teilnehmen. Sie wird in Verbindung mit den db_table Attributen oder db_command Attributen verwendet. Das Aufrufen dieses Attributs ähnelt dem Aufrufen der BEGIN_ACCESSOR und END_ACCESSOR Makros.

db_accessor generiert ein Rowset und bindet es an die entsprechenden Accessorzuordnungen. Wenn Sie db_accessor nicht aufrufen, wird Accessor 0 automatisch generiert, und alle Spaltenbindungen werden diesem Accessorblock zugeordnet.

db_accessor gruppieren Sie Datenbankspaltenbindungen in einen oder mehrere Accessoren. Eine Erläuterung der Szenarien, in denen Sie mehrere Accessoren verwenden müssen, finden Sie unter Verwenden mehrerer Accessoren in einem Rowset. Siehe auch "Benutzerdatensatzunterstützung für mehrere Accessoren" in Benutzerdatensätzen.

Wenn der Consumer-Attributanbieter dieses Attribut auf eine Klasse anwendet, benennt der Compiler die Klasse in _YourClassNameAccessor um, wobei YourClassName der Name ist, den Sie der Klasse zugewiesen haben, und der Compiler erstellt auch eine Klasse namens "YourClassName", die von _YourClassName Accessor abgeleitet wird. In dieser Klassenansicht werden beide Klassen angezeigt.

Beispiel

Im folgenden Beispiel werden db_accessor verwendet, um Spalten in der Tabelle "Orders" aus der Northwind-Datenbank in zwei Accessoren zu gruppieren. Accessor 0 ist ein automatischer Accessor, und Accessor 1 ist nicht.

// cpp_attr_ref_db_accessor.cpp
// compile with: /LD /link /OPT:NOREF
#define _ATL_ATTRIBUTES
#include <atlbase.h>
#include <atldbcli.h>

[ db_command(L"SELECT LastName, FirstName FROM Orders") ]
class CEmployees {
public:
   [ db_accessor(0, TRUE) ];
   [ db_column("1") ] LONG m_OrderID;
   [ db_column("2") ] TCHAR m_CustomerID[6];
   [ db_column("4") ] DBTIMESTAMP m_OrderDate;

   [ db_accessor(1, FALSE) ];
   [ db_column("8") ] CURRENCY m_Freight;
};

Anforderungen

Attributkontext Wert
Gilt für Attributblöcke
Wiederholbar No
Erforderliche Attribute Keine
Ungültige Attribute Keine

Weitere Informationen zu den Attributkontexten finden Sie unter Attributkontexte.

Siehe auch

OLE DB-Consumerattribute