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 long
oggetto , 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 , , struct membro, metodo |
Ripetibile | No |
Attributi obbligatori | None |
Attributi non validi | None |
Per altre informazioni sui contesti di attributi, vedere Contesti di attributi.