Реферат по предмету "Программирование"


Visual C++. Бази даних (Укр.)

Нацональний унверситет Киво-Могилянська Академя Курсова робота на тему Visual C. Бази даних. Студентки 4-го курсу департаменту комп ютерних технологй Фялка Свтлани Науковий кервник Спастлва С.О. Кив-1999 I ODBC Блок-схема типово

ODBC-програми Програма установки ODBC Приклад програми ODBC Стандарт SQL та ODBC ODBC в MFS-застосуваннях Створення структури застосування за допомогою AppWizard Об кти доступу до даних DAO Класи DAO Побудова застосування DAO Взуальн нструменти баз даних Висновки Вступ . В першу чергу

Visual C - це комплятор C, але це також середовище, компоненти якого, взамодючи один з одним, спрощують процес розробки застосувань. Середовище Visual C пропону велик можливост для програмування Windows-застосувань. Найхарактерншою його компонентою бблотека основних класв Microsoft Microsoft Foundation Classes MFS. Великий набр класв С нкапсулю основну частину API Application Standart

Interface Win32 пропону могутню основу для написання типових застосувань. До складу Visual C входить Microsoft Developer Studio Integrated Development Environment нтегроване середовище для розробки застосувань IDE. Visual Studio 97 остання верся Microsoft Developer Studio ядром системи розробки Visual C. Вона пропону багато рзних можливостей, нада доступ до багатьох

компонент системи розроблювача Visual C, а також взамод з такими засобами розробки Micrisoft, як Visual J або Microsoft Network Library. Visual Studio пдтриму нтерфейс для компонентв проектв, початкових файлв файлв ресурсв, а також ряд нструментв для побудови, запуску тестування застосувань, хоча комплятор CC та нш компоненти середовища розробника можна використовувати з командного рядка.

Visual Studio пропону нтегрований нтерфейс для таких основних нструментв Visual C як майстри. Майстри Wizards, так як AppWizard це нструменти генерац структур застосувань. За допомогою таких майстрв можна створювати структури застосувань серверв або контейнерв компонентв OLE, застосувань ODBC та DAO, серверв автоматизац, елементв управлння ActiveX. Visual C пропону широк можливост для програмування баз даних, як, зокрема, полягають в розширеному

керуванн джерел даних вдладц. В застосуваннях можна використовувати деклька технологй баз даних ODBC Open Database Connectivity - Зв язок вдкритих баз даних, незалежний вд постачальника механзм доступу до даних з рзних джерел, DAO Data Access Objects Об кти доступу до даних, застосовуться для доступу к базам даних в Microsoft Visual Basic, Microsoft Access, Visual Basic for Applications, ADO ActiveX Data Objects компактна технологя доступу до даних, орнтована

на Web, OLE DB база даних OLE, набр специфкацй нтерфейсв компонентно об ктно модел COM. Метою дано курсово роботи розгляд основних можливостей програмування баз даних в Visual C, зокрема використовуючи ODBC та DAO. Програмування баз даних за допомогою ODBC. ODBC або Open Database Connectivity Зв язок вдкритих баз даних незалежний вд постачальника механзм доступу до даних з рзних джерел. Вн реалзацю специфкацй

XInterface нтерфейс рвня виклику групи доступу SQL, яку виконала фрма Microsoft. ODBC пропону функц для взамод з базами даних за допомогою мови програмування, наприклад, додавання, модифкування видалення даних, отримання службово нформац про базу даних, таблиц та ндекси. Архтектура ODBC. Архтектура ODBC складаться з п яти основних рвнв прикладний рвень, нтерфейс ODBC, диспетчер драйверв, драйвер та джерело даних.

Прикладний рвень реалзу GUI Interface Графчний нтерфейс користувача та бзнес-логку. Вн написаний на мов програмування, такй як Java, Visual Basic або C. Прикладна програма використову функц з нтерфейсу ODBC для взамод з базами даних. Диспетчер драйверв частиною ODBC Microsoft. Вн керу рзними драйверами, що знаходяться в систем, виконуючи завантаження, спрямування

викликв на потрбний драйвер надання прикладнй програм нформац про драйвер, коли це необхдно. Оскльки одна прикладна програма може бути зв язана з деклькома базами даних, то диспетчер драйверв гаранту, що вдповдна система керування базою даних отриму вс запити, що надходять до не, та що вс дан з джерела даних будуть передан прикладнй програм. Драйвер та частина архтектури, яка все зна про будь-яку базу даних. Система драйверв ODBC працю не лише на платформ

WINDOWS, але на нших, зокрема UNIX, що перетворю API ODBC на могутнй нструмент для створення платформно-незалежних застосувань. Крм того ODBC приводить використовумий в застосуванн синтаксис SQL до диного стандарту, що дозволя розробляти застосування незалежн вд вида бази даних. Звичайно драйвер пов язаний з конкретною базою даних, наприклад, драйвери

Access, Oracle та драйвер SQL Server. нтерфейс ODBC ма набр функцй, таких як оператори SQL, управлння з днанням, нформаця про базу даних тощо. В обов язки драйвера входить х реалзаця. Це означа, що в деяких базах даних драйвер повинен емулювати функц нтерфейсу ODBC, як не пдтримуються системою керування базою даних. Вн викону роботу по розсиланню запитв в бази даних, отриманню вдповдей вдправленню х прикладнй програм.

Для баз даних, що працюють в локальних мережах або Internet, драйвер пдтриму мережний зв язок. Джерело даних в контекст ODBC може бути системою керування базою даних або просто набором файлв на жорсткому диску. Вн може бути як простою базою даних Microsoft Access для невелико фрми, так багатосерверним збергачем нформац про клнтв телефонно компан х розмовах. Коцепц

API ODBC. Основною частиною системи ODBC драйвер. Драйвери можуть бути однорвнев та багаторвнев. Однорвнев драйвери обробляють звертання ODBC оператори SQL, а багаторвнев обробляють звертання ODBC та передають оператори SQL джерелу даних можливо, серверу, розташованому де-небудь в мереж. ODBC не вимага, щоб драйвери пдтримували вс функц цього нтерфейсу.

Замсть цього для драйверв визначаються рвн вдповдност API та граматики SQL. дина вимога якщо драйвер задовльня деякому рвню, то вн повинен пдтримувати вс функц ODBC, визначен на цьому рвн, незалежно вд того, чи пдтриму х база даних. Так як в обов язки драйвера входить емуляця функцй ODBC, що не пдтримуються системою керування базою даних, то нтерфейс

ODBC не залежить вд реалзац бази даних. Рвн вдповдност API та граматики SQL для ODBC. ТипРвень вдповдностОпис Рвн вдповдност APIЯдроВс функц з специфкац SAG CLI. Видлення звльнення описувачв зв язку, SQL-оператора оточення. Пдготовка виконання операторв SQL. Отримання результату службово нформац про результат.

Отримання нформац про помилки. Здатнсть виконувати транзанкц.Рвень 1Розширений набр 1 включа API ядра плюс можливост посилати отримувати частков набори даних, шукати нформацю в каталоз, отримувати нформацю про можливост драйвера бази даних, тощо.Рвень 2Розширений набр 2 включа рвень 1 плюс можливост обробляти масиви як параметри, можливсть прокрутки курсору, виклик DLL транзанкцй, тощо.Рвн вдповдност граматики

SQLМнмальна граматикаФункц створення видалення таблиць в мов визначення даних. Прост функц вибору, вставки, модифкац видалення в мов манпулювання даними. Прост вирази.Граматика ядраВдповднсть специфкацям SAG CAE 1992 на мнмальну граматику плюс змна таблиць, створення видалення ндексу, створення видалення логчних таблиць бази даних для DLL. Повний оператор

