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 long
chaî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 | Valeur |
---|---|
S’applique à | class , membre struct , méthode |
Renouvelable | Non |
Attributs requis | Aucun(e) |
Attributs non valides | Aucun(e) |
Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.