W tym przykładzie kwestie kwerenda parametryczna proste pobiera rekordy z pola wiek, (który jest większa niż 30) z tabeli w bazie danych programu Microsoft Access. Aby obsługiwać parametr, rekord użytkownika musi mieć dodatkowe mapę. Kod klasy CCommand używa, zamiast klasy CTable , używany w poprzednim przykładzie, Przechodzenie przez prosty zestaw wierszy.
# include lt;atldbcli.h >
CDataSource połączenia;
CSession sesji;
CCommand < CAccessor <CArtists> > artystów;
połączenie.Otwórz (CLSID_MSDASQL, "NWind", "sa", "");
sesja.Open(Connection);
/ / Set parametr kwerendy
Artists.m_nAge = 30;
artystów.Otwórz (sesji, "Wybierz * artystów gdzie wiek >?");
/ / Pobieranie danych z zestawu wierszy
podczas (artystów.MoveNext() == wartość S_OK)
{
Cout << artists.m_szFirstName;
Cout << artists.m_szLastName;
}
Rekordu użytkownika, CArtists , wygląda podobnie do następującej:
klasa CArtists
{
publiczne:
/ / Elementów danych
CHAR m_szFirstName [20];
CHAR m_szLastName [30];
krótkie m_nAge;
/ Wyjście mapie wiążący
BEGIN_COLUMN_MAP(CArtists)
COLUMN_ENTRY (1, m_szFirstName)
COLUMN_ENTRY (2, m_szLastName)
COLUMN_ENTRY (3, m_nAge)
END_COLUMN_MAP()
/ / Parametr wiążące mapę
BEGIN_PARAM_MAP(CArtists)
COLUMN_ENTRY (1, m_nAge)
END_PARAM_MAP
}