SELECT для DDL. Повний Оператор SELECT для DML. Функц в виразах, наприклад, SUM and MAX.Розширена граматикаДодатков можливост, так як зовншн з днання, позицйован модифкаця видалення, бльше виразв типв даних, виклики процедур. ODBC не екввалентом Embedded SQL Вбудований SQL, який використову оператори SQL в вихдних програмах, написаних на нших мовах. Схож гбрдн програми перед передечею комплятору основно

мови програмування оброблюються прекомплятором. ODBC нтерпрету оператори SQL пд час виконання. Основна програма не потребу прекомпляц для виконання рзних операторв SQL, як не треба комплювати окрем верс програми для рзних джерел даних. Блок-схема типово ODBC-програми. Перш нж реалзувати оператори SQL, застосування ODBC повинно виконати ряд дй, щоб пд днатись до джерела даних.

Типов д звертання ODBC SQLAllocEnv Видля середовище ODBC SQLAllocConnect Видля пам ять для пдключення SQLConnect Завантажу драйвер, пдключа до джерела SQLAllocStmt Видля пам ять для оператора SQL SQLFreeStmt Звльню пам ять, видлену для оператора SQLDisconnect Перерозподля драйвер, вдключа вд джерела

SQLFreeConnect Звльню пам ять, видлену для пдключення SQLFreeEnv Звльню середовище, перерива сеанс Виклик SQLAllocEnv нцалзу бблотеку ODBC поверта дескриптор типу SQLHENV. Дескриптор типу SQLHDBC, що повертаться функцю SQLAllocConnect, використовуться в наступних звертаннях до функцй

ODBC для посилання на певне пдключення. Одне застосування може пдтримувати деклька вдкритих пдключень. Функця SQLConnect шляхом завантаження драйверу пдключення до джерела даних встановлю з днання. Це звертання до функц ма варанти наприклад, виклик SQLDriverConnect, можна використовувати для пдключення до джерел даних, як не встановлюються за допомогою програми початково установки ODBC. SQLBrowseConnect дозволя застосуванню циклчно продивлятися джерела

даних. Видляючи пам ять для оператора SQL за допомогою функц SQLAllocStmt на окремому кроц, ODBC забезпечу механзм, при якому оператори можуть конструюватися використовуватися один раз клька разв перш, нж видлена пам ять. Псля цих чотирьох звертань, як правило, застосування ODBC створю звертання до бази даних для виконання операторв SQL. Воно може використовувати функцю SQLPrepare для пдготовки компляц оператора

SQL для виконання функцю SQLExecute для дйсного його виконання. В якост альтернативи виклику SQLPrepare та SQLExecute застосування можуть використовувати функцю SQLExecDirect для виконання оператора SQL в однй д. Спочатку стовпчики зв язуються з змнними програми за допомогою SQLBindCol, потм ц змнн зчитуються псля виконання SQLFetch над рядком таблиц.

Якщо даних бльше нема, SQLFetch поверта SQLNODATAFOUND. В якост альтернативи використанню SQLBindCol для пов заних стовпцв застосування можна використовувати функцю SQLGETDATA для отримання даних з незв язаних стовпцв. Коли його робота закнчена, застосування повинно звльнити задян ним ресурси ODBC. В ODBC 3.0 функця SQLFreeHandle використовуться замсть функцй

ODBC 2.x SQLFreeEnv, SQLFreeConnect, SQLFreeHandle. Програма установки ODBC. Програма установки ODBC викликаться за допомогою Control Panel Панель керування в Windows використовуться для регстрац джерел даних. Що саме джерелом даних Це залежить вд драйвера. У випадку такого драйвера, як SQL Server, джерелом даних може бути база даних на сервер.

В випадку драйвера Microsoft Access або Microsoft Excel база даних файлом MDB або XLS. В випадку Microsoft Text Driver база даних це каталог, що мстить текстов файли, як стосовно драйвера таблицями в баз даних. Останн верс ODBC розрзняють три типи джерел даних. Джерело даних користувача це джерело даних, яке бачить лише той, хто його створив.

Джерело системних даних доступне всм користувачам даного комп ютера. Джерело файлових даних - це джерело даних, специфкац якого збергаються в файл можуть бути одночасно використан користувачами на рзних комп ютерах. Для додавання джерела даних треба викликати програму установки ODBC в Control Panel , вибравши необхдний тип джерела даних, вибрати драйвер додати його кнопкою Add. В з явившомуся далоговому вкн Create New Data

Source можна вибрати базу даних встановити необхдн властивост драйвера. Основне далогове вкно мстить список всх нстальованних джерел даних джерело даних джерело системних джерело файлових користувача даних даних Далогове вкно ODBC Data Source Administrator Приклад програми ODBC. Нище наведено текст простого застосування ODBC, яке зчиту рядки, що мстяться в таблиц

Excel. Коли доступ до таблиц Excel здйснються з використанням драйвера Microsoft Excel ODBC, електронн таблиц вдграють роль таблиць бази даних, а рядки в таблиц роль записв у нй. Таблиця Excel складаться з 4 стовпчикв, що мстять нформацю про прзвище та м я студента, факультет, де вн навчаться, та рейтинг за осннй триместр 19981999 навч. рк. Замсть нсталяц ц таблиц в якост джерела даних, використовуючи програму початково установки

ODBC, можна скористуватися можливостями функц SQLDriverConnect. Застосування може бути скомпльовано з командного рядка введеннням cl student.c odbc32.lib. Файл student.xls таблиця Excel повинен бути доступним з поточного каталогу. include windows.h include sql.h include sqlext.h include string.h define CONNSTR DBQStudent.XLSDRIVERMicrosoft Excel Driver .xls define

CONNLEN sizeofCONNSTR-1 define SQLTRYx,y rc y if rc SQLSUCCESS char szState6 char szMsg255 SDWORD sdwNative SWORD swMsgLen SQLErrorhEnv, hDBC, hStmt, szState, sdwNative, szMsg, sizeofszMsg, swMsgLen printfError d performing snSQLState snSQL message sn, rc, x, szState, szMsg goto Terminate void mainvoid SQLHENV hEnv 0 SQLHDBC hDBC 0

SQLHSTMT hStmt 0 SQLCHAR szConnStr255 SQLCHAR szStmt255 SQLCHAR szName255 SQLCHAR szFaculty255 long nRating SWORD cbConnStr RETCODE rc SDWORD sdwNLen SDWORD sdwFLen SDWORD sdwRLen int i char szResult1000 SQLTRYSQLAllocEnv, SQLAllocEnvhEnv SQLTRYSQLAllocConnect, SQLAllocConnecthEnv, hDBC

SQLTRYSQLDriverConnect, SQLDriverConnecthDBC, NULL, CONNSTR, CONNLEN, szConnStr, sizeofszConnStr, cbConnStr, SQLDRIVERNOPROMPT SQLTRYSQLAllocStmt, SQLAllocStmthDBC, hStmt sprintfszStmt, SELECT FROM Sheet1 SQLTRYSQLPrepare, SQLPreparehStmt, szStmt, strlenszStmt SQLTRYSQLBindCol, SQLBindColhStmt, 1, SQLCCHAR, PTRszName, sizeofszName, sdwNLen

SQLTRYSQLBindCol, SQLBindColhStmt, 2, SQLCCHAR, PTRszFaculty, sizeofszFaculty, sdwFLen SQLTRYSQLBindCol, SQLBindColhStmt, 3, SQLCSLONG, PTRnRating, sizeofnRating, sdwRLen SQLTRYSQLExecute, SQLExecutehStmt for i 1 rc SQLFetchhStmt SQLSUCCESS i printfRecord dtName stFaculty stRating dn, i, szName, szFaculty, nRating if rc SQLNODATAFOUND SQLTRYSQLFetch, rc printfSuccessfully completed.n

