db_param
Associa la variabile membro specificata a un parametro di input o output e delimita la variabile.
Sintassi
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
Parametri
Ordinale
Numero di colonna (ordinale DBCOLUMNINFO) corrispondente a un campo nel set di righe a cui associare i dati.
paramtype
(Facoltativo) Tipo da impostare per il parametro . I provider supportano solo i tipi di I/O di parametro supportati dall'origine dati sottostante. Il tipo è una combinazione di uno o più valori DBPARAMIOENUM:
DBPARAMIO_INPUT Parametro di input.
DBPARAMIO_OUTPUT Parametro di output.
DBPARAMIO_NOTPARAM La funzione di accesso non dispone di parametri. L'impostazione di
eParamIO
questo valore nelle funzioni di accesso alle righe ricorda all'utente che i parametri vengono ignorati.
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_param definisce i parametri usati nei comandi, pertanto viene usato con db_command
. Ad esempio, è possibile usare db_param per associare i parametri nelle query SQL o nelle stored procedure. I parametri in una stored procedure sono indicati da punti interrogativi (?) ed è necessario associare i membri dati nell'ordine in cui vengono visualizzati i parametri.
db_param delimita i dati dei membri che possono partecipare all'associazione basata su OLE DBICommandWithParameters
. Imposta il tipo di parametro (input o output), il tipo OLE DB, la precisione, la scala, lo stato e la lunghezza per il parametro specificato. Questo attributo inserisce le macro consumer OLE DB BEGIN_PARAM_MAP ... END_PARAM_MAP. Ogni membro contrassegnato con l'attributo db_param occupa una voce nella mappa sotto forma di COLUMN_ENTRY.
db_param viene usato 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.
Esempio
Nell'esempio seguente viene creata una classe di comando basata sulla stored procedure SalesbyYear nel database Northwind. Associa il primo parametro della stored procedure alla m_RETURN_VALUE
variabile e lo definisce come parametro di output. Associa gli ultimi due parametri (input) a m_Beginning_Date
e m_Ending_Date
.
Nell'esempio seguente la nOutput
variabile viene associata a un parametro di output.
// db_param.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_source(L"my_connection_string"),
db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }")
]
struct CSalesbyYear {
DBSTATUS m_dwShippedDateStatus;
DBSTATUS m_dwOrderIDStatus;
DBSTATUS m_dwSubtotalStatus;
DBSTATUS m_dwYearStatus;
DBLENGTH m_dwShippedDateLength;
DBLENGTH m_dwOrderIDLength;
DBLENGTH m_dwSubtotalLength;
DBLENGTH m_dwYearLength;
// Bind columns
[ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
[ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
[ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
[ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];
// Bind parameters
[ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
[ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
[ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};
Requisiti
Contesto attributo | Valore |
---|---|
Si applica a | class , , struct membro, metodo, locale |
Ripetibile | No |
Attributi obbligatori | None |
Attributi non validi | None |
Per altre informazioni sui contesti di attributi, vedere Contesti di attributi.