Partager via


db_accessor

Regroupe db_column les attributs qui participent à IAccessorla 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.

Voir aussi

Attributs du consommateur OLE DB