Міністерство освіти та науки України
Національний університет “Львівська Політехніка”
Кафедра АСУ
Лабораторна робота №4
з предмету
Об'єктно-орієнтоване програмування
на тему:
Створення ужитку з використанням бази даних
Мета: навчитись створювати таблиці бази даних за допомогою утиліти Database Desktop, зрозуміти способи доступу до таблиць та особливості роботи з ними у системі програмування Delphi
Порядок роботи:
Створити проект для виконання індивідуального завдання.
Оформити звіт для захисту лабораторної роботи за зразком
назва роботи
мета роботи
порядок роботи
короткі теоретичні відомості
алгоритм розв’язку задачі
тексти відповідних модулів проекту
аналіз отриманих результатів та висновки
Індивідуальне завдання №12
Створити таблицю бази даних на задану тему та програму для роботи з нею, яка виконує такі задачі:
Перегляд та редагування записів у таблиці, додавання та вилучення.
Впорядковування записів за первинним індексом (ключем).
Впорядковування записів за вторинним індексом.
Пошук записів (точний та неточний, враховуючи та не враховуючи регістр символів).
Встановлення фільтрів для записів.
Програмне забезпечення для макетування та верстання.
Тексти модулів проекту.
//-------Progect1.dpr-------
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
//------Unit1.pas---------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
unit Unit2;
interface
uses
SysUtils, Windows, Classes, Graphics, Controls,
Forms, Dialogs, DB, DBTables;
type
TDataModule2 = class(TDataModule)
DataSource1: TDataSource;
Query1: TQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
DataModule2: TDataModule2;
implementation
{$R *.DFM}
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
Query1.Open;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, Classes, SysUtils, Graphics, Controls, StdCtrls, Forms,
Dialogs, DBCtrls, DB, DBGrids, Grids, ExtCtrls;
type
TForm3 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator: TDBNavigator;
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
Edit1: TEdit;
ComboBox1: TComboBox;
Button1: TButton;
GroupBox2: TGroupBox;
Edit2: TEdit;
ComboBox2: TComboBox;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ private declarations }
public
{ public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.DFM}
uses Unit2;
procedure TForm3.FormCreate(Sender: TObject);
begin
ComboBox1.AddItem('За товаром',ComboBox1);
ComboBox1.AddItem('За виробником', ComboBox1);
ComboBox1.AddItem('За ціною',ComboBox1);
MessageBox(0,'','',0);
ComboBox2.AddItem('За товаром',ComboBox2);
ComboBox2.AddItem('За виробником', ComboBox2);
ComboBox2.AddItem('За ціною',ComboBox2);
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
if ComboBox1.ItemIndex=0 then DataModule2.Query1.locate('Tovar',Edit1.text,[lopartialkey]);
if ComboBox1.ItemIndex=1 then DataModule2.Query1.locate('Vurobnuk',Edit1.text,[lopartialkey]);
if ComboBox1.ItemIndex=2 then DataModule2.Query1.locate('Cina',Edit1.text,[locaseinsensitive]);
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
with DataModule2.Query1 do
begin
Filtered := False;
if ComboBox2.ItemIndex=0 then Filter := 'Tovar ='+#39 + Edit2.Text+#39;
if ComboBox2.ItemIndex=1 then Filter := 'Vurobnuk ='+#39 + Edit2.Text+#39;
if ComboBox2.ItemIndex=2 then Filter := 'Cina>=' +#39 + Edit2.Text+#39;;
Filtered := True;
if Edit2.Text='' then Filtered := False;
end;
end;
procedure TForm3.DBGrid1TitleClick(Column: TColumn);
begin
end;
end.
Вигляд форми:
Тест програми:
В полях «Пошук» або «Фільтер» задаємо назву поля бази даних по якому будемо шукати чи фільтрувати.
Висновок.
На цій лабораторній роботі я навчився створювати таблиці бази даних за допомогою утиліти Database Desktop, зрозумів способи доступу до таблиць та особливості роботи з ними у системі програмування Delphi.