Видача запитом

У цьому прикладі питання прості запитом, яка отримує записи з полем віку (що більше, ніж 30) з таблиці в базі даних Microsoft Access. Для підтримки параметр, запис користувача потрібно мати додаткові карти. Код використовує CCommand клас замість класу CTable , що використовується в попередньому прикладі, Перетинаючи простий набір рядків.

# включити lt;atldbcli.h >

CDataSource з'єднання;
CSession сесії;
CCommand < CAccessor <CArtists> > Художники;
 
підключення.Відкрити (CLSID_MSDASQL, "NWind", "sa", "");
сесії.Open(Connection);
 
/ / Встановити параметр запиту
Artists.m_nAge = 30;
художників.Відкрити (сесії, "виберіть * з художників, де вік >?");
 
/ / Отримати дані з на набір рядків
під час (художників.MoveNext() = = S_OK)
{
   суд << artists.m_szFirstName;
   суд << artists.m_szLastName;
}

Користувача запису, CArtists , виглядає наступним чином:

клас CArtists
{
готелю:
/ / Елементів даних
   CHAR m_szFirstName [20];
   CHAR 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
}

До типових OLE DB споживача сценаріїв (приклад)

Index