Методичні вказівки до практичних робіт 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методичні вказівки до практичних робіт



МЕТОДИЧНІ ВКАЗІВКИ ДО ПРАКТИЧНИХ РОБІТ

  назва навчальної дисципліни ІНСТРУМЕНТАЛЬНІ ЗАСОБИ ВІЗУАЛЬНОГО ПРОГРАМУВАННЯ напрям підготовки 050103 Програмна інженерія спеціальність 5.05010301 Розробка програмного забезпечення   спеціалізація Молодший спеціаліст   відділення денне   2013 рік

Методичні вказівки до практичних робіт з дисципліни «Інструментальні засоби візуального програмування» для студентів спеціальності 5.05010301 Розробка програмного забезпеченняДенне відділення. / Укл. Т. С. Оліфіровська – Краматорськ: МК ДДМА, 2013. – 84 с.

 

 


 

ЗМІСТ

N з/п Назва теми Кількість годин Стор.
  Створення консольного додатка    
  Робота з класами та об'єктами у пакеті Visual C++    
  Створення додатка за допомогою класу MFC та обробка повідомлень    
  Програмування інтерфейсу користувача: меню    
  Програмування інтерфейсу користувача: кнопки, списки, лінійки    
  Програмування інтерфейсу користувача: діалогові вікна    
  Розробка додатка управління базою даних    
  ДОДАТОК А    
  ДОДАТОК Б    
  РЕКОМЕНДОВАНА ЛІТЕРАТУРА    

Практическая работа №1

Тема: «Створення простого консольного додатка за допомогою майстра Visual C + +»

Мета: навчитися користуватися майстром додатків Visual C + + і створювати прості програми на мові С + +

Завдання

1 Створити просте консольний додаток

2 У створеному консольному додатку написати і налагодити програму відповідно до варіанта. Варіант вибирається за списком в навчальному журналі

3 Задано матриця чисел: а [5] [5] Обчислити суму елементів, що утворюють символ

 

Вариант N 1 Вариант № 11 Вариант №21  
Вариант N 2 Вариант №12 Вариант №22  
Вариант N 3 Вариант № 13 Вариант №23
Вариант N 4 Вариант № 14       Вариант №24
Вариант N 5 Вариант №15 Вариант №25
Вариант N 6 Вариант №16 Вариант №26

 

Вариант N 7 Вариант №17   Вариант №27
Вариант N 8 Вариант №18   Вариант №28  
Вариант N 9 Вариант №19   Вариант №29
Вариант N 10 Вариант №20   Вариант №30

Хід роботи:

Рис.1.1 – Створення консольного додатка

 

Рис.1.2 – Створення консольного додатка

Рис. 1.3 – Приклад найпростішої програми Hello Word

 

Приклад виконання 1

 

«Створення простого консольного додатка за допомогою майстра Visual C + +»

Задана матриця чисел: а [5] [5] Обчислити суму елементів, що утворюють символ

#include "stdafx.h"

#include <stdlib.h>

#include <conio.h>

#include <stdio.h>

 

int matrix[5][5];

int main(int argc, char* argv[])

{

 

int j,i,Summ;

for (i = 0; i < 5; i++)

{

for (j = 0;j < 5; j++)

{

matrix[i][j] = rand() % 100;

printf("%i\t",matrix[i][j]);

}

printf("\n\n");

}

Summ = 0;

 

for (i = 0; i < 5; i++)

{

Summ += matrix[i][4]; // right column

 

if (i < 4) //для предотвращения суммирования вершин по нескольку раз

Summ += matrix[4][i]; //нижний ряд

 

if (i > 0 && i < 4) //для предотвращения суммирования вершин по нескольку раз

Summ += matrix[4-i][i]; // диагональ

}

printf("\n%i\t",Summ);

getch();

return 0;

}

Рис. 1.5 – Результат работы программы

 

КОНТРОЛЬНІ ЗАПИТАННЯ

 

