Тема: «створення sql-запитів до БД, створеної в скбд Access через середовище Delphi. Сортування та фільтрація даних» 


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



ЗНАЕТЕ ЛИ ВЫ?

Тема: «створення sql-запитів до БД, створеної в скбд Access через середовище Delphi. Сортування та фільтрація даних»



Мета: навчитися створювати запити до БД, створеної в СКБД Access, через середовище Delphi за допомогою мови структурованих запитів SQL. Навчитися працювати з компонентом ADOQueryз закладки ADO палітри компонентів. Навчитися виконувати сортування та фільтрацію даних БД за визначеним стовпцем.

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

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

Хід заняття

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

SQL є інструментом для відбору та обробки інформації, яка міститься в базі даних.

Запит – команда, яку надає користувач базі даних, та яка повідомлює їй щоб вона вивела визначену інформацію з таблиць в пам’ять.

Інструкція запита:

SELECT [Distinct| All] список полів

FROM ім’я таблиці або список імен таблиць [alias] [,...]

[WHERE умова обрання або з’єднання]

[GROUP BY групування даних за полями]

[HAVING умова для групи]

[ORDER BY список полів, за якими треба підпорядкувати виведення]

Порядок речень та фраз в Select не можна змінити. Лише два речення оператора - Select та From - є обов’язковими, всі інші речення та фрази можуть не використовуватися.

SQL є регістронезалежною мовою.

Для відбору потрібних даних використовується оператор WHERE, який має такий формат:

Where умова пошуку

 

Існує п’ять головних типів умов пошуку:

1. порівняння – порівнюються результати обчислення одного виразу з результатами обчислення іншого виразу;

2. діапазон (between) – перевіряється, потрапляє або ні результат обчислення виразу в заданий діапазон значень;

3. належність до множини (In) – перевіряється, належить або ні результат обчислення виразу до заданої множини значень;

4. відповідність шаблону (Like) – перевіряється, відповідає або ні деяке рядкове значення заданому шаблону;

5. значення Null – перевіряється, містить або ні даний стовпець визначення Null (невідоме або пусте значення).

Компонент ADOQuery розташованийна вкладці ADO, призначений для отримання потрібних результатів з бази даних. Він має такі властивості:

§ ADOConnection – встановлює з’єднання з базою даних звідки будуть обиратися необхідні дані;

§ SQL – властивість призначена для написання sql-запитів;

§ Active – якщо встановлене значення true, то запит є активним, якщо false, то запит є неактивний.

 

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

§ Створити запит на мові SQL до бази даних за темою «Телефонний

довідник», яка була створена в практичній роботі №7. Запит повинен здійснювати пошук людини в телефонному довіднику за номером її телефону. Запит повинен реалізовуватися при натисканні по кнопці «Знайти». Результат розташувати в компоненті-сітці в новій формі.

§ Створити пункт меню «Сортування» з двома підпункти «За прізвищем» та

«За телефоном», за якими можна буде здійснювати сортування даних в базі даних.

§ Створити поле, в якому при введенні хоча б одного символу прізвища

будуть виводитися в компоненті-сітці всі прізвища, які починаються на цей (або ці) символ (символи).

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

Для реалізації можливості пошуку записів за номером телефону в телефонному довіднику треба виконати такі дії:

1. Відкрийте проект, в якому реалізовувався телефонний довідник.

2. Відкрийте модуль даних DataModule, де розташовуються всі

компоненти доступу до БД. Додайте компонент ADOQuery (назвіть його FindQuery) та компонент DataSource (назвіть його FindSource).

3. Встановіть зв'язок між цими компонентами, вказавши у компонента

FindSource в властивості DataSet компонент FindQuery.

4. Виділіть компонент FindQuery, вкажіть в властивості Connection

компонент підключення до БД ADOConnection1.

5. Напишіть запит. Для цього двічі натисніть по властивості SQL. В вікні

редактору запитів, яке відчинеться, написати запит, наприклад, обрання всіх рядків та всіх стовпців з таблиці «Довідник» БД, до якої було створене підключення:

SELECT *

FROM Довідник;

6. Для виконання запиту треба його активізувати, тобто встановіть

властивість Active в true.

7. Перейдіть в головний модуль, де зберігається головне вікно. Двічі

натисніть по компоненту FindQuery. В вікні, яке з’явиться, натисніть правою кнопкою миші та оберіть пункт меню «Add all fields». В редакторі повинні відобразитися всі поля таблиці. Двічі натисніть по компоненту ADOTable1, щоб відобразити вікно властивостей вже налаштованої таблиці. Розташуйте обидва вікна одне поруч з іншим. Виділіть першу властивість в редакторі властивостей таблиці ADOTable1, запам’ятайте їх, перейдіть в редактор властивостей полів запитів та зробіть там такі ж самі налаштування (рисунок 1):

Рисунок 1 - Ліворуч властивості полів запиту, праворуч властивості полів таблиці

Або можна зробити другим способом. Двічі натисніть по компоненту ADOTable1, щоб відобразити вікно властивостей вже налаштованої таблиці. Виділіть в редакторі полів всі стовпці компонента ADOTable1, зробіть копіювання всіх стовпців. Двічі натисніть по компоненту FindQuery. В вікні, яке з’явиться, натисніть правою кнопкою миші та оберіть пункт меню «Add all fields». В редакторі повинні відобразитися всі поля таблиці. Після цього треба знищити всі поля, які з’явилися, та натиснути комбінацію клавіш Ctrl + V або в меню Правка обрати пункт Вставить.

Треба пам’ятати, що треба створити пошукове поле для поля «Місто».

 

8. Реалізуйте пошук за допомогою SQL запиту. Для цього створіть нову

форму, в якій буде відображатися результат та назвіть її FindResultForm. Зробіть зміни в наступних властивостях:

· Caption – змініть на «Результат пошуку»;

· Position – встановіть в poMainFormCenter, щоб вікно відображалося за центром головного вікна.

 

9. Щоб вікно бачило таблиці, до нього треба підключити модуль даних

DataModuleUnit. Для цього з меню File треба обрати Use Unit.

10. Помість на форму сітку DBGrid з закладки Data Controls та розтягніть її

на всю форму. Перейдіть в об’єктний інспектор та змініть властивість DataSource на DataModule1.FindSource, щоб побачити в сітці результат запиту.

11. Збережіть форму під іменем FindResultUnit.

12. Перейдіть на головну форму та на панелі пошуку додайте надпис та

рядок введення для пошуку за телефоном.

13. Додайте кнопку, при натисканні по якій буде запускатися пошук.

14. По натисканню по кнопці «Знайти» напишіть наступний код:

procedure TMainForm.FindButtonClick(Sender: TObject);

Begin

DataModule1.FindQuery.Active:=false;

DataModule1.FindQuery.SQL.Clear; DataModule1.FindQuery.SQL.Add('SELECT *');

DataModule1.FindQuery.SQL.Add('FROM Довідник);

DataModule1.FindQuery.SQL.Add (' WHERE Телефон LIKE ' ' ' + FindTelephoneEdit.Text + ' ' ' ');

DataModule1.FindQuery.Active:=true;

FindResultForm.ShowModal;

end;

Примітка. FindTelephoneEdit – це ім’я текстового поля, до якого буде заноситися необхідний номер телефону.

15. Створіть динамічний запит. Для цього виділіть компонент FindQuery та

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

SELECT *

FROM Справочник



Поделиться:


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

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