Тема: «Підключення бази даних, створеної в СКБД Microsoft Access, до середовища Delphi. Додавання, модифікація та знищення даних з бази даних»



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


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



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


ЗНАЕТЕ ЛИ ВЫ?

Тема: «Підключення бази даних, створеної в СКБД Microsoft Access, до середовища Delphi. Додавання, модифікація та знищення даних з бази даних»



Мета:навчитися здійснювати підключення бази даних, створеної в СКБД Microsoft Access, до середовища Delphi за допомогою компонента ADOConnectionз закладки ADO палітри компонентів; навчитися здійснювати налаштування з’єднання з сервером; дізнатися призначення компонентів ADOTable, DataSource та DBGrid з закладки ADO. Навчитися створювати модуль даних в середовищі Delphi, здійснювати роботу з менеджером проектів, керувати відображенням даних.

Обладнання: комп’ютер.

Програмне забезпечення: СКБД Microsoft Access, середовище розробки Delphi.

Хід заняття

Короткі теоретичні відомості

Для роботи з базами в Delphi є декілька наборів компонент. Кожен набір дуже добре підходить для вирішення визначеного колу задач. Всі вони використовують різні технології доступу до даних та відрізняються за можливостями.

На закладці Data Access розташовані головні компоненти доступу до даних. Ці компоненти загальні для всіх та можуть використовуватися сумісно з іншими групами компонентів.

На закладці Data Controls розташовані компоненти для відображення та редагування даних в таблицях. Ці компоненти також використовуються в незалежності від технології доступу до даних, яка використовується.

Закладка BDE містить компоненти, які дозволяють отримати доступ до БД за технологією, яка розроблена фірмою Borland під назвою Borland Database Engine. Ця технологія дуже застаріла та поставляється лише для сумісності зі старими версіями. Не дивлячись на це, вона добре працює зі старими типами БД, такими як Paradox та dBase.

DBExpress – це нова технологія доступу до даних фірми Borland. Вона відрізняється більшою гнучкістю та добре підходить для програмування клієнт-серверних додатків, які використовують БД. Компоненти з цієї закладки радять використовувати з БД побудованих за серверною технологією, наприклад, Oracle, DB2 або MySQL.

ADO (Active Data Objects) – технологія доступу до даних, яка розроблена корпорацієї Microsoft. Дуже добра бібліотека, але радять її використовувати лише з БД Microsoft, а саме MS Access або MS SQL Server. Її також можна використовувати, якщо специфічний сервер БД, який може працювати лише через ODBC.

Робота з БД Access здійснюється через спеціальну надстройку DAO, яка може встановлюватися на комп’ютер разом з програмою Office або йти як окрема установка. Так якщо програма не буде працювати на комп’ютері клієнта, то треба потурбуватися про встановлення DAO на комп’ютер.

 

Виконати завдання

§ Створити базу даних в СКБД Access за темою «Телефонний довідник».

§ Створити таблиці, які буде містити БД за темою «Телефонний довідник».

§ Встановити зв'язок між таблицями та забезпечити цілісність БД.

§ Здійснити підключення створеної БД до середовища Delphi за допомогою компонента ADOConnection.

§ Зробити поля таблиці, які є первинними ключами, невидимими та навчитися здійснювати керування даними.

§ Зробити додавання, знищення та модифікацію даних таблиць створеної БД (за допомогою меню та кнопок).

Виконання завдання

 

1. Створіть базу даних в СКБД Access з іменем «Телефонний довідник.mdb».

2. Створіть таблиці «Довідник» та «Довідник міст» в СКБД Access в режимі конструктора таблиць:

 

Таблиця «Довідник» повинна мати такі поля:

§ Ім’я поля - Key1. Тип - Лічильник. Це буде ключ. Розмір поля – Довге ціле. Індексоване поле – Да (Співпадання не допускаються).

§ Ім’я поля – Прізвище. Тип - Текстовий. Розмір поля - 50. Індексоване поле – Да (Співпадання допускаються).

