Шаг 1 - Открытие базы данных

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


Следующий Шаг | Оглавление
Автор Каев Артем - 08.09.99