Terminate0 if hStmt SQLFreeStmthStmt, SQLCLOSE if hDBC SQLDisconnecthDBC if hDBC SQLFreeConnecthDBC if hEnv SQLFreeEnvhEnv SQLTRYSQLAllocEnv, SQLAllocEnvhEnv SQLTRYSQLAllocConnect, SQLAllocConnecthEnv, hDBC SQLTRYSQLDriverConnect, SQLDriverConnecthDBC, NULL, CONNSTR, CONNLEN, szConnStr, sizeofszConnStr, cbConnStr,

SQLDRIVERNOPROMPT SQLTRYSQLAllocStmt, SQLAllocStmthDBC, hStmt sprintfszStmt, SELECT FROM Sheet1 WHERE Rating 91 ORDER BY Rating DESC SQLTRYSQLPrepare, SQLPreparehStmt, szStmt, strlenszStmt SQLTRYSQLBindCol, SQLBindColhStmt, 1, SQLCCHAR, PTRszName, sizeofszName, sdwNLen SQLTRYSQLBindCol, SQLBindColhStmt, 2, SQLCCHAR, PTRszFaculty, sizeofszFaculty, sdwFLen

SQLTRYSQLBindCol, SQLBindColhStmt, 3, SQLCSLONG, PTRnRating, sizeofnRating, sdwRLen SQLTRYSQLExecute, SQLExecutehStmt for i 1 rc SQLFetchhStmt SQLSUCCESS i printfRecord dtName stFaculty stRating dn, i, szName, szFaculty, nRating if rc SQLNODATAFOUND SQLTRYSQLFetch, rc printfSuccessfully completed.n Terminate if hStmt SQLFreeStmthStmt, SQLCLOSE if hDBC

SQLDisconnecthDBC if hDBC SQLFreeConnecthDBC if hEnv SQLFreeEnvhEnv Простий макрос SQLTRY використовуться для повдомлення про помилки. Псля обов язкових звертань до функцй SQLAllocEnv та SQLAllocConnect програма виклика SQLDriveConnect. Цей виклик робить можливим вдкриття таблиц, яка не встановлювалась з використанням програми початково установки

ODBC робить це без вдображення нтерфейса користувача. Для вдкриття таблиц використовуються константи CONNSTR та CONNLEN. Як тльки пдключення до бази даних успшно завершено, виконуються послдовно два оператори SQL 1 SELECT FROM Sheet - Вибрати вс записи з таблиц Student. 2 SELECT FROM Sheet WHERE Rating 91 ORDER

BY Rating DESC Вибрати записи з таблиц Student про тих студентв, що мають рейтинг бльший за 91, та впорядкувати виведений список за зменшенням рейтингв студентв. м я Sheet - це м я, яке надаться драйвером для першо таблиц в робочй книз Excel. Оператор SQL використовуться для отримання полв всх записв. Наступн 4 звертання прив язують змнн до стовпчикв таблиц.

Таке призначення функц SQLBindCol. Псля послдовного отримання записв, значення полв перемщуються в ц змнн. Сам записи отримуються за допомогою функц SQLFetch вдображаються з використанням printf. Функця SQLFetch викликаться до тих пр, поки значення, що повертаться нею, не вдрзняться чим-небудь вд SQLSUCCESS. Значення, що повертаться, SQLNODATAFOUND показу, що отриманий останнй запис, все нше помилкою обробляться вдповдним чином. Програма завершуться обов язковими звертаннями до функцй

SQLFreeStmt, SQLDisconnect, SQLFreeConnect та SQLFreeEnv для звльнення ресурсв закнчення зв язку з джерелом даних. При запуску ц програми забезпечуться такий вивд Стандарт SQL та ODBC. Синтаксис для ODBC заснований на стандарт ANSI SQL-92. Майже кожна СУБД використову свй власний далект SQL, синтаксис якого може трохи вдрзнятися. Кожен далект може пдтримувати рзний набр властивостей.

Драйвер ODBC для конкретно бази даних забезпечить необхдний переклад загального SQL на специфчний далект, що використовуться в певнй СУБД. сну три основн групи операторв SQL q мова визначеня даних DDL Data Definition Language використовуться для задання структури бази даних створення об ктв q мова керування даними DCL Data Control Language для роботи з правами користувача на конкретн об кти q мова

манпулювання даними DML Data Manipulation Language для виконання нших операцй таких, як додавання модифкаця даних, а також виконання запитв. Вс ц мови частиною SQL, а не окремими мовами, хоча в бльшост застосувань використовуються лише оператори, що вдносяться до конкретно групи. В DDL для роботи з об ктами використовуються так оператори SQL Ш CREATE створю новий об кт Ш ALTER модифку снуючий об кт

Ш DROP- видаля об кт. Ц оператори використовуються для роботи з рзними об ктами бази даних таких, як таблиц, ндекси представлення таблиць. Для кожного з цих типв об ктв використовуться рзний синтаксис оператора. В таблицях основних об ктах реляцйних базах даних можуть мститися дан рзних типв. Типи даних SQL, згрупован згдно рвням пдлеглост ODBC SQL. Мнмальний рвень - CHAR n символьний рядок з n символв фксовано довжини

VARCHAR n символьний рядок змнно довжини, але не бльше n символв LONG VARCHAR символьний рядок змнно необмежено довжини. Базовий рвень - DECIMAL p,s або NUMERIC p,s значення з плавучою комою SMALLINT- двохбайтове цле INTEGER чотрьохбайтове цле REAL чотирьохбайтове значення з плавучою комою FLOAT або

DOUBLE PRECISION восьмибайтове значення з плавучою комою. Розширений рвень - BIT один бт TINYINT однобайтове цле BIGINT восьмибайтове цле BINARY n двйкове поле фксовано довжини, що складаться з n байт VARBINARY n двйкове поле змнно довжини, що не перевищу n байт LONG VARBINARY- двйкове поле змнно необмежено довжини

DATE- значення дати TIME значення часу TIMESTAMP значення, що мстить час дату. Створення таблиц. CREATE TABLE Student StudID UNTEGER, StudName VARCHAR 20 Стовпчики таблиц можна довизначити, якщо додати псля типу даних додатков модифкатори. Найчастше використовуться модифкатор NOT NULL, який вказу на те, що значення для цього стовпця повинно бути задано. Можна також вимагати, щоб конкретне поле в таблиц не повторювалось.

Для цього використовуться модифкатор UNIQUE. Можна також задати для стовпця значення, що буде використовуватися по замовченню, якщо не було задано явних значень. Для цього служить модифкатор DEFAULT. Видалення таблиц. DROP TABLE Student В опрератор видалення можуть використовуватися ключов слова CASCADE та RESTRICT. Якщо в оператор вказано ключове слово CASCADE, то при видаленн таблиц видаляються також вс представлення або обмежувач цлостност, пов язан

з цю таблицею. Модифкатор RESTRICT не дозволить видалити таблицю, якщо на не посилання в яких-небудь представленнях або обмежувачах цлостност. Змна таблиц. Додавання стовпцв ALTER TABLE Student ADD COLUMN Course INTEGER Видалення стовпцв ALTER TABLE Student DROP COLUMN Course Як при видаленн таблиц, тут можна використовувати ключов слова