1. Що таке консольний додаток, як його створити?

2. Что представляет собой среда Visual C+ +?

3. Что представляет собой библиотека MFC?

4. Назовите основные компоненты Visual C+ +?

5. Понятие и назначение отладчика программы?

6. Что представляют собой библиотеки?

 


Пример выполнения 2

#include "stdafx.h"

#include <stdlib.h>

#include <conio.h>

#include <stdio.h>

int matrix[5][5];

int main(int argc, char* argv[])

{

int j,i,Summ;

for (i = 0; i < 5; i++)

{

for (j = 0;j < 5; j++)

{

matrix[i][j] = rand() % 100;

printf("%i\t",matrix[i][j]);

}

printf("\n\n");

}

Summ = 0;

for (i = 0; i < 5; i++)

{

Summ += matrix[i][4]; // right column

Summ += matrix[i][0]; // left column

if (i < 4 && i > 0) //для предотвращения суммирования вершин по нескольку раз

{Summ += matrix[4][i];//нижний ряд

Summ += matrix[0][i];}//верхний ряд ряд

 

if (i > 0 && i < 4) //для предотвращения суммирования вершин по нескольку раз

{Summ += matrix[4-i][i]; // диагональ

if (i!=2)

Summ += matrix[i][i];

 

} // диагональ

}

printf("\n%i\t",Summ);

getch();

return 0;

}

Рис. 1.6 – Результат работы программы

Практична робота № 2

Тема: Робота з класами та об'єктами у пакеті Visual C + +

Мета: навчитися користуватися майстром додатків Visual C + + і створювати програми на мові С + +, працювати з класами і об'єктами.

 

Завдання:

Розробка повнофункціонального додатки для WINDOWS за допомогою засобу розробки Visual C + +

1. Ознайомиться з теоретичним матеріалом (див. перелік літератури і конспект лекцій). Приділити особливу увагу розділам, присвяченим принципам роботи середовища Visual C + +, основам мови програмування С + +, створенню додатків для Windows в середовищі Visual C + +.

2. Розробити алгоритм, що реалізує обчислення значення величини h при завданих величинах а, b, с, x. Індивідуальне завдання (див. табл.1).

3. Розробити макет інтерфейсу користувача (схем вікна додатка, діалогових вікон і т.д.) Продумати реалізацію графічного відображення результатів розрахунків.

4. З використанням засобів розробки Visual C + + створити програму, що реалізовує розроблений вами алгоритм в п.2 і розроблений макет для користувача інтерфейсу в п.3. Програма повинна включати в себе процедури обробки певних Вами подій.

Таблиця 1 - Індивідуальні завдання

h a b c x
  5,4
  1,2
  0,3
  0,4
  4,1
  2,4
  5,5
  4,6
  1,6
  4,6
  3,9
  4,1
  3,4
  1,9
  2,3
  4,2
  2,8
  1,3
  3,1
  2,4
  1,1
  3,1
  1,8
  2,1
  4,1
  5,3
  3,8
  4,2
  2,6
   

Примітка. Експонента - показова функція exp (x) =, де e - основа натуральних логарифмів (e = 2.7182818284590452...).

 

Хід роботи

1. Створити заготівлю діалогового додатка з використанням майстра AppWizard

 

 

 

 

2. Створити новий клас (см. рис. 2.1)

 

Рис. 2.1 – Створення нового класу

 

У вікні New Class (див. рис. 2.2) в полі Base class: вибрати базовий клас Cbutton (клас батько)

 

 

Рис. 2.2 – Створення нового класу

 

Далі перейдемо на вкладку Resource View, щоб відкрити форму для створення інтерфейсу нашої програми, як показано на рис. 2.3.

 

 

Рис. 2.3 - Відкриття форми для створення інтерфейсу програми

 

Тепер необхідно оголосити змінні для обчислення значень функцій. Для цього відкриємо вікно Add Member Variable, як показано на рис. 2.4.

 

 

