Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual2.doc
Скачиваний:
5
Добавлен:
07.03.2016
Размер:
3.31 Mб
Скачать

10.11. Опис розробленого навчального пакету ado6 для роботи з базами даних access та MySql

10.11.1. Використання об'єктів ADO в Visual C++ на основі прикладу ADO6

Приклад роботи з ACCESS, MySQL та XML знаходиться у папці DISK\ADO\ADO6_MDB_MYSQL_XML. Приклад роботи тільки з базою даних MS ACCESS знаходиться у папці DISK\ADO\ADO6_MDB.

У даному посібнику розглянуто детальний приклад роботи з об'єктами ADO, що відображає всі особливості цієї технології з використанням мови програмування Visual C++. Назва цього прикладу ADO6. Робота прикладу ADO6 передбачена в двох режимах - робота з базами даних Microsoft ACCESS (*.mdb) та робота з БД MySQL. Причому, і в першому і в другому режимах продемонстровані всі можливості роботи з набором Recordset, а саме додавання, оновлення записів, виведення значень полів. Для демонстрації повної функціональності технології ADO в якості бази даних необхідно вибрати otl.mdb для Microsoft ACCESS і відповідно otl для БД MySQL. Дані БД (otl.mdb для MS ACCESS і otl для MySQL) мають таблицю otl_tab. Структура даної таблиці наведена нижче (табл. 10.20)

Таблиця 10.20

Структура таблиці otl_tab

п/п

Ім'я поля

Тип поля

Довжина

1

id

Числовий (Довге ціле)

2

kod

Числовий (Довге ціле)

3

Name

Текстовий

50

4

Vrem

Дата / час

5

log

Логічний

Додаток створено на основі Single. В якості базового класу вибраний клас CView. У програмі крім стандартних елементів керування підключається компонент ActiveX Microsoft DataGrid Control, який призначений для роботи з набором Recordset.

У класі документа CADO6Doc зберігаються вказівки на об'єкти ADO: pConn типу _ConnectionPtr, pRecordset типу _RecordsetPtr, fields типу FieldsPtr. Крім того в класі документа зберігаються дві змінні класу CString - baza, де зберігається ім'я поточної бази даних, і table - ім'я поточної вибраної таблиці.

Вся робота з базою даних наводиться у класі діалогу CADO6Dlg, в який передається вказівка на документ Doc, а також тип бази даних tip_bd.

На рис. 10.7. наведено головне меню виконання прикладу ADO6.

Рис. 10.7. Головне меню програми ADO6

Наведемо опис класу документа CADO6Doc (файл ado6Doc.h).

Жирним шрифтом виділено ті фрагменти, які вставлені у згенеровану програму.

// Ado6Doc.h: interface of the CAdo6Doc class

//

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

#if !defined(AFX_ADO6DOC_H__138C962A_D0C3_41F2_9026_AAC904CAB9DE__INCLUDED_)

#define AFX_ADO6DOC_H__138C962A_D0C3_41F2_9026_AAC904CAB9DE__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CAdo6Doc: public CDocument

{

protected: // create from serialization only

CAdo6Doc();

DECLARE_DYNCREATE(CAdo6Doc)

// Attributes

public:

// Operations

public:

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL(CAdo6Doc)

public:

virtual BOOL OnNewDocument();

virtual void Serialize(CArchive& ar);

//}}AFX_VIRTUAL

_ConnectionPtr PConn;

_RecordsetPtr PRecordset;

FieldsPtr fields;

CString baza; // ім'я поточної БД

CString table; // ім'я поточної таблиці

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]