db_param
Associa la variabile membro specificato con un input o di output e delimita la variabile.
[ db_param(
ordinal,
paramtype="DBPARAMIO_INPUT",
dbtype,
precision,
scale,
status,
length
) ]
Parametri
ordinal
Il numero delle colonneDBCOLUMNINFO ordinale) che corrisponde a un campo del rowset che per l'associazione dati.paramtype (facoltativo)
Il tipo da impostare per il parametro. I provider supportano solo i tipi di parametro I/O supportati dall'origine dati sottostante. il tipo è una combinazione di uno o più DBPARAMIOENUM valori:DBPARAMIO_INPUT un parametro di input.
DBPARAMIO_OUTPUT un parametro di output.
DBPARAMIO_NOTPARAM La funzione di accesso non dispone di parametri. impostare eParamIO in questo valore nella riga le funzioni di accesso e riproposta all'utente che i parametri vengono ignorati.
dbtype (facoltativo)
Un OLE DB Indicatore del tipo per la voce della colonna.precisione (facoltativo)
La precisione da utilizzare per la voce della colonna. Per informazioni dettagliate, vedere la descrizione di bPrecision elemento di struttura di DBBINDINGridimensionamento (facoltativo)
La scala da utilizzare per la voce della colonna. Per informazioni dettagliate, vedere la descrizione di bScale elemento di struttura di DBBINDINGlo stato (facoltativo)
Una variabile membro utilizzato per utilizzare 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 lo stato in OLE DB Programmer's Reference.durata (facoltativo)
Una variabile membro utilizzato per utilizzare la dimensione della colonna in byte.
Note
db_param definisce i parametri utilizzati nei controlli; quindi si utilizzano db_command. Ad esempio, è possibile utilizzare db_param i parametri di correlazione nelle query SQL o stored procedure. I parametri in una stored procedure sono mostrati i punti interrogativi (?) ed è necessario associare i membri dati nell'ordine in cui i parametri vengono visualizzati.
db_param delimita i dati dei membri che possono partecipare a OLE DB ICommandWithParametersassociazione basata. Imposta il tipo di parametro (di input o di output), il tipo di OLE DB, la precisione, scala, lo stato e la lunghezza per il parametro specificato. Questo attributo consente di inserire le macro BEGIN_PARAM_MAP… consumer OLE DB END_PARAM_MAP. Ogni membro di segnate con db_param l'attributo occuperà una voce nella mappa sotto forma COLUMN_ENTRY.
db_param viene utilizzato insieme a uno db_table o db_command attributi.
Quando il provider di tipo consumer di attributo applicato questo attributo a una classe, il compilatore la classe a _TheClassNamefunzione di accesso, dove TheClassName è il nome assegnato alla classe e il compilatore inoltre creata una classe denominata TheClassName, quale deriva da _TheClassNamefunzione di accesso. In Visualizzazione classi, verranno visualizzate entrambe le classi.
Esempio
Nell'esempio seguente viene creata una classe di comando basata sulla stored procedure di SalesbyYear nel database Northwind. Associa il primo parametro nella stored procedure con m_RETURN_VALUE la variabile e lo definisce come parametro di output. Associa gli ultimi due parametri di input () con m_Beginning_Date e m_Ending_Date.
Nell'esempio associato nOutput variabile con 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 di attributo
Si applica a |
classe, struct, membro, metodo, locale |
ripetibile |
No |
attributi obbligatori |
Nessuno |
attributi non validi |
Nessuno |
per ulteriori informazioni sui contesti di attributo, vedere Associare ai contesti.