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 IAccessor
Bindung 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.