db_param
Associa a variável de membro especificada a um parâmetro de entrada ou saída e delimita a variável.
Sintaxe
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
Parâmetros
ordinal
O número da coluna (DBCOLUMNINFO ordinal) correspondente a um campo no conjunto de linhas ao qual associar dados.
paramtype
(Opcional) O tipo a ser definido para o parâmetro. Os provedores dão suporte apenas a tipos de E/S de parâmetro com suporte na fonte de dados subjacente. O tipo é uma combinação de um ou mais valores DBPARAMIOENUM:
DBPARAMIO_INPUT Um parâmetro de entrada.
DBPARAMIO_OUTPUT Um parâmetro de saída.
DBPARAMIO_NOTPARAM O acessador não tem parâmetros. A configuração
eParamIO
para esse valor em acessadores de linha lembra o usuário de que os parâmetros são ignorados.
dbtype
(Opcional) Um Indicador de Tipo OLE DB para a entrada da coluna.
precisão
(Opcional) A precisão a ser usada para a entrada da coluna. Para detalhes, confira a descrição do elemento bPrecision
da estrutura DBBINDING
scale
(Opcional) A escala a ser usada para a entrada da coluna. Para detalhes, confira a descrição do elemento bScale
da estrutura DBBINDING
status
(Opcional) Uma variável de membro usada para manter o status desta coluna. O status indica se o valor da coluna é um valor de dados ou algum outro valor, como NULL. Para valores possíveis, confira Status na Referência do Programador OLE DB.
length
(Opcional) Uma variável de membro usada para manter o tamanho da coluna em bytes.
Comentários
db_param define parâmetros que você usa em comandos; portanto, você o usa com db_command
. Por exemplo, você pode usar db_param para associar parâmetros em consultas SQL ou procedimentos armazenados. Os parâmetros em um procedimento armazenado são indicados por pontos de interrogação (?) e você deve associar os membros de dados na ordem em que os parâmetros aparecem.
db_param delimita dados de membro que podem participar da associação baseada em ICommandWithParameters
OLE DB. Ele define o tipo de parâmetro (entrada ou saída), tipo OLE DB, precisão, escala, status e comprimento do parâmetro especificado. Esse atributo insere as macros de consumidor OLE DB BEGIN_PARAM_MAP... END_PARAM_MAP. Cada membro marcado com o atributo db_param ocupará uma entrada no mapa na forma de uma COLUMN_ENTRY.
db_param é usado em conjunto com os atributos db_table ou db_command.
Quando o provedor de atributos de consumidor aplica esse atributo a uma classe, o compilador renomeia a classe como _YourClassNameAccessor, em que YourClassName é o nome que você deu à classe, e o compilador também criará uma classe chamada YourClassName, que deriva de _YourClassNameAccessor. No Modo de Exibição de Classe, você verá ambas as classes.
Exemplo
O exemplo a seguir cria uma classe de comando com base no procedimento armazenado SalesbyYear no banco de dados da Northwind. Ele associa o primeiro parâmetro no procedimento armazenado à variável m_RETURN_VALUE
e o define como um parâmetro de saída. Ele associa os dois últimos parâmetros (entrada) a m_Beginning_Date
e m_Ending_Date
.
O exemplo a seguir associa a variável nOutput
a um parâmetro de saída.
// 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;
};
Requisitos
Contexto do atributo | Valor |
---|---|
Aplicável ao | class , struct , membro, método, local |
Repetível | Não |
Atributos obrigatórios | Nenhum |
Atributos inválidos | Nenhum |
Para obter mais informações sobre os contextos de atributo, confira Contextos de atributo.