CASCADE та RESTRICT. При включенн модифкатору CASCADE видаляються також вс представлення обмежувач, як посилаються на видалямий стовпець. Використання модифкатора RESTRICT запобга видаленню стовпця, якщо на нього посилання в представленнях або обмежувачах цлостност посилань. ндекси. Це об кти баз даних, що забезпечують бльш ефективний доступ до рядкв таблиц. ндекс продивляться рядки таблиц на основ значень певного стовпця або деклькох стовпцв. ндекси можуть значно

пдвищити продуктивнсть бази даних при виконанн певних типв операцй пошуку, проте для х пдтримання треба великий обсяг динамчно пам ят. Якщо для одно таблиц створити багато рзних ндексв, продуктивнсть всього застосування значно зменшиться. CREATE UNIQUE INDEX StudIndex ON Student StudID ASC, DESC ASC в зростаючому порядку DESC в спадаючому порядку Змнити ндекс неможливо, а можна лише видалити його.

DROP INDEX StudIndex Представлення. Педставлення таблиць, або просто представлення можна розглядати як вид вртуально таблиц. З точки зору застосувань користувачв, представлення таблиц вигляда як сама таблиця. Проте в представленн збергаються не його власн дан, а лише посилання на дан, що мстяться в таблицях. В цлому представлення використовуються для вдображення даних, що мстяться в таблицях, рзними способами зручними для користувача. Представлення можна використовувати для вдображення пдмножини стовпцв

одн або деклькох таблиць, що вповдають деякому типу запита. Це дозволя представляти таблицю з потрбними даними, хоча в дйсност стуктура бази даних може бути ншою, сформованою виходячи з мркувань цлостност та продуктивност. Представлення таблиць зручн для забезпечення безпеки. За допомогою представлення можна забезпечити доступ користувачв до деяко пдмножини стовпцв в таблиц,

залишаючи захищеними нш стовпц. Представлення служать для забезпечення логчно незалежност даних, завдяки чому змни занесен в реальн таблиц баз даних не вдображаються на застосуваннях користувача. Якщо таблиця в баз даних буде змнена, то можна буде просто настроти представлення у вдповдност з новою структурою таблиц не треба буде повертатися вносити змни в кожне написане застосування. CREATE VIEW MyView AS SELECT FROM TABLE MyTable Представлення вдобража вс стовпц таблиц

CREATE VIEW MyView Id, Name AS SELECT StudID, Studname FROM Student снуюче представленя не можна модифкувати, але можна його видалити. DROP VIEW MyView Мова керування даними DCL. Дозволя працювати з правами користувачв на об кти в баз даних. Мова SQL дозволя присвоти груп користувачв певн права на деякий об кт. Права можуть бути такими v SELECT дозволя запитувати дан v

INSERT дозволя додавати нов рядки v DELETE дозволя видаляти рядки v UPDATE дозволя змнювати снуююч рядки v REFERENCES це право потрбне лише в тому випадку, коли користувач намагаться модифкувати таблицю, що ма обмеження цлостност посилань, як зсилаються на стовпц ншо таблиц. Такий користувач повинен мати право REFERENCES на стовпц, що використовуються з обмеженнями. Права присвоюються GRANT SELECT ON Student TO PUBLIC

GRANT SELECT, INSERT ON Student TO Sveta, Lena Права UPDATE та REFERENCES можуть поширюватися на окрем стовпц. GRANT UPDATE Raiting, Credit ON Student TO Sveta Вдмнити права на об кти можна за допомогою оператора REVOKE REVOKE SELECT ON Student FROM Lena В оператор REVOKE можна використовувати модифкатори CASCADE та

RESTRICT. Якщо вдмняються права користувача на деяку таблицю, то доцльно вдмнити його права на вс представлення, що потребують доступу до вс таблиц. Зробити це можна за допомогою CASCADE. Модифкатор RESTRICT не дозволя вдмнити право доступу, яке вимагаться згдно ншим правам, що присвон цьому користувачу. Мова манпулювання даними DML. Основн типи операторв Ш SELECT Ш INSERT Ш DELETE

Ш UPDATE SELECT основа SQL. Використовуться кожен раз при отриманн даних. Базовий синтаксис оператора SELECT SELECT FROM Student нш SELECT FROM Student WHERE Raiting 91 AND Credit 120 SELECT FROM Student WHERE NOT Course4 SELECT FROM Student WHERE RaitingCredit 1 В SQL спецальний оператор для порвняння символьних рядкв.

Предикат LIKE вибира рядки на основ визначеного шаблону. В шаблон можуть входити звичайн символи, а також символи та . Рядок символв довльно довжини можна поставити у вдповднсть шаблону , а один символ Вибр всх рядкв, що мстять рядок Database в пол Title SELECT ChapterNum FROM Chapters WHERE Title LIKE Database

Пошук заголовкв, в яких починаючи з друго позиц мститься рядок ata SELECT ChapterNum FROm Chapters WHERE Title LIKE ata Для спрощення оператору WHERE використовуться предикати IN та BETWEEN SELECT StudID FROM Student WHERE Course IN 4, 3 SELECT StudName FROM Student WHERE Raiting

BETWEEN 91 AND 100 В багатьох задачах треба знайти вс можлив значення певного поля на деякй множин рядкв. Зробити це можна за допомогою ключового слова DISTINCT, яке запобга дублюванню елементв в вихднй множин результатв. SELECT DISTINCT Course FROM Student По замовченню рядки, що повертаються псля виконання запиту, подаються в довльному порядку. Змнити це можна за допомогою оператора ORDER BY, який дозволя вказати один або деклька стовпцв, що будуть використовуватися для сортування

повертамих рядкв. Для кожного стовпця можна вказати модифкатор ASC або DESC. SELECT StudID FROM Student ORDER BY StudID ASC Якщо в оператор ORDER BY вказати деклька стовпцв, то повертам рядки будуть вдсортован спочатку за першим стовпцем. Потм рядки, що мстять однаков значення в першому пол, будуть вдсортован ще за другим стовпцем. Сортування рядкв за зростанням значень в стовпц

Salary, а рядки з однаковими значеннями в цьому пол за спаданням дентифкацйних номерв EmpID SELECT EmpID, Salary FROM Employee ORDER BY Salary ASC, EmpID DESC Дуже часто треба вираховувати значення на основ даних з усх рядкв, що повертаються, наприклад загальну суму значень в деякому стовпц всх повертамих рядкв. Так типи розрахункв можна виконувати за допомогою таких функцй -

AVG поверта середн значення в стовпц COUNT пдрахову кльксть повертамих рядкв MAX поверта максимальне значення для деякого стовпця в результуючй множин MIN поверта мнмальне значення для деякого стовпця в результуючй множин SUM пдрахову загальну суму всх значень для деякого стовпця в результуючй множин. Задання значень дати часу виклика особливий нтерес.

Як правило, в рзних системах керування базами даних використовуються рзн, а тому, несумсн, способи представлення лтералв для таких значень. ODBC забезпечу переносимий синтаксис для таких значень. Для лтералв дати використовуються один з наступних форматв d yyyy-mm-dd Для лтералв часу t hhmmss Для представлення значень дати часу ts yyyy-mm-dd hhmmss Функц SQL. В SQL, що використовуться для ODBC, визначено багато функцй, як можна використовувати при

побудов запитв або в параметр списку вибору, або в оператор WHERE. Ц функц можна розподлити на 5 груп числов, строков, функц дати та часу, функц системи та функц перетворення типв даних. Синтаксис ODBC визнача таку форму запису при виклику функц в SQL fn м я функц Строков функц Деяк функц для роботи з рядками в ODBC SQL - CONCATвираз1, вираз2 приднання вираз1 до вираз2 -