Рис. 2.4 - Оголошення змінної а

 

Аналогічно додаємо змінні b і c і х.

Тепер необхідно оголосити функцію для обчислення значення функції. Для цього відкриємо вікно Add Member Function

 

 

 

Рис. 2.5 - Оголошення функції

 

Зайти в New Class і додати наступний код:

 

float new_class::summ_of_a_b()

{

float x;

x = this->a + this->b+ this->с;

return x;

}

 

Перенесемо конструктор і деструктор в розділ public файлу new_class.h (див. на рис. 2.6).

 

///////////////////////////////////////

public:

new_class();

float summ_of_a_b();

float c;

float b;

float a;

virtual ~new_class();

 

 

Рис. 2.6 - Перенесення конструктора і деструктора в розділ public

 

І записуємо значення змінних в конструкторі в файл new_class. cpp, як показано на рис. 2.7. У першому випадку представимо змінні а, b, с як константи, які приймають значення а = 1, b = 2, c = 3.

 

 

Рис. 2.7 - Опис значень змінних а, b, с

 

///////////////

new_class::new_class()

{

a=1;

b=2;

c=3;

}

 

Винести на форму необхідні елементи для представлення інтерфейсу як показано на рис. 2.8.

 

 

Рис. 2.8 - Можливий вид форми

 

