db_accessor
Regroupe db_column
les attributs qui participent à IAccessor
la liaison basée sur les données.
Syntaxe
[ db_accessor(num, auto) ]
Paramètres
num
Spécifie le numéro d’accesseur (index entier de base zéro). Vous devez spécifier des nombres d’accesseurs dans l’ordre croissant, à l’aide d’entiers ou de valeurs définies.
auto
Valeur booléenne qui spécifie si l’accesseur est automatiquement récupéré (TRUE) ou non récupéré (FALSE).
Notes
db_accessor définit l’accesseur OLE DB sous-jacent pour les attributs suivants db_column
dans db_param
la même classe ou fonction. db_accessor est utilisable au niveau du membre et est utilisé pour regrouper db_column
les attributs qui participent à la liaison basée sur OLE DBIAccessor
. Il est utilisé conjointement avec les attributs ou db_command
les db_table
attributs. L’appel de cet attribut est similaire à l’appel des macros BEGIN_ACCESSOR et END_ACCESSOR .
db_accessor génère un ensemble de lignes et le lie aux cartes d’accesseur correspondantes. Si vous n’appelez pas db_accessor, l’accesseur 0 est généré automatiquement et toutes les liaisons de colonne sont mappées à ce bloc d’accesseur.
db_accessor regroupe les liaisons de colonnes de base de données en un ou plusieurs accesseurs. Pour une discussion sur les scénarios dans lesquels vous devez utiliser plusieurs accesseurs, consultez Utilisation de plusieurs accesseurs sur un ensemble de lignes. Consultez également « Prise en charge des enregistrements utilisateur pour plusieurs accesseurs » dans les enregistrements utilisateur.
Lorsque le fournisseur d’attributs consommateur applique cet attribut à une classe, le compilateur renomme la classe en _YourClassName Accessor, où YourClassName est le nom que vous avez donné à la classe, et le compilateur crée également une classe appelée YourClassName, qui dérive de _YourClassNameAccessor. Dans l’affichage de classes, vous verrez les deux classes.
Exemple
L’exemple suivant utilise db_accessor pour regrouper des colonnes dans la table Orders de la base de données Northwind en deux accesseurs. Accesseur 0 est un accesseur automatique, et l’accesseur 1 n’est pas.
// 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;
};
Spécifications
Contexte d’attribut | Valeur |
---|---|
S’applique à | Blocs d’attributs |
Renouvelable | Non |
Attributs requis | Aucune |
Attributs non valides | Aucune |
Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.