§ Ім’я поля – Ім’я. Тип - Текстовий. Розмір поля - 50. Індексоване поле – Да (Співпадання допускаються).

§ Ім’я поля – Телефон. Тип - Текстовий. Розмір поля - 20. Індексоване поле – Да (Співпадання допускаються).

§ Ім’я поля – Ел_адреса. Тип - Текстовий. Розмір поля - 30. Індексоване поле – Да (Співпадання допускаються).

§ Ім’я поля – Місто. Тип - Числовой. Розмір поля - Довге ціле. Індексоване поле – Ні.

§ Ім’я поля – Дата. Тип - Дата/час.

§ Ім’я поля – Мобільний_телефон. Тип – Логічний.

Таблиця «Довідник міст» повинна мати такі поля:

§ Ім’я поля – Key1– Лічильник (ключове поле);

§ Ім’я поля – Назва_міста– Тип - Текстовий. Розмір поля - 30.

 

3. Встановіть зв'язок між таблицями та забезпечте цілісність БД.

 

 

4. Заповніть таблиці даними.

5. Створіть новий проект в середовищі Delphi.

6. Розмістіть на формі компонент ADOConnectionз закладки ADO палітри

компонентів.

7. Налаштуйте з’єднання з сервером, яке повинне бути прописане в

властивості «ConnectionString». Для цього треба двічі натиснути по рядку «ConnectionString»та обрати в вікні другий пункт, а саме «Use Connection String», тобто«Використовувати рядок підключення». Далі натиснути по кнопці «Build».В вікні, якевідчинеться, на закладці Providerперелічені всі припустимі ADO драйвери доступу до БД. Якщо якогось з драйверів немає, то можна спробувати обраний за умовчуванням «Microsoft OLE DB Provider for ODBC Drivers». Цей драйвер дозволяє отримати доступ до БД через ODBC драйвер, який є на більшості існуючих БД. В нашому випадку, для доступу до баз даних MS Access використовується драйвер «Microsoft Jet OLE DB Provider». Такий драйвер обов’язково встановлюється на машину разом з MS Office, а в останніх версіях Windows він встановлюється за умовчуванням. Після цього натиснути кнопку «Next», або перейти на закладку «Connection». Вид закладки «Connection» залежить від обраного драйверу. Першою справою, в цьому вікні треба ввести ім’я (якщо треба то й шлях) бази даних в рядку «Select or enter a database name». Якщо БД буде розташовуватися в тій самій директорії, що й запускний файл, то шлях вказувати не треба (взагалі краще зберігати бази в одній директорії з запускними файлами). Якщо тримати файли окремо від запускного, то необхідно буде вказувати повний шлях, а це може визвати проблеми при перенесені програми на інший комп’ютер, тому що програма буде шукати базу за вказаним шляхом, який може змінитися. Якщо бажаєте тримати файли в іншій директорії, то треба вказувати відносний шлях відносно поточної директорії. Щоб легше було обирати файл бази даних, треба натиснути по кнопці з крапками праворуч від рядка введення.

Окрім цього треба заповнити наступні поля:

· Ім’я користувача (User name), можна залишити за умовчуванням, якщо не задане інше при створенні бази в MS Access.

· Пароль (Password) – якщо база має пароль, то його необхідно вказати;

· Пустий пароль (Blank password) – якщо пароль не потрібний, то бажано було б поставити галочку.

· Дозволяти зберігати пароль (Allow saving password). Якщо тут поставити галочку, то пароль може бути збережений.

 

Після обрання бази даних, треба натиснути кнопку «Test Connection», для того, щоб протестувати з’єднання. Якщо все вказане правильно, то повинне з’явитися повідомлення «Test connection succeeded». Все, можна натискати ОК, щоб зачинити вікно створення рядка підключення та ще раз «ОК», для того щоб зачинити вікно редактору рядка підключення.

8. Налаштуйте компонент ADOConnection: для цьогов властивостяхтреба

