Реалізація технології взаємодії з базами даних
Для підключення бази даних MS Access використовується компонент ADOConnection Застосування компонента ADOConnection дає розробнику ряд переваг:
· всі компоненти доступу до даних ADO звертаються до сховища даних через одне з'єднання;
· можливість безпосередньо задати об'єкт провайдера з'єднання;
· рядок підключення зберігається в одному місці, замість того щоб зберігатися в декількох різних компонентах;
· виконання транзакцій;
· можливість виконувати команди ADO;
· розширене управління з'єднанням за допомогою методів-обробників подій.
Компонент TADOConnection виконує роль концентратора з'єднання з сховищем даних. Для встановлення зв'язку потрібно за допомогою властивості ConnectionString сформувати зв'язкові параметри і потім встановити значення True в властивість Connected або викликати метод Open. Для розриву зв'язку виконується метод Close компонента або в його властивість Connected встановлюється значення False. До і після відкриття і закриття з'єднання розробник може використовувати відповідні стандартні методи-обробники подій.
У типових додатках БД компонент DataSource, як правило, пов'язаний з одним компоненом TDataSet (TTable або TQuery) і з одним або більше компонентами Data Controls (такими, як DBGrid, DBEdit та ін.) Зв'язок цього компоненту з компонентами TDataSet і DataControls здійснюється з використанням наступних властивостей і подій:
Властивість DataSet компонента DataSource ідентифікує ім'я компонента TDataSet. Можна привласнити значення властивості DataSet на етапі виконання або за допомогою інспектора об'єктів на етапі проектування.
Властивість Enabled компонента DataSource активізує або зупиняє взаємозв'язок між компонентами TDataSource і Data Controls. Якщо значення властивості Enabled одно true, то компоненти Data Controls, пов'язані з TDataSource, сприймають зміни набору даних. Використання властивості Enabled дозволяє тимчасово роз'єднувати візуальні компоненти Data Controls і TDataSource, наприклад, для того, щоб у разі пошуку в таблиці з великою кількістю записів не відображати на екрані перегортування всієї таблиці.
Доступ до бази даних забезпечують компоненти Database, Table, Query
і Datasource. Значки цих компонентів знаходяться на вкладках Data Access і BDE (рис.6).
Рис. 6 Компоненти вкладок Data Access і BDE забезпечують доступ до даних.
Компонент Database представляє базу даних як єдине ціле, тобто як сукупність таблиць, а компонент Table — як одну з таблиць бази даних. Компонент Datasource (джерело даних) забезпечує зв'язок між компонентом відображення-редагування даних (наприклад, компонент Dbgrid ) і джерелом даних, як яке може виступати таблиця (компонент Table) або результат виконання SQL-запроса до таблиці (компонент Query).
Компонент Datasource дозволяє оперативно вибирати джерела даних, використовувати один і той же компонент (наприклад Dbgrid) для відображення всієї таблиці (бази даних) або тільки результату виконання SQL-запроса до цієї таблиці. Компоненти доступу до даних звертаються до бази даних не безпосередньо, а через процесор баз даних — Borland Database Engine (BDE).
Ядро BDE утворюють динамічні бібліотеки, що реалізовують механізми обміну даними і управління запитами. У склад BDE включені драйвери, що забезпечують роботу з файлами даних форматів Paradox, dbase, Foxpro. Є також механізм підключення драйверів ODBC. Доступ до даних SQL серверів забезпечує окрема система драйверів — SQL Links. З їх допомогою можна дістати доступ до баз даних Oracle, Infomix, Sysbase і Interbase.
Механізм взаємодії компоненту відображення-редагування даних (Dbgrid) з даними (Table або Query) Через компонент Datasource показаний на рис. 7
Рис. 7 Взаємодія компонентів доступу-відображення даних і BDE
У форму застосування, що розробляється, треба додати компоненти Table і Datasource.
Значення властивостей Databasename і Tablename задаються шляхом вибору із списків. У списку Databasename перераховані всі зареєстровані на даному комп'ютері псевдоніми, а в списку Tablename — імена файлів таблиць, які знаходяться у відповідному псевдоніму каталозі.
Слід зазначити, що файли, що входять до складу бібліотеки BDE, призначені для використання не тільки додатками, створеними за допомогою С++ Builder, але і багатьма іншими продуктами Borland (Visual dBase, Paradox, Delphi, Borland C++, IntraBuilder), створеними на їх основі додатками, а також офісними додатками Corel (наприклад, електронною таблицею Quattro Pro), генератором звітів Crystal Reports (Seagate Software). Тому за наявності декількох використовують BDE додатків все 32-розрядні додатки (у тому числі C++ Builder) використовують встановлену останньої 32-розрядну версію BDE. У цьому випадку за замовчуванням програма установки C++ Builder запропонує поставити BDE в каталог, де встановлена вже використовувана версія BDE.