Condividi tramite


db_column

Associa una colonna specificata a una variabile nel set di righe.

Sintassi

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

Parametri

Ordinale
Numero di colonna ordinale (DBCOLUMNINFO ordinale) o nome colonna (stringa ANSI o Unicode) corrispondente a un campo nel set di righe a cui associare i dati. Se si usano numeri, è possibile ignorare ordinali consecutivi (ad esempio: 1, 2, 3, 5). Il nome può contenere spazi se il provider OLE DB usato lo supporta. Ad esempio, è possibile usare uno dei formati seguenti:

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

dbtype
(Facoltativo) Indicatore del tipo OLE DB per la voce di colonna.

precision
(Facoltativo) Precisione da utilizzare per la voce di colonna. Per informazioni dettagliate, vedere la descrizione dell'elemento bPrecision della struttura DBBINDING

scale
(Facoltativo) Scala da utilizzare per la voce di colonna. Per informazioni dettagliate, vedere la descrizione dell'elemento bScale della struttura DBBINDING

status
(Facoltativo) Variabile membro utilizzata per contenere lo stato di questa colonna. Lo stato indica se il valore della colonna è un valore di dati o un altro valore, ad esempio NULL. Per i valori possibili, vedere Status in OLE DB Programmer's Reference (Informazioni di riferimento sul programmatore OLE DB).

length
(Facoltativo) Variabile membro utilizzata per contenere le dimensioni della colonna in byte.

Osservazioni:

db_column associa la colonna di tabella specificata a una variabile nel set di righe. Delimita i dati dei membri che possono partecipare all'associazione basata su OLE DB IAccessor. Questo attributo configura la mappa delle colonne normalmente definita usando le macro consumer OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP e COLUMN_ENTRY. Questi modificano la struttura OLE DB DBBINDING per associare la colonna specificata. Ogni membro contrassegnato con l'attributo db_column occupa una voce nella mappa delle colonne sotto forma di voce di colonna. Di conseguenza, si chiama questo attributo in cui si inserisce la mappa delle colonne, ovvero nel comando o nella classe di tabella.

Usare db_column insieme agli attributi db_table o db_command .

Quando il provider di attributi consumer applica questo attributo a una classe, il compilatore rinomina la classe in _YourClassNameFunzione di accesso, dove YourClassName è il nome assegnato alla classe e il compilatore creerà anche una classe denominata YourClassName, che deriva dalla funzione di accesso _YourClassName. In Visualizzazione classi verranno visualizzate entrambe le classi.

Per un esempio di questo attributo usato in un'applicazione, vedere MultiRead.

Esempi

In questo esempio viene associata una colonna di una tabella a un long membro dati e vengono specificati campi di stato e lunghezza.

// 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;
};

Questo esempio associa quattro colonne a un longoggetto , una stringa di caratteri, un timestamp e un DB_NUMERIC numero intero, in tale ordine.

// 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;
};

Requisiti

Contesto attributo Valore
Si applica a class, , structmembro, metodo
Ripetibile No
Attributi obbligatori None
Attributi non validi None

Per altre informazioni sui contesti di attributi, vedere Contesti di attributi.

Vedi anche

Attributi del consumer OLE DB
Attributi di classe