INSERTвираз1, початок, довжина, вираз2 поверта вираз1, в якому видалена довжина символв, починаючи з символу початок, замсть яких, починаючи з символу початок, вставлено вираз2 - LCASEвираз поверта вираз, символи якого перетворен на вдповдн з нижнього регстру - LENGTH вираз довжина вираз в символах - POSITION вираз1, вираз2 поверта позицю вираз1 в вираз2 - UCASEвираз поверта вираз, вс символи якого перетворен на вдповдн верхнього регстру.

Числов функц. Деяк числов функц в ODBC SQL - ABSвираз поверта абсолютне значення вираз - MODвираз1, вираз2 поверта остачу вд длення вираз1 на вираз2 - POWERвираз1, вираз2 поверта вираз1 в степен вираз2 - RANDвираз поверта випадкове число. Вираз зада кльксть випадкових чисел - ROUNDвира1, вираз2 поверта вираз1 округлене з точнстю до вираз2 знакв псля коми -

SQRTвираз поверта квадратний корнь з вираз. Функц дати та часу. Деяк функц дати та часу в ODBC SQL - CURDATE поверта поточну дату - CURTIME поверта поточний час - NOW поверта поточний час дату в формат датачас Системн функц. Деяк системн функц в ODBC SQL - DATABASE поверта м бази даних, що використовуться в поточному сеанс - USER поверта м я користувача бази даних, що використовуться в поточному сеанс

Перетворення типв даних. Функця перетворення типв даних в ODBC SQL CONVERTвираз, типданих Параметр типданих може приймати так значення SQLBINARY SQLCHAR SQLDECIMAL SQLDOUBLE SQLFLOAT SQLINTEGER SQLLONGVARCHAR SQLNUMERIC SQLREAL SQLSMALLINT SQLTYPEDATE SQLTYPETIME SQLTYPETIMESTAMP SQLVARCHAR Об днання.

Операця об днання поверта рядки, що сформован з даних двох або бльше рзних таблиць об днан в процес виконання запиту. SELECT Name, Prices FROM Products, Prices WHERE Products.IDPrices.ID При виконанн цього оператора будуть видлен вс рядки з таблиц Products, що вдповдають рядкам з таблиц Prices. Це так зване внутршн об днання. Для того, щоб створити запит, який поверта рядки, що не мають вдповдност в однй з цих таблиць, треба

використовувати зовншн об днання. Вибрати рядки для кожного працвника, зокрема тих, хто ще не вдноситься н до якого вддлу. SELECT FROM oj Employee LEFT OUTER JOIN Department ON Employee.DeptNumDepartment.DeptNum LEFT OUTER JOIN використовуться для того, щоб гарантувати, що в результуючй множин будуть представлен вс рядки з лво таблиц Employee. Щоб включити вс рядки з право таблиц можна використовувати

RIGHT OUTER JOIN, а для вибору всх рядкв з обох таблиць FULL OUTER JOIN. Вкладен запити. Вкладений запит може використовуватися з предикатом EXISTS NOT EXISTS. Вибрати список вддлв, що не укомплектован працвниками SELECT DeptName FROM Department WHERE DeptNum NOT EXISTS SELECT FROM Employee Повертаться список вддлв, номера яких не мстяться в жодному запису таблиц

Employee. Можна також використовувати предикати IN та NOT IN. Дуже часто вкладен запити використовуються для операцй порвняння з клячовими словами ANY та ALL. Скласти список всх студентв департаменту комп ютерних технологй, у яких рейтинг вищий, нж у студентв природничого факультету. SELECT StudentDCSS.Name FROM StudentDCSS WHERE StudentDCSS.Rating ALL

SELECT StudentFNS.Rating FROM StudentFNS Об днан запити. SQL дозволя отримати один результат через об днання двох незалежних запитв шляхом х комбнац за допомогою ключового слова UNION. SELECT FROM StudentsDCSS UNION SELECT FROM StudentsFNS Оператор INSERT. За допомогою оператора INSERT можна вставити дан в певне мсце в баз даних.

INSERT INTO Studentsvipuskniki VALUES 1, Sveta Fiyalka , DCSS , 95 Оператор DELETE. DELETE FROM Student WHERE Student.Rating 61 Оператор UPDATE. За допомогою цього оператора можна змнювати значення в снуючих рядках бази даних UPDATE Employee SET Salary100 ODBC в MFS-застосуваннях. Використання ODBC значно спрощуться за допомогою Microsoft

Foundation Classes Library Бблотека основних класв Microsoft. Прост застосування, що отримують доступ к таблицям через ODBC, можуть бути створен всього лише деклькома натисненнями кнопки миш з використанням мастерв AppWizard та ClassWizard. сну деклька класв MFS, як пдтримують доступ до баз даних наборам записв. Класи ODBC в MFS. Найголовнш класи, що надаються MFS для пдтримки застосувань

ODBC це класи CDatabase та CRecordset. Клас CDatabase представля з днання з джерелом даних. Його змнна mhdbc представля дескриптор з днання ODBC. Функц Open та Close можна використовувати для установки або закриття з днання з джерелом даних. нш функц використовуються для установки або отримання параметрв з днання. До таких функцй належать GetConnectповерта рядок з днання

ODBC, IsOpen, GetDatabaseName, CanUpdate, CanTransact, InWaitForDataSource, SetLoginTimeout та SetSynchronousMode. По замовченню для доступу до джерела даних клас CDatabase використову асинхронний режим. Виконувана асинхронна дя може бути перервана викликом функц Cancel. Обробка транзанкцй пдтримуться функцями BeginTrans та

Rollback. Клас CDatabase нада також дв перекривам функц. Функця OnSetOptions використовуться для установки стандартних опцй з днання. Функця OnWaitForDataSource викликаться системою для повдомлення про час обробки при виконанн довго операц. Функцю ExecuteSQL можна використовувати для безпосереднього виконання оператора SQL. Цей оператор не використовуться разом з операторами

SQL, що повертають записи даних. Клас CRecordset нкапсулю функцональн можливост оператора ODBC SQL набору рядкв, що повертаються оператором. Змнн-члени цього класу дентифкують дескриптор оператора ODBC, число полв параметрв в набор даних, об кт CDatabase, за допомогою якого набр записв пдключен до джерела даних, два рядки, що вдповдають умовам WHERE та

ORDER BY. Двома основними типами наборв записв динамчн статичн набори. Тип набору записв вказуться при виклику функц CRecordsetOpen. Статичн набори представляють статичний варант представлення даних. Це найбльш зручно для таких задач, як створення звту. Динамчн набори представляють динамчний варант представлення даних, що вдобража змни,виконан ншими користувачами

або за допомогою нших наборв записв застосування. Коли набр записв вдкриваться викликом функц Open, вдбуваться доступ до таблиц запит, що представляться наьором записв, виконуться. Набр записв пов язаний з ним дескриптор можуть бути закрит викликом функц Close. Атрибути набору записв можна отримати через виклик функцй CanAppend, CanRestart, CanScroll, CanTransact, CanUpdate,

GetRecordCount, GetTableName, GetSQL, IsOpen, IsEOF, IsBOF та IsDeleted. Перемщення по набору записв можна отримати за допомогою функцй Move, MoveFirst, MoveLast, MoveNext та MovePrev. Д з набором записв можуть вдбуватися викликом функцй Addnew, Delete, Edit або Update. Об кт типу CRecordset нколи не використовуться безпосередньо. Необхдно отримати клас, похдний вд CRecordset, додати змнн, що вдповдають оплям таблиц, яку представляють