Перейти на вкладку Resourse View, там вибрати пункт IDD_ (ім'я вашого проекту) _DIALOG і прописати їх властивості правою кнопкою миші вкладка Properties (Властивості) - відкриється діалогове вікно Edit Properties (див. рис. 2.9). Ця дія необхідно виконати, щоб зв'язати нашу змінну А з елементом Edit на формі.

Аналогічним чином повторюємо описану операцію і для інших змінних, в нашому випадку для змінних b, с, х.

 

 

Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі

 

Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі

 

На наступному кроці ми оголошуємо змінні програмно, для цього необхідно вибрати з головного меню View пункт View Class Wizard, потім перейти на вкладку Member Variables, як показано на рис. 2.10 і 2.11.

 

 

Рис. 2.10 - Вибір меню View пункт View Class Wizard

 

Рис. 2.11 - Діалогове вікно MFC Class Wizard

 

Створюємо змінну А. У діалоговому вікні оголошення змінної задаємо ім'я цієї змінної і її тип (див. рис. 2.12).

 

 

Рис. 2.12 - Створення змінної А

 

Аналогічним чином створюємо і інші змінні.

 

В результаті отримаємо форму, яка має наступний вигляд:

 

 

Рис. 2.13 - Можливий вид форми

 

Тепер нам необхідно створити обробники подій для наших елементів форми. Для цього необхідно двічі клацнути по елементу edit A і додати програмний код, як показано на рис. 2.14 (програмний код дивіться нижче).

 

 

Рис. 2.14 - Створення обробника події

 

Додайте код

void CPr_rab_2Dlg::OnChangeEditA()

{

UpdateData(TRUE);

}

КОНТРОЛЬНІ ЗАПИТАННЯ

 

1. Що називається класом об'єктів?

2. Дайте визначення поняттю клас?

3. Дайте визначення поняттю об'єкт?

4. Дайте визначення поняттю член класу?

5. Наведіть синтаксис опису класу?

6. Які змінні називаються даними-членами класу та функціями-членами класу?

7. Яку операцію називають операцією розширення області видимості, її форма запису?

8. Які ви знаєте специфікатори доступу до членів класу?

9. Що називається конструктором і деструктором в об'єктно-орієнтованому програмуванні, для чого вони служать?

 


Практична робота № 3

Тема: Створення додатка за допомог класу MFC та обробка повідомлень

Мета: навчитися користуватися майстром додатків Visual C + + і створювати обробники подій в середовищі Visual C + +

Завдання

1. Створити додаток, в якому по клацанню лівої кнопки мишки на малюнку буде виводитися вікно повідомлень «Ліва кнопка миші»

2. Створити додаток, в якому по кліку правої кнопки мишки буде виводитися наступний малюнок

3. Створити додаток, в якому здійснювалося б малювання за допомогою миші

Хід роботи:

Практическая работа № 4

Тема: Програмування інтерфейсу користувача: меню

 

Цель: Навчитися створювати користувальницьке меню

 

Завдання: Розробити користувача меню.

 

Перед Розработка меню необхідно створити додаток, заснований на діалозі, процес створення таких додатків опис вище в попередніх роботах.

Далі нам необхідно додати новий ресурс, тип нового ресурсу - меню. (insert-> resourse-> menu), як показано на малюнку 4.1.

 

 

Рис. 4.1 - Додавання нового ресурсу меню

 

Далі в Resource view ми бачимо новий пункт. Далі ми переступаємо до редагування зовнішнього вигляду нашого меню. У верхній частині вікна ми бачимо прямокутник, окреслений пунктирною лінією. Тиснемо на ньому правою кнопкою миші і вибираємо пункт properties (див. рис. 4.2).

 

 

Рис. 4.2 - Вікно властивостей меню

 

Таким чином, ми створили перший пункт нашого меню, створимо ще кілька пунктів нижче.

 

Рис. 4.3 - Створення меню

 

Хочу звернути вашу увагу на те, що при створенні першого пункту, прапорець pop-up був відзначений, що означає, що даний пункт меню служить для розміщення підменю, вкладених в нього, він не може мати власного ID.

 

Тепер спробуємо зробити кілька вкладених пунктів у другій пункт меню. Для цього у властивостях другого пункту необхідно встановити прапорець pop-up (див. рис.4.4).

 

 

Рис. 4.4 - Створення вкладених пунктів меню

 

Після виконання цієї дії правіше другого пункту меню ми побачимо прямокутник, окреслений пунктирною лінією, натиснувши на ньому правою кнопкою миші, ми можемо додати підпункт.

 

Рис. 4.5 - Створення вкладених пунктів меню

 

У Властивостях будь-якого з пунктів ми можемо встановити прапорець cheeked, при цьому правіше пункту меню з'явиться символ «пташка» (див. рис.4.6).

Рис. 4.6 - Установка прапорця cheeked

Далі ми повинні пов'язати наше меню з рештою проектом.

Для цього в ResourceView вибираємо наше головне діалогове вікно (див. рис. 4.7).

 

 

Рис. 4.7 - Головне вікно

 

Тиснемо на ньому правою кнопкою миші.

І в пункті меню (menu) вибираємо створене нами меню (див. рис. 4.8). При запуску проекту меню вже повинно з'явиться на головному вікні. Однак при виборі пунктів меню не виконуються ніякі дії.

 

 

Рис. 4.8 - Вибір створеного нами меню

 

Далі перейдемо в режим FileView і знайдемо файл menu_createDlg.h

Додамо наступний рядок:

CMenu m_menu;

Як показано на малюнку 4.9 нижче.

 

 

Рис. 4.9 - Додавання програмного коду для створення меню

 

A в файл menu_createDlg.cpp

код

m_menu.LoadMenu(IDR_MENU1);

SetMenu(&m_menu);

 

Як показано на малюнку 4.10.

Рис. 4.10 - Додавання програмного коду для створення меню

Далі необхідно прибрати раніше обраний нами у властивості вікна пункт меню (див. рис. 4.11).

 

 

Рис. 4.11 - Прибрати раніше обраний нами у властивості вікна пункт меню

 

Тепер переходимо на View-> ClassWizard-> MessageMaps. Далі зліва вибираємо пункт меню, правіше Command і тиснемо кнопку AddFunction.

 

 

Рис. 4.12 - Створення функції обробника реакції на обраний пункт меню

 

Рис. 4.12 - Створення функції обробника реакції на обраний пункт меню

 

Далі тиснемо кнопку editcode для переходу у вікно з програмним кодом і його редагування.

 

 

Рис. 4.13 - Вікно програми

 

Тепер ми можемо редагувати дії по натисненню даного пункту меню. Id в назві функції відповідає id пункту меню. Створимо на головній формі елемент edit і зв'яжемо його з змінної m_a і додамо наступний код в оброблювач (див. рис. 4.14, 4.15):

 

m_a=3;

UpdateData(FALSE);

У підсумку код обробника виглядає так:

 

void CMenu_createDlg::OnMenuitem32772()

{

// TODO: Add your command handler code here

m_a=3;

UpdateData(FALSE);

}

 

Рис. 4.14 - Створення на головній формі елемента edit

 

 

Рис. 4.15 - Створення змінної А

Тепер при натисканні третього пункту в edit виводиться значення 3 (дивіться вище код обробника), як показано на рис. 4.16.

 

 

Рис. 4.16 - Результати роботи програми

 

КОНТРОЛЬНІ ЗАПИТАННЯ

1. Назвіть послідовність етапів створення меню?

2. Як Створити обробнік меню, якімі способами Це можна здійсніті?

3. Назвіть послідовність етапів створення діалогового вікна?

4. Назвіть послідовність етапів створення діалогу за допомог класу?

 


 

Практична робота № 5

Створення ComboBox

 

Після такої підготовчої роботи приступаємо безпосередньо до ComboBox. Для початку подивимося, що треба зробити, щоб при появі діалогового вікна в ComboBox'е вже з'явився деякий список. Для цього нам спочатку треба виконати деякі попередні кроки.

Для того, щоб працювати з будь-яким елементом, в тому числі і з ComboBox, ми повинні створити йому деяку змінну. Для цього використовується такий засіб, як ClassWizard. Викличте його (Ctrl + W) і перейдіть на вкладку Member Variables. Зверніть увагу, що в рядку з ідентифікатором нашого ComboBox'а (IDC_COMBO1) нічого немає:

 

Натисніть на кнопку Add Variable. У вікні Add Member Variable додайте ім'я змінної (у нас це m_combo) і в категорії (Category) встановіть значення Control (див. рис. 5.3):

 

Рис. 5.3 - Створення комбінованого списку

 

Натисніть OK. Тепер у рядку ClassWizard для ідентифікатора IDC_COMBO1 з'явиться змінна m_cbComboBox типу CcomboBox (див. рис. 5.4):

 

Рис. 5.4 - Створення змінних типу CcomboBox

 

Те ж саме виконайте і для елемента ListBox.

Тепер нам треба написати заготовку для коду, який, який буде виконуватися при ініціалізації діалогу. Для цього знову викличте ClassWizard (якщо ви його вже закрили), перейдіть в ньому на вкладку MessageMaps, виберіть клас CSpiskiDlg в Class name, у списку Object IDs виберіть CSpiskiDlg, і в списку повідомлення виберіть WM_INITDIALOG (див. рис. 5.5):

 

Рис. 5.5 - Ініціалізація діалогу

 

Після цього натисніть в цьому ж діалоговому вікні на кнопку Add Function і потім на Edit Code. У вікні коду введіть наступний текст:

 

Операції з елементами

Розглянемо тепер операції з елементами ComboBox'а. Основні з них - це додавання в кінець списку (AddString, розглянута на минулому уроці), вставки (InsertString), видалення (DeleteString) і знаходження потрібної рядки (FindString). Їх використання ясно з наступного прикладу:

Для пошуку значення в списку (у нашому випадку для пошуку у списку міста Краматорськ) в елементі Button2 пишемо наступний код:

 

Else

{

CString s;

s.Format("Строка найдена на %d-м месте.",k);

AfxMessageBox(s);

};

}

 

