Этот пример выдает представлен простой параметризированный запрос, который извлекает записи с полем возраст (со значением больше 30) из таблицы в базе данных Microsoft Access. Для поддержки параметра пользовательская запись должна иметь дополнительную схему. В коде используется класс CCommand вместо того класса CTable , используемого в предыдущем примере, Обход простого набора строк.
# include lt;atldbcli.h >
CDataSource связь;
CSession сессии;
CCommand < CAccessor <CArtists> > художники;
связь.Открытый (CLSID_MSDASQL, «NWind», «СА», "");
сессия.Open(Connection);
/ / Установить для параметра для запроса
Artists.m_nAge = 30;
художники.Открытый (сессия, "выберите * от художников где возраст >?");
/ / Получить данные из набора строк
во время (художники.MoveNext() == S_OK)
{
Cout << artists.m_szFirstName;
Cout << artists.m_szLastName;
}
Записи пользователя CArtists , выглядит как это:
класс CArtists
{
общественности:
/ / Элементы данных
Чар m_szFirstName [20];
Чар m_szLastName [30];
короткие m_nAge;
/ / вывод привязки карты
BEGIN_COLUMN_MAP(CArtists)
COLUMN_ENTRY (1, m_szFirstName)
COLUMN_ENTRY (2, m_szLastName)
COLUMN_ENTRY (3, m_nAge)
END_COLUMN_MAP()
/ / параметр Привязка карты
BEGIN_PARAM_MAP(CArtists)
COLUMN_ENTRY (1, m_nAge)
END_PARAM_MAP
}