набр записв. Потм треба перекрити функцю DoFieldExchange набору записв ця функця за допомогою функцй обмну полями записв RFXRecord Field Exchange повинна сприяти обмну даних мж змнними класу та полями в баз даних. Ц функц за синтаксисом аналогчн функцям обмуну даними далогу dialog data exchange DDX. Функц RFX м я функцТип поляТип SQL ODBCFXBinaryCByteArraySQLBINARY, SQLLONGVARBINARY, SQLVARBINARYRFXBoolBOOLSQLBITRFXByteBYTE

SQLTINYINTRFXDateCTimeSQLDATE, SQLTIME, SQLTIMESTAMPRFXDoubledoubleSQLDOUBLERFXI ntintSQLSMALLINTRFXLongLONGSQLINTEGERRFX LongBinaryCLongBinarySQLLONGVARCHARRFXSi nglefloatSQLREALRFXTextCstringSQLCHAR, SQLDECIMAL, SQLLONGVARCHAR, SQLNUMERIC, SQLVARCHAR Обмн полями пдтримуться за допомогою класу CfieldExchange. Об кт цього класу мстить нформацю про поля, обмн якими повинен вдбуватися при виклику функц

DoFieldExchange набору записв. Клас CRecordView це клас перегляду, похдний вд CformView, розробленого спецально для вдображення в формах записв баз даних. Об кти типу CRecordView використовують функц обмну даними далогу DDX та обмна полями записв RFX для пдтримки перемщення даних мж формою джерелом даних. Об кти, похдн вд 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 створю так класи Новий клас CMFSDB похдним вд CRecordset. При об явленн цього класу можна побачити, що майстер AppWizard не тльки створив клас, але й додав змнн-члени, що вдображають поля вказано таблиц бази даних. Ц змнн також вдображаються в файл реалзац класу, в конструктор, а також в функц DoFieldExchange. Остання викликаться MFS для обмну даними мж змнними набору записв вдповдними стовпцями

в таблиц бази даних. Такий створений проект представля собою пусте далогове вкно. Для його змни треба додати елементи керування скористатися майстером ClassWizard для додавання вдповдних змнних-членв класв. До далогового вкна можна додати статичн елементи керування та елементи редагування, як будуть вдображати необхдну нформацю, вибка яко буде здйснюватися запитом

SELECT DISTINCT student.Name, subject.Subject FROM Mark INNER JOIN student ON Mark.Name student.Name INNER JOIN subject ON Mark.Subject subject.Subject WHERE Mark.Mark 61 Вибрати всх студентв, що мають академзаборгованост. Даний запит можна реалзувати безпосередньо в середовищ

Visual C за допомогою функц CRecordsetGetDefaultSQL. змнна mstrFilter вдповда умов SQL WHERE. Cstring CMFSDBSetGetDefaultSQL mstrFilterTMark.Mark 61 return TMark,student Кнцевий вигляд застосування За допомогою Component Galery до проекта було ще додано Tips of the Day Об кти доступу до даних. Data Access

Objects Об кти доступу до даних один з останнх виробв Microsoft в технолог доступу до баз даних. Ця технологя застосовуться до баз даних в Microsoft Visual Basic, Microsoft Access та Visual Basic for Application починаючи з Visual C4, за допомогою набору спецалзованих класв 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 представляють набори записв. Такий набор може представляти записи в таблиц, динамчний статичний набори. Набр записв типу таблиц поновлюваним представля записи в однй таблиц. Набр записв динамчного типу представля записи з одно або деклькох таблиць результатом запиту. Записи динамчного типу також поновлюван. Статичнй набр може мстити поля з одно або деклькох таблиць,

але ц поля не поновлюван. Статичний набр це статична копя записв, що використовуться для пошуку даних або створення звтв. Набр записв представля велику кльксть функцй. Найважлившими з них функц перемщення по набору записв та функц поновлення даних. К функцям перемщення вдносяться Find, FindFirst, FindLast, FindPrev, Move, MoveFirst, MoveLast, MoveNext, MovePrev.

До числа функцй поновлення входять AddNew, CancelUpdate, Delete, Edit, Update. нш функц, пов язан з перемщенням GetAbsolutePosition, GetBookmark, GetPercenrPosition, SetAbsolutePosition, SetBookmark, SetPercentPosition. Клас CDaoRecordset представля рзн функц атрибутв для установки та отримання атрибутв набору записв.

Напиклад, функцю CanUpdate можна використовувати для визначення, чи набр записв поновлюваним функця SetCurrеntIndex застосовуться для установки поточного ндексу на набр записв таблиц. Звичайно клас CDaoRecordset використовуться шляхом створення похдного вд нього класу набору записв, додавання змнних класу, що представляють поля, та перекриттям функц DoFieldExchange для пдтримки обмну даними мж базой даних та змнними класу.

Проте сну деклька методв, що забезпечують альтернативну можливсть. До х числа входять функц GetFieldValue та SetFieldValue, як представляють можливсть прямого доступу до значення поля за м ям. Цей метод називають динамчним зв язуванням, на противагу статичному, який виконуться за допомогою DoFieldExchange. нш операц з наборами даних можна використовувати для керування локально пдтримумим кешем записв для манпулювання ндексами набору записв.

Клас CDaoDatabase представля з днання з базою даних. З днання вдбуваться викликом функц CDaoDatabaseOpen перериваться викликом CDaoDatabaseClose. Нова база даних може бути створена за допомогою функц CDaoDatabaseCreate. Клас CDaoDatabase представля функц атрибутв наприклад, GetName можна використовувати для отримання мен бази даних, а

IsOpen для визначення, чи вдкрито з днання, що представляться об ктом CDaoDatabase. нш методи використовуються для манпулювання наборами об ктв визначення таблиць визначення запитв для ц таблиц даних. Зокрема, функцю DeleteTableDef використовують для видалення з бази даних не тльки об кта TableDef DAO, але основно таблиц всх даних. Клас CDaoWorkspace представля сеанси баз даних. Як правило, не треба створювати об кти типу

CDaoWorkspace, якщо нема необхдност використовувати спецальн функцональн можливост, що доступн за допомогою цього класу, або отримувати доступ до баз даних, захищених паролем. Робочй простр DAO може бути створений викликом функц CDaoWorkspaceCreate. Аргументи ц функц вказують м я робочого простору, м я користувача та пароль. снуючий об кт робочого простору може бути вдкритий викликом

CdaoWorkspaceOpen робочий простр по замовченню може бути явно вдкритий шляхом передач цй функц параметра NULL. сну деклька функцй, як манпулюють базами даних та самою Jet-машиною баз даних. Наприклад, базу даних можна зжати або вдновити викликом функц CompacDatabase або RepairDatabase. нш функц можна використовувати для манпулювання менами користувачв, паролями або ншими атрибутами баз даних. Клас CDaoQueryDef представля визначення запитв.

Для створення нового визначення запиту слд скористатися функцю CQueryDefCreate для доступу до визначення запиту, збереженого в баз даних, необхдно використовувати функцю CQueryDefOpen. Щойно створений запит може бути доданий до бази даних викликом функц CQueryDefAppend. Об кти CQueryDef використовуються разом з об ктами CRecordset для отримання даних з бази даних, а також - безпосередньо для виконання запиту на дю, яка

мня дан в баз даних, слд використовувати функцю CQueryDefExecute. нш методи CQueryDef використовують для установки отримання атрибутв визначення запитв для манпулювання полями запитв параметрами. Клас CDaoTableDef представля визначення таблиць. Визначення таблиц опису структуру атрибути таблиц в баз даних. снуюче в баз даних визначення таблиц може бути вдкрито викликом функц CDaoTableDefOpen.

