Создаем проект Win32 Console. И еще вам нужно будет создать Базу данных в Access. Запустите его создайте базу db1.mdb или другую. Но будьте осторожны при реализации кода. В ней таблицу Table1, а в таблице поля.
ID - Счетчик
Family - Текстовый
Count - Числовой (длинное целое)
Внесите туда несколько записей.
Создаем код:
#include "iostream.h" #include "afxwin.h" #include "afxdao.h" void main() { DAODBEngine* pDBEngine; CDaoDatabase *db; AfxDaoInit(); pDBEngine = AfxDaoGetEngine(); ASSERT( pDBEngine != NULL ); db=new CDaoDatabase(); db->Open("d:/db1.mdb"); if (db->IsOpen()) { cout << db->GetName() << endl; db->Close(); } delete db; delete pDBEngine; }
Первыми строками мы подключаем необходимые классы. Afxdao.h как раз и включает в себя классы для работы с базами данных.
DAODBEngine указатель на ядро базы данных, в котором находится вся программная реализация для работы.
CDaoDatabase Обьект связи с базой данных. Именно с помощью его происходит работа с базой, таблицей, записью. Соотвественно этот обьект устанавливает связь с инициализированным ядром базы данных.
AfxDaoInit производит инициализацию(запуск) работы с DAO, после этого появляется возможность обращаться к функциям работы с базой данных.
Далее мы получаем указатель на ядро базы данных. И естественно проверяем на то, что это можно сделать. Ведь работа с DAO реализована через системные DLL и еще необходимы правильные настройки реестра, и только при всех этих условиях ядро будет полученно и запущено.
После успеха инициализации и запуска ядра мы можем создать обьект CDaoDatabase для установки связи с таблицами. Пока это просто обьект.
А вот функцией Open устанавливаем конкретную связь. Эта связь строится на основе имени базы данны. Естественно открыть базу можно не всегда, поэтому IsOpen дает возможность проверки на открытие.
И если связь базы с обьектом состоялась, есть возможность пользоваться функциями. Например, получить название базы с которой установлена связь.
После работы связь нужно разорвать функцией Close.