Partage via


db_column

Lie une colonne spécifiée à une variable dans l’ensemble de lignes.

Syntaxe

[ db_column(ordinal, dbtype, precision, scale, status, length) ]

Paramètres

ordinal
Numéro de colonne ordinal (DBCOLUMNINFO ordinal) ou nom de colonne (chaîne ANSI ou Unicode) correspondant à un champ de l’ensemble de lignes auquel lier des données. Si vous utilisez des nombres, vous pouvez ignorer les ordinals consécutifs (par exemple : 1, 2, 3, 5). Le nom peut contenir des espaces si le fournisseur OLE DB que vous utilisez le prend en charge. Par exemple, vous pouvez utiliser l’un des formats suivants :

[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];

dbtype
(Facultatif) Indicateur de type OLE DB pour l’entrée de colonne.

precision
(Facultatif) Précision à utiliser pour l’entrée de colonne. Pour plus d’informations, consultez la description de l’élément bPrecision de la structure DBBINDING

scale
(Facultatif) Échelle à utiliser pour l’entrée de colonne. Pour plus d’informations, consultez la description de l’élément bScale de la structure DBBINDING

statut
(Facultatif) Variable membre utilisée pour contenir l’état de cette colonne. L’état indique si la valeur de colonne est une valeur de données ou une autre valeur, telle que NULL. Pour connaître les valeurs possibles, consultez État dans la référence du programmeur OLE DB.

length
(Facultatif) Variable membre utilisée pour contenir la taille de la colonne en octets.

Notes

db_column lie la colonne de table spécifiée à une variable dans l’ensemble de lignes. Il délimite les données membres qui peuvent participer à la liaison basée sur OLE DB IAccessor. Cet attribut configure la carte de colonnes normalement définie à l’aide des macros consommateur OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP et COLUMN_ENTRY. Ils manipulent la structure DBBINDING OLE DB pour lier la colonne spécifiée. Chaque membre que vous marquez avec l’attribut db_column occupe une entrée dans la carte de colonnes sous la forme d’une entrée de colonne. Par conséquent, vous appelez cet attribut où vous placez le mappage de colonnes, autrement dit, dans la classe de commande ou de table.

Utilisez db_column conjointement avec les attributs db_table ou db_command .

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.

Pour obtenir un exemple de cet attribut utilisé dans une application, consultez MultiRead.

Exemples

Cet exemple lie une colonne d’une table à un long membre de données et spécifie l’état et les champs de longueur.

// db_column_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   DBSTATUS m_dwProductIDStatus;
   DBLENGTH m_dwProductIDLength;

   [ db_column("1", status="m_dwProductIDStatus", length="m_dwProductIDLength") ] LONG m_ProductID;
};

Cet exemple lie quatre colonnes à une longchaîne de caractères, un horodatage et un DB_NUMERIC entier, dans cet ordre.

// db_column_2.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   [db_column("1")] LONG m_OrderID;
   [db_column("2")] TCHAR m_CustomerID[6];
   [db_column("4")] DB_NUMERIC m_OrderDate;
   [db_column("7", dbtype="DBTYPE_NUMERIC")] DB_NUMERIC m_ShipVia;
};

Spécifications

Contexte d’attribut Value
S’applique à class, membre struct, méthode
Renouvelable Non
Attributs requis Aucun
Attributs non valides Aucun

Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.

Voir aussi

Attributs du consommateur OLE DB
Attributs de classe