- •Лабораторная работа по курсу Базы данных.
- •Доступ к бд из среды Delphi.
- •Создание базы данных
- •Интерфейс доступа к бд.
- •Поиск в таблице товаров бд.
- •Фильтрация данных в таблице товаров бд.
- •Добавление в проект таблицы firm .
- •Добавление в проект новых форм.
- •Разработка интерфейса заполнения справочника фирм.
- •Поиск в таблице фирм бд.
Интерфейс доступа к бд.
Перенесите на пустую форму Form1 интерфейсные объекты из разделов Standard и DataControls палитры компонентов, изображенные на рисунке 5.
Рис. 5
Подключите к модулю формы Form1 – Unit1 модуль данных DM: File/Use Unit/ Unit2
Установите у созданных объектов следующие свойства:
Объект |
Свойство |
Значение |
Panel1 |
Align |
AlClient |
|
Caption |
пусто |
Panel2 |
Align |
AlBottom |
|
Caption |
пусто |
Panel3 |
Align |
AlTop |
|
Caption |
пусто |
Edit1 |
Text |
пусто |
|
Font |
10, жирный |
Edit2 |
Text |
5 |
|
Font |
10, жирный |
CheckBox1 |
Caption |
Фильтр по сроку хранения <= |
Label1 |
Caption |
Поиск по названию |
DBGrid1 |
DataSource |
DM.DSTovar |
|
Align |
AlClient |
DBNavigator1 |
DataSource |
DM.DSTovar |
|
Align |
AlClient |
Используя правую кнопку мыши над объектом DBGrid1, войдите в редактор колонок таблицы Columns Editor и отредактируйте колонки таблицы, установив список выбора PickList ( True, False) для колонки Flag, русские названия и желаемый шрифт.
Сохраните приложение.
Запустите приложение и добавьте данные в таблицу, измените значения полей и удалите 1-2 строки.
Поиск в таблице товаров бд.
Для модуля 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;
Отладить процедуру поиска товаров.
Фильтрация данных в таблице товаров бд.
Для модуля Unit1 - флажка CheckBox1 с используемым для фильтра значением и события OnClick создайте событийную процедуру, устанавливающую свойство фильтрации Filtered для таблицы товаров:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
DM.ADOTbTovar.Filtered := CheckBox1.Checked;
end;
Перейтите в модуль данных DM. Для объекта таблицы ADOTbTovar и события для нее OnFilterRecord создайте событийную процедуру, устанавливающую условие фильтрации Accept для таблицы товаров:
procedure TDM.ADOTbTovarFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:= ADOTbTovarStorage_Life.Value <= StrToInt(form1.Edit2.Text);
end;
Отладьте процедуру фильтрации товаров. Сохраните приложение.
Задание 2
К созданному Delphi – приложению добавьте главную форму Form3/ Unit3, содержащую меню программы, и форму Form4/Unit4, которая выполняет заполнение таблицы справочника фирм. Формы должны иметь вид, представленный на Рис.6, 7.
Рис.6 Form3 – главная форма проекта.
Рис.7. Форма Form4 – доступ к фирмам