Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Поиск в таблице товаров БД.




Лабораторная работа по курсу Базы данных.

Пользовательский интерфейс ADO-доступа к справочникам БД. Поиск и фильтрация. Время выполнения – 4 часа.

Исходные данные: База данных Магазин.mdb.

Задание1

Создайте Delphi - приложение, которое выполняет заполнение таблицы справочника товаров с использованием ADO – доступа, а также поиск и фильтрацию данных. Форма должна иметь вид, представленный на Рис.1

Рис.1.

 

Доступ к БД из среды Delphi.

Для работы с базами в Delphi есть несколько наборов компонентов. Каждый набор очень хорошо подходит для решения определенного круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по своим возможностям. Microsoft встроила в свои продукты разработки только технологию доступа к данным ADO (Active Data Objects), собственной разработки. Фирма Borland предоставила разнообразные средства, работающие через разные технологии, и не ограничивает программиста только своими разработками. Такое положение вещей дает громадные преимущества. Помимо этого, есть группы компонентов, которые могут использоваться в любом случае. Произведем краткий обзор имеющихся средств доступа к базам данных.

На вкладке 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.

InterBase - это новая высоконадежная технология доступа к данным фирмы Borland. Хорошо подходит для программирования двух- и трехзвенных клиент-серверных приложений, использующих базы данных. Компоненты с одноименной вкладки желательно использовать с базами данных, построенных по современной серверной технологии InterBase.

 

Создание базы данных

Средствами ACCESS в папке СЕРВЕР создайте таблицы Firm, Tovar и Sales базы данных МАГАЗИН.MDB или используйте ранее созданную БД, имеющую схему данных Рис.2.

Рис.2.

Последовательность действий по созданию интерфейса пользователя для работы со справочником ТОВАРЫ. Создание модуля данных.

1. Запустите Delphi.

2. В инспекторе объектов (Object Inspector) у объекта Form1/Unit1 установите свойство Caption равным «Справочник товаров – создан ФИО (Ваша)»

3. Создайте для приложения модуль данных Unit2: File/New/ Data Module.

4. В инспекторе объектов дайте модулю данных Unit2 имя Name равным DM.

5. Поместите в область модуля объекты ADO/ ADOConnection, ADO/ ADOTable, Data Access/ DataSource. Используя свойство Name, переименуйте два последних в ADOTbTovar и DSTovar – рис.3

 

Рис.3

Используя свойство ConnectionString объекта ADOConnection1, откройте диалоговое окно связи и соединитесь с базой данных МАГАЗИН.MDB, выбрав драйвер с типом связи Provider = Microsoft.Jet.OLEDB.4.0, который соответствует данным MS ACCESS. Такой драйвер обязательно устанавливается на машину вместе с MS Office, а в последних версиях Windows он устанавливается по умолчанию.

  1. Последовательно в инспекторе объектов установите следующие свойства для объектов модуля данных DM:
Объект Свойство Значение
ADOConnection1 Connected True
ADOTbTovar Connection ADOConnection1
  TableName Tovar
  Active True
DSTovar DataSet ADOTbTovar
  1. Используя правую кнопку мыши над объектом ADOTBTovar, войдите в редактор полей Fields Editor и добавьте поля таблицы в объект (опция Add All Fields) – Рис.4.

 

Рис.4

 

Интерфейс доступа к БД.

8. Перенесите на пустую форму Form1 интерфейсные объекты из разделов Standard и DataControls палитры компонентов, изображенные на рисунке 5.

 

Рис. 5

 

9. Подключите к модулю формы Form1 – Unit1 модуль данных DM: File/Use Unit/ Unit2

10. Установите у созданных объектов следующие свойства:

 

Объект Свойство Значение
Panel1 Align AlClient
  Caption пусто
Panel2 Align AlBottom
  Caption пусто
Panel3 Align AlTop
  Caption пусто
Edit1 Text пусто
  Font 10, жирный
Edit2 Text  
  Font 10, жирный
CheckBox1 Caption Фильтр по сроку хранения <=
Label1 Caption Поиск по названию
DBGrid1 DataSource DM.DSTovar
  Align AlClient
DBNavigator1 DataSource DM.DSTovar
  Align AlClient
  1. Используя правую кнопку мыши над объектом DBGrid1, войдите в редактор колонок таблицы Columns Editor и отредактируйте колонки таблицы, установив список выбора PickList (True, False) для колонки Flag, русские названия и желаемый шрифт.
  2. Сохраните приложение.
  3. Запустите приложение и добавьте данные в таблицу, измените значения полей и удалите 1-2 строки.

 

Поиск в таблице товаров БД.

 

  1. Для модуля Unit1 - поля Edit1 с искомым значением и события OnChange изменения поля создайте событийную процедуру для навигации по строкам таблицы и поиска записи с нужным значением поля Tovar_Name:

 

procedure TForm1. Edit1 Change (Sender: TObject);

Begin

DM.ADOTbTovar. First; // К первой записи таблице

While NOT(DM.ADOTbTovar. Eof) do Begin // Пока не закончатся все записи

// Если в записи есть искомый фрагмент, то она искомая. Закончить перебор.

If Pos (Edit1.Text,DM.ADOTbTovarTovar_Name.Value) <> 0 Then Exit;

DM.ADOTbTovar. Next; //

End;

end;

  1. Отладить процедуру поиска товаров.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...