Нове визначення таблиц може бути створене викликом функц CDaoTableDefCreate. Для додавання до бази даних таблиц, що вдповда новому визначенню, слд викликати функцю Append. Поля можуть створюватися видалятися за допомогою функцй CreateField та DeleteField. ндекси для таблиц можуть бути створен або видален викликом функцй CreateIndex та DeleteIndex. нш функц можна використовувати для установки або отримання рзних атрибутв

таблиц, наприклад, GetFieldCount поверта кльксть полв в таблиц, а SetValidationRule використовуться для присвоння полю умови переврки на значення. Крм цих основних класв DAO операц DAO використовують два додаткових класи CDaoFieldExchange та CDaoException. CDaoFieldExchange використовуться при звертаннях до CDaoRecordsetDoFieldExchange. Об кт типу СdaoFieldExchange визнача поле, що змнються операцю обмну полями,

та забезпечу нш параметри, що характерзують обмн полями. Вс класи DAO використовують об кти виключення типу CDaoException для повдомлення про помилки. Побудова застосування DAO. .Для побудови застосування DAO необхдно перш за все створити джерело даних. Нехай ним буде база даних, створена в Microsoft Access.

База даних Employee складаться з 2 таблиць, де мститься нформаця про працвникв х м я та вк, та вдомост про робоч плани назва плану та максимальний вк робтника, якому буде дозволено займатися цим планом. Створення застосування-DAO здйснено за допомогою AppWizard. Проект однодокументний, в якост джерела даних Data Source вибано DAO, а дйсним файлом бази даних базу даних

Employee. Структура застосування, яка створються AppWizard схожа на вдповдну для ODBC. Класи застосування Новий клас CDAODBSet DAODB назва створюваного проекту породжений вд CDaoRecordset представля набр рядкв, як будуть вибиратися з об днання всх таблиць. AppWizard вставля змнн, як вдповдають стовпцям полям таблиць. Об явлення класу CDAODBSet class CDAODBSet public

CDaoRecordset public CDAODBSetCDaoDatabase pDatabase NULL DECLAREDYNAMICCDAODBSet FieldParam Data AFXFIELDCDAODBSet, CDaoRecordset Cstring mLastName Cstring mFirstName long mAge Cstring mName long mMaxAge AFXFIELD Overrides ClassWizard generated virtual function overrides AFXVIRTUALCDAODBSet public virtual Cstring GetDefaultDBName

REVIEW Get a comment here virtual Cstring GetDefaultSQL default SQL for Recordset virtual void DoFieldExchangeCDaoFieldExchange pFX RFX support AFXVIRTUAL Implementation ifdef DEBUG virtual void AssertValid const virtual void DumpCdumpContext dc const endif Реалзаця класу CDAODBSet показу, як ц змнн нцалзуються в конструктор класу.

Звертання до цих змнних також в реалзац функц DoFieldExchange, сгенеровано мастером AppWizard. Ця функця здйсню обмн даними мж змнними-членами в клас полями в баз даних. Реалзаця класу CDAODBSet IMPLEMENTDYNAMICCDAODBSet, CDaoRecordset CDAODBSetCDAODBSetCDaoDatabase pdb CDaoRecordsetpdb AFXFIELDINITCDAODBSet mLastName T mFirstName T mAge 0 mName

T mMaxAge 0 mnFields 5 AFXFIELDINIT mnDefaultType dbOpenDynaset Cstring CDAODBSetGetDefaultDBName return TDVisual StudioMyProjectsDAODBEmployee1.mdb Cstring CDAODBSetGetDefaultSQL return TEmployees,Plans void CDAODBSetDoFieldExchangeCDaoFieldExchang e pFX AFXFIELDMAPCDAODBSet pFX- SetFieldTypeCDaoFieldExchangeoutputColum n DFXTextpFX,

TLastName, mLastName DFXTextpFX, TFirstName, mFirstName DFXLongpFX, TAge, mAge DFXTextpFX, TName, mName DFXLongpFX, TMaxAge, mMaxAge AFXFIELDMAP Для виконання задач DoFieldExchange використову функц DFX. Ц функц DAO-аналогами функцй RFX, що використовуються для обмну полями ODBC. ФункцDFX. м я функцТип поляТип ODBC SQLFXBinaryCByteArrayDAOBYTESDFXBoolBOOL

DAOBOOLDFXByteBYTEDAOBYTESDFXCurrencyCOl eCurrencyDAOCURENCYDFXDateTimeCOleDateTi meDAODATEDFXDoubledoubleDAOR8DFXLonglong DAOI4DFXLongBinaryCLongBinaryDAOBYTESDFX SHORTshortDAOI2DFXSinglefloatDAOR4DFXTex tCstringDAOCHAR,DAOWCHAR Клас документа CDAODBDoc мстить нову змнну mdAODBSet типу CDAODBSet. Ця змнна представля набр записв, з якими пов язаний документ. Клас перегляду CDAODBView мстить вказвник типу CDAODBSet mpSet в реалзац по замовченю вн встановлений

для вказвки на змнну mdAODBSet об кта-документу. Клас перегляду також мстить нову функцю OnGetrecordset, яка в реалзац по замовченню поверта mpSet. Настройка застосування. В далогове вкно IDDDAODBFORM додано вдповдн статичн елементи керування та елементи керування редагуванням. За допомогою далогового вкна Add Member Variable майстера ClassWizard дентифкумо змнн далогового вкна вдповдними змнними наборами

записв. Це робиться за допомогою вдповдно змнно mpSet. Для змни критеря вибору можна скористатися функцю CDAODBSetGetDefaultSQL. Реалзаця ц функц по замовченню поверта мена мена таблиць, з яких вибираються записи. В SQL потрбний нам вибр можна було б реалзувати SELECT Employees.LastName, Employees.FirstName, Employess.

Age, Plans.Name, Plans.MaxAge FROM Employees, Plans Where Employees.Age Plans.MaxAge ORDER BY Employees.LastName, Employees.FirstName, Plans.Name Вибрати вдомост про прзвища та мена працвникв, а також назви планв, для тих працвникв, вк яких не перевищу максимальний вк, допустимий для цього плану. При цьому вивд повинен бути вдсортований спочатку за прзвищами працвникв, потм за х менами, накнець,

за назвами планв. Для ствоення вдповдного запиту можна використовувати змнн класу CDaoRecordset. Цей клас пропону дв змнн, одна з яких mstrFilter вдповда умов SQL WHERE , а нша mstrSort умов SQL ORDER BY. Оновлення CDAODBSetGetDefaultSQL Cstring CDAODBSetGetDefaultSQL mstrFilterTEmployees.Age Plans.MaxAge mstrSortTEmployees.LastName,Employees.

Fi rstName,Plans.Name return TEmployees,Plans Застосування ма такий вигляд За допомогою Component Galery до проекта було ще додано екранну заставку Splash Screen Та системна нформаця для далогового вкна About System Info for About Dialog. Взуальн нстументи бази даних. Visual C нтегру в Visual Studio ряд нструментв, пов язаних з базами даних.

Тепер можна створювати бази даних, заповнювати таблиц, створювати тестувати запити та вдлагоджувати збережен процедури на вддаленому або локальному сервер, не залишаючи середовище Visual Studio. Багато з можливостей розробки баз даних доступн для бльшост джерел даних, нш, так як створення таблиц, характен для Microsoft SQL Server. Дв можливост представляють особливий нтерес. Перша

Query Designer, який дозволя створювати тестувати запити SQL з Visual Studio друга вдладчик SQL, який дозволя вдлагоджувати збережен процедури, що виконуються на Microsoft SQL Server. Для демонстац вищезазначених можливостей була створена база даних за допомогою Microsoft Access. Ця база мстить дв таблиц таблиця Books вдобража книги з х назвами, авторами та ISBN ндексами таблиця

