In questo esempio emette una semplice query con parametri che recupera i record con un campo di età (che è maggiore di 30) da una tabella in un database Microsoft Access. Per supportare il parametro, il record utente deve avere una mappa supplementare. Il codice utilizza la classe CCommand anziché la classe CTable utilizzata nell'esempio precedente, l'attraversamento di un semplice set di righe.
# include lt;atldbcli.h >
CDataSource connessione;
CSession sessione;
CCommand < CAccessor <CArtists> > artisti;
connessione.Aperto (CLSID_MSDASQL, "NWind", "sa", "");
sessione.Open(Connection);
/ / Imposta il parametro per la query
Artists.m_nAge = 30;
artisti.Aperto (sessione, "Seleziona * da artisti di età dove >?");
/ / Ottenere dati dal set di righe
mentre (artisti.MoveNext () = = S_OK)
{
cout << artists.m_szFirstName;
cout << artists.m_szLastName;
}
Record utente, CArtists , assomiglia a questo:
classe CArtists
{
pubblica:
/ / Elementi di dati
CHAR m_szFirstName [20];
CHAR m_szLastName [30];
breve m_nAge;
/ / output mappa associazione
BEGIN_COLUMN_MAP(CArtists)
COLUMN_ENTRY, m_szFirstName (1)
COLUMN_ENTRY, m_szLastName (2)
COLUMN_ENTRY, m_nAge (3)
END_COLUMN_MAP()
/ / parametro binding mappa
BEGIN_PARAM_MAP(CArtists)
COLUMN_ENTRY, m_nAge (1)
END_PARAM_MAP
}