відключити властивість «LoginPrompt», встановивши її в «False». Це треба для того, щоб при кожному звертанні до бази не з’являлося вікно введення паролю; виставіть властивість «Connected»в «True», щоб відбулось з’єднання з базою.

9. Для отримання доступу до створеної таблиці бази даних треба розмістити

на формі компонент ADOTableз закладки ADOпалітри компонентів. Одразу ж треба змінити його властивість «Name»на ім’я таблиці, яке було вказане при створенні таблиці.

10. Налаштуйте компонент ADOTable: в ньому також є властивість

ConnectionStringта її також можна налаштовувати. Чому «можна»? Тому що, для того щоб це не робити був поставлений на форму компонент ADOConnection. Зараз можна вказати в таблиців властивості Connection, створений компонент з’єднання з базою даних. Натиснути по випадаючому списку в властивості Connectionта обрати там єдиний пункт ADOConnection1. Тепер не треба заповнювати властивість ConnectionString. Після цього в властивості TableNameтреба обрати ім’я таблиці, яку треба відобразити. Все, таблиця та з’єднання вказані, можна підключатися. Для цього треба виставити властивість «Active»в «true».

11. Для відображення даних з таблиці треба ще встановити на форму

компонент «DataSource»з закладки «Data Access»палітри компонентів. Для нього треба вказати, яку саме таблицю він повинен відображати: в властивості «DataSet» треба з випадаючого списка обрати ім’я таблиці. Для реального відображення даних треба встановити компонент «DBGrid». Це компонент-сітка, який може відображати дані у вигляді таблиці. В цьому ж компоненті можна додавати, знищувати та редагувати рядки таблиці.

12. Останній етап створення додатку – пов’язування компонента сітки з

компонентом відображення таблиці. Для цього в властивості «DataSoиrce»компонента «DBGrid»треба вказати створений компонент «DataSource1».

13. Додаток готовий!!! Спробуйте запустити цей приклад та створити

декілька рядків, відредагувати вже існуючі та знищити що-небудь. Для вставки рядка треба використовувати клавишу Ins, а для знищення Ctrl+Del.

14. Створіть модуль даних (модуль даних – це спеціальне вікно, яке

підходить для зберігання компонентів доступу до БД) та перенесіть компоненти доступу до БД в окреме спеціальне вікно. Для цього треба виділити компоненти «ADOConnection1», «DataSource1» та «ТавleName1». Потім обрати з меню Edit пункт Cut, щоб ці компоненти скопіювалися в буфер обміну та одразу знищилися з форми. Після цього оберіть з меню File->New->Data Module. Наступним кроком оберіть з меню Edit пункт Paste, щоб вставити в це вікно вирізанні компоненти. Збережіть новий модуль під іменем «DataModuleUnit».

