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 руб./мес


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




 40 - Пробуем CDaoNavigator / DAO / Visual C++

Шаг 40 - Пробуем CDaoNavigator

Итак, у нас есть навигатор. Давайте посмотрим, как он будет работать с обычным проектом. Создаем проект с именем TestDao1 на базе диалогового окна. Создадим некую базу данных. Имя у нее TestDAO1, а в ней таблица Piple. Вот она.

40_1.gif (2284 b)

Добавляем наш класс из компонентов.

40_2.gif (2557 b)

Подключаем описание его к классу диалога.

///////////////////////////
// CTestDao1Dlg dialog

#include "DaoNavigator.h"

class CTestDao1Dlg : public CDialog
{
// Construction
public:
	CTestDao1Dlg(CWnd* pParent = NULL);	// standard constructor
	CDaoNavigator  cNavigator;
// Dialog Data

Создаем набор записей на основе таблице в базе данных.

40_3.gif (2383 b)

Теперь этот набор записей как Foreig Class для диалогового окна, ну и стандартный код.

CTestDao1Dlg::CTestDao1Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTestDao1Dlg::IDD, pParent)
{
	m_pSet = new CSet();
	m_pSet->Open(); 
}
......
void CTestDao1Dlg::OnDestroy() 
{
	CDialog::OnDestroy();
	delete m_pSet;	
}

В OnInitDialog настраиваем навигатора.

BOOL CTestDao1Dlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	cNavigator.SetRecordset(m_pSet); 
	......
}

Ну а теперь элементы управления на диалоговое окно, кнопки, код к ним.

void CTestDao1Dlg::OnButtonFirst() 
{
	SaveData();
	cNavigator.OnButtonFirst(); 
	UpdateData(FALSE);	
}

void CTestDao1Dlg::OnButtonLast() 
{
	SaveData();
	cNavigator.OnButtonLast(); 
	UpdateData(FALSE);	
}

void CTestDao1Dlg::OnButtonNext() 
{
	SaveData();
	cNavigator.OnButtonNext(); 
	UpdateData(FALSE);
}

void CTestDao1Dlg::OnButtonPrev() 
{
	SaveData();
	cNavigator.OnButtonPrev(); 
	UpdateData(FALSE);
}

Функция SaveData Вам известна из прошлых шагов. Как видите применение класса навигации просто сэкономило нам время. Самое главное всегда его применять, если в нем ошибка исправить надо будет один раз, в одном классе.


Загрузить проект | | |
Автор Каев Артем.
[AD]