C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 7 - Создаем файл базы / DAO / Visual C++

Шаг 7 - Создаем файл базы

Давно не пополнялся этот раздел. 
Теперь мы пойдем другим путем. Начнем все создавать.
И с графическим интерфейсом.

Задача наша такая. Нам надо создать файл базы данных MDB. Для начала сгененируйте приложение с использованием AppWizard на основе диалогового окна. Поместите в окно поле редактирования и кнопку Create Base. Кнопку OK удалите просто :-)

7_1.gif (1437 b)

Теперь нам надо создать переменную соответствующую полю редактирования и событие реакции на нажатие кнопки.

class CCteateMDBDlg : public CDialog
{
	......
// Dialog Data
	//{{AFX_DATA(CCteateMDBDlg)
	enum { IDD = IDD_CTEATEMDB_DIALOG };
	CString	m_MDB_Name;
	......

void CCteateMDBDlg::OnButton1() 
{


}

Для работы с функциями DAO нам надо подключить заголовочный файл. Вот так:

// CteateMDBDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CteateMDB.h"
#include "CteateMDBDlg.h"
#include "afxdao.h"
......

Вот можно писать код. Смотрите:

void CCteateMDBDlg::OnButton1() 
{
	CDaoWorkspace* cw=NULL; 
	CDaoDatabase* cd=NULL;

	UpdateData();

	try
	{
		cw=new CDaoWorkspace(); 
		cd = new CDaoDatabase(cw);
		cd->Create(m_MDB_Name); 
		cd->Close();
		cw->Close();
		delete cd;
		delete cw;
	}

	catch(CDaoException* cDaoError)
	{
		if (cd!=NULL) 
		{
			cd->Close();
			delete cd;
		}
		if (cw!=NULL) 
		{
			cw->Close();
			delete cw;
		}

		AfxMessageBox(cDaoError->m_pErrorInfo->m_strDescription);
	}
}

Я создаю рабочую область и на основе ее базу данных. В классе базы данных есть функция Create, которая уммет создавать файл базы данных.

virtual void Create( LPCTSTR lpszName, 
	LPCTSTR lpszLocale = dbLangGeneral, int dwOptions = 0 );
throw( CDaoException, CMemoryException );

Ну и все :-) Да, я использовал try для защиты от ошибок создания базы данных. И класс, который возвращается в результате исключения для того, чтобы вывести сообщение об ошибке. Это сообщение есть краткое описание ошибки.


| |
Автор Каев Артем.
[AD]