Практична робота № 6

Практична робота № 7

Void CDBView::OnRecordAdd()

{

m_pSet->AddNew();

m_bAdding = TRUE;

CEdit* pCtrl = (CEdit*)GetDlgltem(IDC_USERID);

int result = pCtrl->SetReadOnly(FALSE);

UpdateData(FALSE);

}

8. У вікні ClassView клацніть правою кнопкою миші на елементі CDBView і виберіть в розкрився контекстному меню команду Add Virtual Function.

У лівому списку виберіть значення OnMove, як показано на рис. 7.7, а потім клацніть на кнопці Add and Edit. У результаті в клас буде додана функція і можна буде негайно отредактіроват заготівлю її тексту.

9. Відредагуйте функцію OnMove () так, щоб вона містила текст програми, наведений у лістингу.

 

Рис. 7.7 - Перевизначення функції OnMove

Лістинг функції CDBView::OnMove():

BOOL CDBView::OnMove(UNIT nIDMoveCommand)

{

if (m_bAdding) {

m_bAdding = FALSE;

UpdateData(TRUE);

if (m_pSet->CanUpdate())

m_pSet->Update();

m_pSet->Requery();

UpdateData(FALSE);

CEdit* pCtrl = (CEdit*)GetDlgltem(IDC_USERID);

pCtrI->SetReadOnIy(TRUE);

return TRUE;

} else

return CRecordView::OnMove(nIDMoveCommand);

}

