Compartilhar via


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.

Confira também

Atributos de consumidor do OLE DB