Подключение к БД
Для подключения к базе данных следует создать объект типа CDataSource, затем объект типа CSession. Далее, уже используя объект "сеанс", можно реализовывать работу с таблицами базы данных.
В следующем примере иллюстрируется подключение к базе данных с использованием OLE DB провайдера, создание сеанса и получение доступа к таблице TBL1:
#include <atldbcli.h>
CDataSource con; CSession session;
CTable<CAccessor<CTBL1> > Tbl1; // Аксессор использует // класс записи CTBL1
// Устанавливаем соединение с базой данных con.Open(CLSID_MSDASQL,"MyDB1","user1","psw1"); // Создаем сеанс session.Open(connection); // Открываем таблицу c именем TBL1 (создаем результирующий набор). // Структура таблицы должна соответствовать классу записи CTBL1 Tbl1.Open(session, "TBL1"); // Извлекаем данные из результирующего набора while (Tbl1.MoveNext() == S_OK) { cout << Tbl1.m_szF1; // Записываем в стандартный // поток вывода значение // первого поля (класс CTBL1) cout << Tbl1.m_szF2; } // Класс записи CTBL1 class CTBL1 { public: // Поля записи CHAR m_szF1[10]; CHAR m_szF2[12]; short m_nF3; // Таблица связывания столбцов // Каждый вход таблицы сопоставляет номер столбца // с полем в классе записи. BEGIN_COLUMN_MAP(CTBL1) COLUMN_ENTRY(1, m_szF1) COLUMN_ENTRY(2, m_szF2) COLUMN_ENTRY(3, m_nF3) END_COLUMN_MAP()