10. Зробіть подвійне клацання на функції OnRecordDelete () і відредагуйте її так, щоб її код відповідав наведеному нижче лістингу. Пояснення до цього тексту будуть дані в наступному розділі.

Лістинг функції СDBView:: OnRecordDelete ():

Стандарт ODBC і DAO

 

Вибір між класами ODBC і DAO. MSVC + + надає набір класів для доступу до БД через ODBC і DAO. У багатьох відносинах DAO є для класів ODBC суперкласом, включаючи більшість функціональних можливостей ODBC і додаючи при цьому безліч своїх власних. На жаль, хоча класи DAO і можуть працювати з джерелами даних ODBC, для яких існують ODBC-драйвери, таке їхнє застосування не особливо ефективно. З цієї причини DAO-класи більше підходять для створення програмних додатків, що оперують файлами баз даних формату. Mdb фірми Microsoft, створюваних додатком Microsoft Access. Файли інших форматів, з якими можна працювати безпосередньо, використовуючи класи DAO, створюються додатками FoxPro і Excel.

Класи інтерфейсу DAO, які використовують додаток Microsoft Jet Database Engine, настільки схожі на класи інтерфейсу ODBC, що в деяких випадках можна шляхом простої зміни назви класу в тексті програми замінити інтерфейс доступу з ODBC на DAO: CDatabase змінюється на CDaoDatabase, CRecordset - на CDaoRecordset, a CRecordView - на CDaoRecordView. Однак між класами ODBC і DAO є істотна відмінність в тому, як реалізуються системні бібліотеки. ODBC-класи реалізовані як набір модулів DLL, в той час як класи DAO реалізовані у вигляді об'єктів OLE. Використання об'єктів OLE робить систему DAO кілька більш сучасною в порівнянні з ODBC, принаймні, у відношенні архітектури.

Хоча система DAO реалізована у вигляді об'єктів OLE, вам не доведеться турбуватися про роботу з подібними об'єктами безпосередньо. Вхідні в MFC класи DAO беруть обробку всіх деталей управління на себе, надаючи дані і методи, що забезпечують взаємодію з об'єктами OLE. Клас

CDaoWorkspace забезпечує за допомогою статичних методів прямий доступ до об'єктів ядра бази даних DAO. Хоча MFC бере керування робочою областю на себе, можна використовувати її дані і методи для безпосередньої ініціалізації зв'язку з базою даних.

Ще одна відмінність полягає в тому, що класи DAO надають більш потужний набір функцій, які можна використовувати для маніпулювання базою даних. Ці більш потужні методи дозволяють виконувати з базами даних складні операції, використовуючи невеликий обсяг вихідного тексту на C + + або SQL-вирази, написані безпосередньо розробником:

