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()
}