REFERATUA.ORG.UA — База українських рефератів




переміщення даних між формою і джерелом даних. Об'єкти, похідні від CRecordView використовуються разом з об'єктами, похідними від CRecordset. Операції ODBC використовують клас CDBException для повідомлення про помилки шляхом механізму MFC-виключень.







Створення структури застосування ODBC за допомогою AppWizard. Перш ніж MFS-застосування ODBC буде створено за допомогою AppWizard, необхідно ідентифікувати джерело даних, яким буде оперувати застосування. Джерело даних повинно бути ідентифіковано і інстальовано за допомогою програми установки ODBC. Нехай джерелом даних буде база даних Microsoft Access. Для доступу до цього файлу потрібен драйвер Microsoft Access Driver. База даних Student складається з 3 таблиць, що містять інформацію про студента, предмети та оцінки студента з цих предметів. В базі даних Access також створено запити, які оперують з даними бази. Щоб створити структуру застосування ODBC треба запустити майстер AppWizard. Нехай проект буде мати назву - MFSDB. Проекти, створені таким чином, можуть бути однодокументними, багатодокументними або діалоговими застосуваннями. Однодокументне застосування може представляти користувачу в будь-який момент лише один файл. Найкращим прикладом такого застосування є текстовий редактор Notepad в Windows. Багатодокументне застосування може одночасно представляти декілька документів, кожний у своєму вікні. Більшість текстових редакторів, таких як Microsoft Word, є багатодокументними застосуваннями. Інтерфейс користувача діалогового застосування являє собою одне діалогове вікно. Такі застосування використовуються, якщо взаємодію з користувачем можна провести в одному шаблоні діалогового вікна. Прикладом діалогового застосування є Таблиця символів (Character Map) Windows. На першому кроці вказується, що проект буде однодокументним. На другому кроці вказуються опції бази даних, яку буде використовувати дане застосування. В якості джерела даних встановлюється Microsoft Access. Можна також вказати тип набору записів. Статичний набір записів (Snapshot) представляє статичний варіант проедставлення даних. Динамічний нібір записів (Dynaset) перехоплює лише індекс даних, таким чином, ці набори можуть відображати зміни, що виконані в записах після створення набору записів (але не додавання чи видалення яких-небудь записів). Набір записів у вигляді таблиці допускає більш конкретне маніпулювання таблицями в реляційній базі даних. В той час як статичні набори представляють більш безпечний вибір, динамічні набори забезпечують переваги в плані продуктивності. При створенні проекту майстер AppWizaRD створює такі класи: Visual C

Новий клас CMFSDB є похідним від CRecordset. При об'явленні цього класу можна побачити, що майстер AppWizard не тільки створив клас, але й додав змінні-члени, що відображають поля вказаної таблиці бази даних. Ці змінні також відображаються в файлі реалізації класу, в конструкторі, а також – в функції DoFieldExchange. Остання викликається MFS для обміну даними між змінними набору записів і відповідними стовпцями в таблиці бази даних. Такий створений проект представляє собою пусте діалогове вікно. Для його зміни треба додати елементи керування і скористатися майстером ClassWizard для додавання відповідних змінних-членів класів. До діалогового вікна можна додати статичні елементи керування та елементи редагування, які будуть відображати необхідну інформацію, вибіка якої буде здійснюватися запитом: SELECT DISTINCT student.Name, subject.SubjectFROM (Mark INNER JOIN student ON Mark.Name = student.Name) INNER JOIN subject ON Mark.Subject = subject.SubjectWHERE (((Mark.Mark)<61));Вибрати всіх студентів, що мають академзаборгованості. Даний запит можна реалізувати безпосередньо в середовищі Visual C++ за допомогою функції CRecordset::GetDefaultSQL. ЇЇ змінна – m_strFilter відповідає умові SQL – WHERE. Cstring CMFSDBSet::GetDefaultSQL(){ m_strFilter=_T("[Mark].[Mark]<61"); return _T("[Mark],[student]");}
Кінцевий вигляд застосування: Visual C










За допомогою Component Galery до проекта було ще додано Tips of the Day:

Visual C


Об'єкти доступу до даних.

Data Access Objects (Об'єкти доступу до даних) – один з останніх виробів Microsoft в технології доступу до баз даних. Ця технологія застосовується до баз даних в Microsoft Visual Basic, Microsoft Access та Visual Basic for Application; починаючи з Visual C++4, за допомогою набору спеціалізованих класів MFS ця технологія доступна і для програміста Visual C++.

DAO надає можливість доступу і маніпулювання базами даних за допомогою машини баз даних Microsoft Jet. За допомогою Jet-машини можна отримувати доступ до локальних і віддалених базам даних через драйвери ODBC.

Технологія DAO базується на OLE. Вона значно спрощується класами DAO в MFS.

Багато функцій DAO використовують оператори мови SQL. Можна скористатися SQL-оператором SELECT для отримання даних з бази даних або SQL-операторами UPDATE, INSERT та DELETE для зміни вмісту бази даних. Найпростіший спосіб створення SQL-операторів для використання з об'єктами DAO- створення запиту з Microsoft Access, збереження в базі даних та доступ до нього за допомогою об'єкта QueryDef.

Visual C++ запезпечує інтенсивну підтримку для побудови застосувань DAO за допомогою майстера AppWizard. В додаток до ODBC майстер AppWizard дозволяє створювати застосування, засновані на класах DAO.

Класи DAO.

Існує 5 основних та 2 допоміжних класи, пов'язаних з DAO.

Всі об'єкти DAO похідні від DBEngine; більш того, всі об'єкти бази даних – похідні від об'єктів Workspace. Проте якщо не треба маніпулювати захищеними базами даних, як правило, нема необхідності звертатися до жодного з них, а достатньо первинний об'єкт Workspace визивати для всіх транзакцій.

Об'єкти бази даних і набору записів достатньо очевидно представляють бази даних і набори виборок (таблиці, набори записів або динамічні набори) в ціх базах даних.

Об'єкти визначення запитів (QueryDef) використовуються для виконання конкретних SQL-запитів по відношенню до бази даних. Для доступу до інформації в базі даних через конкретний запит визначення запитів звичайно використовується разом з наборами записів.

Об'єкти визначення таблиць (TableDef) представляють структуру таблиць в базі даних. За допомогою об'єктів визначення таблиць можна створювати нові таблиці та змінювати структуру та характеристики існуючих.

Існують ще декілька типів об'єктів DAO. Вони (Field, Parametr, Index, User, Group, Error) не представлені конкретними класами MFS. Об'єкти DAO цього типу доступні через інші відповідні класи DAO MFS.

Об'єкти CDaoRecordset представляють набори записів. Такий набор може представляти записи в таблиці, динамічний і статичний набори. Набір записів типу таблиці є поновлюваним і представляє записи в одній таблиці. Набір записів динамічного типу представляє записи з одної або декількох таблиць результатом запиту. Записи динамічного типу


 
Загрузка...