• обидві системи (ODBC і DAO) можуть працювати з ODBC-джерелами даних, але в цьому випадку DAO менш ефективна, так як орієнтована для роботи з базами даних формату. mdb;

• майстер AppWizard може створити заготівлю БД-додатки, використовуючи або класи ODBC, або класи DAO. Вибір типу створюваного додатка залежить частково від баз даних, з якими ви будете працювати;

• обидві системи - і ODBC і DAO - використовують для з'єднання з базою даних, до якої здійснюється доступ, об'єкти класів баз даних MFC. В ODBC такий клас бази даних називається CDatabase, а в системі DAO - CDaoDatabase. Хоча ці класи і мають різні назви, вони містять безліч схожих членів;

• обидві системи, ODBC і DAO, використовують об'єкти класу вибірки даних для зберігання записів, вибраних на поточний момент. В ODBC такий клас вибірки даних називається CRecordset, а в системі DAO - CDaoRecordset. DAO-клас вибірки даних містить практично всі члени класу ODBC. Крім того, DAO-клас має великий набір додаткових методів;

• системи ODBC і DAO використовують схожі методики перегляду вмісту джерела даних, а саме: в обох системах додаток повинен створити об'єкт бази даних, об'єкт вибірки даних, а потім викликати методи відповідного класу для маніпулювання базою даних.

Відмінності між системами ODBC і DAO полягають у наступному:

• хоча вхідні в MFC класи ODBC і DAO схожі (іноді навіть дуже), деякі аналогічні методи мають різні імена. Крім того, класи DAO включають багато методів, яким немає аналогів в класах ODBC;

• в системі ODBC для визначення опцій, які можуть використовуватися при відкритті вибірки даних, використовуються макроси і перерахування, тоді як в DAO для цих цілей визначено константи;

• велика кількість існуючих ODBC-драйверів робить систему ODBC придатної для роботи з безліччю файлів баз даних різних форматів, в той час як система DAO більше підходить для додатків, що працюють тільки з файлами формату. mdb;

• система ODBC реалізована у вигляді набору DLL-модулів, а DAO реалізована як набір об'єктів OLE;

• в ODBC об'єкт класу CDatabase безпосередньо взаємодіє з джерелом даних. DAO-об'єкт класу CDaoWorkspace займає проміжне положення між об'єктами класів CDaoRecordset і CDaoDatabase, що дає можливість робітничому середовищі взаємодіяти з багатьма об'єктами класу баз даних.

OLE DB - це сукупність інтерфейсів OLE, які спрощують доступ до даних, збереженим додатками, які не є СУБД, наприклад, що зберігаються в поштових скриньках електронної пошти або лінійних файлах.

Додаток, що використовує OLE DB, може інтегрувати інформацію з таких СУБД, як Oracle, SQL Server і Access, з інформацією з систем, які не є СУБД, але використовують можливості OLE.

Для використання цього потужного інструменту ви повинні впевнено відчувати себе при роботі з інтерфейсами OLE. Якщо вам раніше доводилося створювати додатки OLE (ActiveX) тільки за допомогою MFC і майстри App-Wizard, вас може шокувати знайомство з тим, що Microsoft вважає "спрощеним". Ви зустрінетеся з безліччю викликів функції Querylnterface () і безліччю змінних з іменами на зразок pIColslnfo і rgCol Info. Все ж, розібравшись у всіх інтерфейсах і всіх установках, ви зможете викликати таку функцію, як GetData (), і отримати інформацію з програми, яка не є СУБД, як ніби це база даних. У результаті виходить істотний виграш у часі.

 

КОНТРОЛЬНІ ЗАПИТАННЯ

 



Поделиться:


Последнее изменение этой страницы: 2016-12-12; просмотров: 126; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.149.242 (0.386 с.)