db_column
Associa uma coluna especificada a uma variável no conjunto de linhas.
Sintaxe
[ db_column(ordinal, dbtype, precision, scale, status, length) ]
Parâmetros
ordinal
O número da coluna ordinal (ordinal DBCOLUMNINFO
) ou o nome da coluna (cadeia de caracteres ANSI ou Unicode) correspondente a um campo no conjunto de linhas ao qual associar dados. Se você usar números, poderá ignorar ordinais consecutivos (por exemplo: 1, 2, 3, 5). O nome poderá conter espaços se o provedor OLE DB utilizado der suporte a eles. Por exemplo, você pode usar qualquer um dos seguintes formatos:
[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];
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 obter 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
A db_column associa a coluna de tabela especificada a uma variável no conjunto de linhas. Ela delimita dados de membro que podem participar da associação baseada em IAccessor
do OLE DB. Esse atributo configura o mapa de coluna normalmente definido usando as macros de consumidor do OLE DB BEGIN_COLUMN_MAP, END_COLUMN_MAP e COLUMN_ENTRY. Elas manipulam a estrutura DBBINDING do OLE DB para associar a coluna especificada. Cada membro marcado com o atributo db_column ocupará uma entrada no mapa na forma de uma entrada de coluna. Portanto, você chama esse atributo de onde colocaria o mapa de coluna, ou seja, na classe de comando ou tabela.
Use db_column 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.
Para obter um exemplo desse atributo usado em um aplicativo, consulte MultiRead.
Exemplos
Este exemplo associa uma coluna em uma tabela a um membro de dados long
e especifica campos de status e comprimento.
// 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;
};
Este exemplo associa quatro colunas a um long
, uma cadeia de caracteres, um carimbo de data/hora e um inteiro DB_NUMERIC
, nessa ordem.
// 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;
};
Requisitos
Contexto do atributo | Valor |
---|---|
Aplicável ao | class , struct membro, método |
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.