Using Múltiplo Accessors on a Rowset

Este exemplo usa Múltiplo acessadores para recuperar um conjunto de dados. Um aplicativo pode usar Múltiplo acessadores para otimizar o acesso aos dados. O conjunto de linhas recupera um bloco de dados que podem ser usados por Múltiplo acessadores. (O acessador é definido nos Registros de usuário OLE DB).

# include lt;atldbcli.h >

CDataSource conexão;
Sessão CSession;
CTable < CAccessor <CMultiArtists> > artistas;
 
/ / Conectar o banco de dados, sessão e acessadores
conexão.Aberta (CLSID_MSDASQL, "NWind", "sa", "");
sessão.Open(Connection);
artistas.Open (sessão, "artistas");
 
/ / Recuperar os dados
ao mesmo tempo (artistas.MoveNext() = = S_OK)
{
   Cout << artists.m_szFirstName;
   Cout << artists.m_szLastName;
   artistas.GetData(1);   / / Recuperar dados para outro acessador
   Cout << artists.m_nAge;
}

Registro do usuário se parece com isso:

classe CMultiArtists
{
público:
/ / Elementos de dados
   CHAR m_szFirstName [20];
   CHAR m_szLastName [30];
   m_nAge curto;
 
/ / saída de mapa de ligação
BEGIN_ACCESSOR_MAP (CMultiArtists, 2)
   BEGIN_ACCESSOR (0, true)
    COLUMN_ENTRY (1, m_szFirstName)
    COLUMN_ENTRY (2, m_szLastName)
   END_ACCESSOR(0)
   BEGIN_ACCESSOR (1, falso) / / não um acessador automático
    COLUMN_ENTRY (3, m_nAge)
   END_ACCESSOR()
END_ACCESSOR_MAP()
}

Voltar para cenários comuns de OLE DB consumidor (exemplos)

Index