15. Відчиніть менеджер проектів (в меню View треба обрати Project

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

Перейдіть до головної форми. В сітці «DBGrid1» зникли дані, тому що вона загубила зв'язок з компонентами доступу до даних. Для того, щоб все повернути, треба виділити сітку та натиснути по властивості «DataSource». В списку, який відчинеться, не буде жодного пункту тому, що всі потрібні компоненти були перенесені в окрему форму, а головній формі про це нічого не відоме. Для того, щоб форма дізналася про існування компонентів їй треба вказати в розділі usesмодуль DataModuleUnit. Це можна зробити власноруч або обрати з меню File пункт Use Unit (в цей момент повинне бути вибране вікно коду головної форми, тому що здійснюється підключення нового модулю саме до неї). В вікні, яке з’явиться, треба обрати ім’я нового модуля DataModuleUnit танатиснути ОК. Перевірте в редакторі коду, щоб після ключового слову implementationз’явилось «uses DataModuleUnit;»:

Implementation

uses DataModuleUnit;

{$R *.dfm}

16. Виділіть сітку «DBGrid1» та в властивості «DataSource»вкажіть

компонент «DataSource1», дані якого повинні бути відображені в сітці (DataModule1.DataSource1).

17. Перейдіть до модуля DataModule та налаштуйте відображення даних.

Двічі натисніть по компоненту ADOTable1 та додайте до вікна, яке відчинеться,всі поля БД. Для цього треба натиснути по ньому правою кнопкою миші та в меню, яке з’явиться, обрати пункт «Add All Field»(«Додати всі поля»).

18. Зробіть поля, які є первинними ключами, невидимими. Для цього виділіть

цю властивість в об’єктному інспекторі та встановіть в властивості «Visible» значення «false».

19. Відредагуйте довжину відображення стовпців. Для цього виділіть

властивість, наприклад, «Прізвище». За ширину стовпців відповідає властивість «DisplayWidth».

Є ще такі властивості:

· DefaultExpression – за допомогою цієї властивості можна вказати значення за умовчуванням;

· MaxValue – максимальне припустиме значення;

· MinValue – мінімальне припустиме значення;

· ReadOnly – поле лише для читання;

· Required – якщо вказане значення «true», то поле є обов’язковим для заповнення.

 

20. Для зміни тексту, який відображається в заголовках таблиці, використовується властивість поля «DisplayLabel».

21. Для редагування формату відображення дати використовується

властивість «DisplayFormat», значення якого дорівнює«dddddd».

22. Для створення маски для введення дати використовуєтьсявластивість

«EditMask» зі значенням «99/99/9999».

23. Якщо треба, щоб в логічному полі відображалися значення на російській

мові «Да» або «Нет», а не «true»або«false», треба скористатися властивістю «DisplayValues» зі значенням «Да;Нет»

24. Відчиніть проект створений в попередній частині та модуль

DataModuleUnit.

Додайте сюди компонент DataSource(назвіть його TownSource) та ADOTable(назвіть його TownTable). Після цього у компонента TownSource в властивості DataSetвкажіть таблицю TownTable.

Налаштуйте TownTable на відображення «Довідника міст». Для цього:

§ В властивості «Connection» вкажіть компонент ADOConnection1, який вказує на БД.

§ В властивості «TableName» вкажіть таблицю «Довідник міст».

§ Встановіть властивість «Active» в «True», щоб активізувати таблицю.

 

Увійдіть в редактор полів таблиці TownTable та додайте всі поля. Зробіть поле Key1 невидимим, тому що це лічильник та користувачу він взагалі не потрібний.

25. Створіть нову форму для редагування «Довідника міст» та збережіть

форму в модулі з іменем TownTableUnit. Саму форму назвіть TownTableForm. Підключіть до нової форми модуль DataModuleUnit, щоб звідси можна було б отримати доступ до компонентів для роботи з БД. Для цього з меню File оберіть пункт Use Unit та в вікні, яке з’явиться, вкажіть модуль DataModuleUnit та натисніть ОК.

26. Помістіть на форму сітку DBGrid та в властивості «DataSource» вкажіть

таблицю «Довідник міст» - DataModule1.TownSource. Додати на форму кнопки «Додати», «Зберегти», «Знищити» та «Закрити» для додавання, знищення та збереження рядків довідника (рисунок 1):

 

Рисунок 1 -Форма довідника міст

При натисканні кнопки «Додати» треба написати наступний код:

procedure TTownTableForm.AddBtnClick(Sender: TObject);

Begin

DataModule1.TownTable.Insert;

DBGrid1.SetFocus;

end;

Метод Insert таблиці TownTable додає новий рядок. У другому рядку викликається метод SetFocus нашої сітки, щоб фокус введення перейшов на нього. Після натискання кнопки «Добавить» фокус потрапляє на неї, але після додавання нового рядка, логічним буде перенести фокус на сітку, тому що користувач буде вводити ім’я міста для нового рядка.

При натисканні кнопки «Зберегти» треба написати наступний код:

procedure TTownTableForm.SaveBtnClick(Sender: TObject);

Begin



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

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