db_accessor
Agrupa atributos db_column
que participam de associação baseada em IAccessor
.
Sintaxe
[ db_accessor(num, auto) ]
Parâmetros
num
Especifica o número do acessador (um índice inteiro baseado em zero). Você deve especificar números de acessador em ordem crescente, usando inteiros ou valores definidos.
auto
Um valor booliano que especifica se o acessador é recuperado automaticamente (TRUE) ou não (FALSE).
Comentários
O db_accessor define o acessador OLE DB subjacente para atributos subsequentes db_column
e db_param
na mesma classe ou função. O db_accessor é utilizável no nível do membro e é usado para agrupar atributos db_column
que participam da associação baseada em OLE DB IAccessor
. Ele é usado em conjunto com os atributos db_table
ou db_command
. Chamar esse atributo é semelhante a chamar as macros BEGIN_ACCESSOR e END_ACCESSOR.
O db_accessor gera um conjunto de linhas e o associa aos mapas do acessador correspondente. Se você não chamar db_accessor, o acessador 0 será gerado automaticamente e todas as associações de coluna serão mapeadas para esse bloco do acessador.
O db_accessor agrupa associações de coluna de banco de dados em um ou mais acessadores. Confira uma discussão detalhada dos cenários nos quais você precisa usar vários acessadores em Uso de vários acessadores em um conjunto de linhas. Consulte também "Suporte de registro de usuário para vários acessadores" em Registros de usuário.
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 usa o db_accessor para agrupar colunas na tabela Pedidos do banco de dados Northwind em dois acessadores. O acessador 0 é um acessador automático e o acessador 1 não o é.
// cpp_attr_ref_db_accessor.cpp
// compile with: /LD /link /OPT:NOREF
#define _ATL_ATTRIBUTES
#include <atlbase.h>
#include <atldbcli.h>
[ db_command(L"SELECT LastName, FirstName FROM Orders") ]
class CEmployees {
public:
[ db_accessor(0, TRUE) ];
[ db_column("1") ] LONG m_OrderID;
[ db_column("2") ] TCHAR m_CustomerID[6];
[ db_column("4") ] DBTIMESTAMP m_OrderDate;
[ db_accessor(1, FALSE) ];
[ db_column("8") ] CURRENCY m_Freight;
};
Requisitos
Contexto do atributo | Valor |
---|---|
Aplicável ao | Blocos de atributo |
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.