Создаем проект 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.