Authors мстить вдомост про авторв. Обидв таблиц з днуються вдношенням багато-до-багатьох Books.Authors - Authors.Name. Для доступу до бази даних з Visual Studio необхдно створити проект бази даних Database project. Доступ до джерела даних здйснються через вказвку мен файлу джерела даних. Це файл Books.DSN. У вкладц FileView у вкн Workspace лише один файл файлове джерело даних файл

DSN У вкладц DataView можна побачити таблиц поля, а також запити, якщо вони були створен Таким чином, тепер можна перевряти змнювати змст таблиць, створювати SQL запити. Не можна створювати нов таблиц. Для додавання або змни даних достатньо двч натиснути на вдповднй таблиц у вкладц DataView. При цьому також з являться вкно QUERY. Створення запитв. Побудумо запит вибрати вс книги, написан американськими авторами.

New Query можна створити натиснувши на мен бази даних у вкладц FileView Вибр таблиц здйснються перетаскуванням вдповдного мен таблиц з вкна DataView в вкно перегляду даграм вкна Query. Встановлення з днання мж полями аналогчне просте перетаскування Критерй вибору вдображаться в панел стки Панель SQL вдобража вдповдний SQL-запит Панель результатв вдобража результати запитв

Можна створювати не тльки запити-SELECT, а й INSERT, UPDATE, DELETE. Запит UPDATE не ма завершеного набору при виконанн цього запиту Visual Studio в далоговому вкн вдобража тльки кльксть записв, що були модифкован Висновки. В данй робот, за допомогою створення власних прикладв, були розглянут основн можливост програмування баз даних в Visual C, зокрема використовуючи ODBC та

DAO, а також можливост взуального конструювання баз даних. Резюме ODBC могутнй, незалежний вд постачальника механзм доступу до нформац з рзних джерел даних. Ш В основ ODBC лежать драйвери ODBC. Ш Джерелами даних можуть бути локальн файли та сервери вддалених даних. Ш Джерела даних звичайно вказуються за допомогою програми установки ODBC, хоча функця SQLDriverConnect робить можливим пдключення до джерела даних, який не був встановлений

таким чином. Ш Сеанс ODBC мстить звертання до функцй, як будують з днання з джерелом даних, конструюють представляють оператори SQL та обробляють результати. Ш ODBC пдтриму варанти стандартного SQL оператори манпулювання даними SELECT, INSERT, UPDATE, DELETE та оператори визначення даних CREATE TABLE, DROP TABLE, CREATE INDEX, DROP INDEX,

ALTER TABLE, CREATE VIEW. Ш MFS нада два класи для пдтримки ODBC CDatabase та CRecordset. DAO - представля засновану на OLE технологю, що використовуться в Visual Basic for Application та Microsoft Access для доступу до баз даних за допомогою Jet-машини баз даних Microsoft. Ш MFS, Visual C AppWizard та

ClassWizard забезпечують пдтримку розробки DAO-застосувань в Visual C. Ш Бблотеки DAO поставляються у вигляд компонент. Ш Для спрощення представлення DAO пропонуться 5 основних CDaoRecordset, CDaoDatabase, CDaoWorkspace, CDaoQueryDef, CDaoTableDef та 2 додаткових класи CDaoFieldExchange,

CDaoException. Visual C пропону взуальн нструменти для роботи з базами даних. Ш Деяк з цих нструментв доступн для бльшост джерел даних ODBC створення проекту Database project нш характерн для Microsoft SQL Server створення проекту New Database Wizard. Ш Проект бази даних може бути створений для доступу до нформац, що мститься в снуючй баз даних.

Дан можна редагувати, додавати та видаляти можна створювати запити. Ш При наявност Microsoft SQL Server доступний ряд додаткових можливостей, зокрема можна додавати таблиц та, використовуючи даграми баз даних, можна вказувати взамозв язки. Список створених проектв В ход написання дано курсово роботи були створен так програмн продукти I. Консольне застосування - ODBCExcel програма ODBC, що може бути вдкомпльована як в самому середовищ

Visual C, так з командного рядка комплятором cl.exe. Дане застосування люстру можливост використання функц SQLDriverConnect, яка нада можливсть пдключення до джерела даних, навть якщо той не був ранше нстальований за допомогою програми початково установки ODBC. Джерелом даних для цього прикладу таблиця Student, створена в Microsoft Excel. Також люструються можливост нших функцй, пов язаних з створенням

SQL-запитв. Програма вдобража виконання двох запитв II. Проект - MFSDB застосування, що використову технологю ODBC, створене майстером AppWizard. Використання ODBC в цьому випадку спрощуться за допомогою Microsoft Foundation Classes Library MFS. Джерелом даних, що було нстальовано за допомогою початково установки ODBC, база даних Students, створена в Microsoft

Access. Розглянут можливост створення запитв безпосередньо в середовищ Visual C, а саме використовуючи функцю GetDefaultSQL класу, породженого вд CRecordset. Створена форма, яка вдобража результати запиту. В застосуванн також створен додатков класи, породжен вд CRecordset, що дають змогу писати додатков запити або використовувати нш таблиц з дано бази даних.

Створено деклька форм, класи яких породжен вд CRecordView. Одн з них вдображають результати роботи запитв, написаних за допомогою вищезазначено функц, нш використовують запит, створений в Microsoft Access. Розглянут можливост використання Component Galery до проекту додано компоненту Tips of the Day Поради дня. III. Проект - DAODB - застосування, що використову технологю

DAO, створене майстером AppWizard. Джерелом даних база даних Employees, створена в Microft Access. В застосуванн створена форма, яка вдобража результати запиту, написаного за допомогою функц GetDefaultSQL. До проекту додан компоненти з Component Galery - Splash Screen Екранна заставка та System Info for About Dialog Системна нформаця дл далогового вкна

About. IV. Проект Book проект Database project, люстру можливост бази даних Books, створено в Microsoft Access, в Visual Studio. Таблиц бази даних можна передивлятися, редагувати, додавати нов записи чи видаляти снуюч. Можна створювати нов запити, запускати х на виконання, вдлагоджувати, все це не залишаючи середовища Visual C. Список використано лтератури. 1. В.Тосс и др.

Visual C5. Энциклопедия пользователя. -Киев DiaSoft, 1998 683c. 2. Д.Беннет. Visual C5. Руководство разработчика. -Киев Диалектика, 1998 760с. 3. Джон Вейскас. Эфективная работа с Access 7.0. -Санкт-Петербург Питер, 1997 830с. 4. К. Дейт. Введение в систему баз данных. -М. Наука,1988 463с.

5. Дж. Вебер. Технология Java в подлиннике. -Санкт-Петербург BHV, 1998 1070с.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Технология и организация в городском строительстве и хозяйстве
Реферат Техническая сложность современных дистанций лыжного ориентирования
Реферат Александр Матвеевич Пешковский
Реферат Антикризисный PR
Реферат Правовое обслуживание адвокатов сферы хозяйственных отношений и защиты предпринимательства
Реферат История болезни - кожные болезни ограниченная склеродермия
Реферат «Брендинг в системі маркетингу підприємства» роботу виконано за матеріалами підприємства
Реферат Коллизионные вопросы в области семейного права в международном частном праве
Реферат Basketball Essay Research Paper BasketballBasketball is a
Реферат Обовязки та права людини громадянина
Реферат Коррозия, ее виды. Защита от коррозий
Реферат Общие принципы построения вычислительных сетей
Реферат Джейн Ейр Шарлотти Бронте як соціально-психологічний роман виховання
Реферат Industry Production Essay Research Paper Industry ProductionThe
Реферат Ясырь