Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД актеры.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.15 Mб
Скачать

Компоненты отображение данных

Компонент TDBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов TTable или TQuery. Приложение может использовать TDBGrid для отображения, вставки, уничтожение, редактирования данных БД. Обычно DBGrid используется в сочетании с DBNavigator, хотя можно использовать и другие интерфейсные элементы, включив в их обработчики событий методы, такие как Last и Next, которые я также использую для изменения фона формы. Для связывания компонента TDBGrid с DataSource нужно указать имя конкретного набора DataSource в свойстве DataSource компонента TDBGrid.

Создание отчётов

Генерация выходной документации осуществляется в Delphi с помощью компонентов с закладки QReport. На компонент TQuickRep помещаю ColumnHeaderBand и DetailBand, которые предоставляют собой области отображения информации в отчете. В эти области ставятся компоненты QRLabel и QRDBText. Для компонентов настраиваю шрифт, цвет. В QRDBText указывать DataSet и DataField. Для просмотра отчёта из приложения применяется процедура quickrep1.preview, помещённая в обработчик нажатие кнопки.

Запросы

  1. Выводит всю информацию из таблицы актер:

Select *

From актер;

  1. Находит актеров, рост которых лежит в пределе (180-185) и располагает в порядке возрастания:

Select ФИ, Дата_рождения, Рост

From актер

Where (Рост between '180' and '185')

Order BY Рост ASC

  1. Находит всех актеров, имена которых начинаются на «Б»:

Select ФИ

From актер

Where ФИ LIKE 'Б%'

  1. Выводит агентов, работающих на актеров:

Select актер.ФИ, агент.ФИ

From актер INNER JOIN агент ON актер.ФИ_агента =агент.ФИ

  1. Выводит названия фестивалей, успешных для актеров:

Select Название, итог

From награда_номинация

Where Итог=’True’

  1. Запрос с параметром: Можно найти актеров по имени.

  1. Добавляет в таблицу агент атрибут Рост

ALTER TABLE агент ADD Рост Varchar(3);

8) Удаляет из таблицы агент атрибут Рост

ALTER TABLE агент DROP Рост;

Внешний вид созданных в приложении форм.

Внешний вид формы «Главная»

Внешний вид формы «Просмотр»

Внешний «М:М»

Внешний вид формы «добавление»

Внешний вид формы «Запросы»

Внешний вид формы «Диаграмма»

Внешний вид формы «Отчёт»

Для работы с базой данных созданы кнопки по нажатию на которые вызывают формы содержащие инструменты для работы с базой данных.

Листинг программы:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, jpeg, ExtCtrls, DB, DBTables;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

cgvb1: TMenuItem;

bn2: TMenuItem;

bnm1: TMenuItem;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

Image1: TImage;

Image2: TImage;

N5: TMenuItem;

MM1: TMenuItem;

procedure bn2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure bnm1Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure MM1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2,unit3,unit4,unit5,unit6,unit7;

{$R *.dfm}

procedure TForm1.bn2Click(Sender: TObject);

begin

form2.show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

form3.QuickRep1.Preview;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

MessageDlg('База данных "Иностранных актеров". Выполнил Белик В.И. ФИТ 3-2а',

mtConfirmation, [mbYES], 0);

end;

procedure TForm1.N1Click(Sender: TObject);

begin

form4.Show;

end;

procedure TForm1.bnm1Click(Sender: TObject);

begin

form5.Show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

form6.show;

end;

procedure TForm1.MM1Click(Sender: TObject);

begin

form7.Show

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls,

ExtDlgs, ADODB;

type

TForm2 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DataSource1: TDataSource;

Table1: TTable;

Button1: TButton;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

Table2: TTable;

DBGrid3: TDBGrid;

DataSource3: TDataSource;

Table3: TTable;

DBNavigator2: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator3: TDBNavigator;

Table4: TTable;

DataSource4: TDataSource;

DataSource5: TDataSource;

DBGrid5: TDBGrid;

Table5: TTable;

Table6: TTable;

DBNavigator4: TDBNavigator;

DBNavigator5: TDBNavigator;

DBGrid6: TDBGrid;

DataSource6: TDataSource;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QRCtrls, QuickRpt, ExtCtrls;

type

TForm3 = class(TForm)

QuickRep1: TQuickRep;

DetailBand1: TQRBand;

TitleBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBImage1: TQRDBImage;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses unit2;

{$R *.dfm}

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart, DB,

DBTables, TeeFunci, StdCtrls;

type

TForm4 = class(TForm)

Table1: TTable;

DataSource1: TDataSource;

DBChart1: TDBChart;

TeeFunction1: TAddTeeFunction;

Series1: THorizBarSeries;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

Form4.Hide;

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;

type

TForm5 = class(TForm)

Bevel1: TBevel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Button1: TButton;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

Bevel2: TBevel;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Table2: TTable;

Label9: TLabel;

Edit8: TEdit;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Edit9: TEdit;

Edit10: TEdit;

Edit11: TEdit;

Edit12: TEdit;

Button2: TButton;

Bevel3: TBevel;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

Edit13: TEdit;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Edit17: TEdit;

DataSource3: TDataSource;

Table3: TTable;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

Table1.Insert;

Table1.FieldByName('ID').AsString:=Edit1.Text;

Table1.FieldByName('ФИ').AsString:=Edit2.Text;

Table1.FieldByName('Рост').AsString:=Edit3.Text;

Table1.FieldByName('Дата_рождения').AsString:=Edit4.Text;

Table1.FieldByName('Пол').AsString:=Edit5.Text;

Table1.FieldByName('ФИ_агента').AsString:=Edit6.Text;

Table1.FieldByName('Годовой_доход').AsString:=Edit7.Text;

Table1.Post;

Table1.Refresh;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

Table2.Insert;

Table2.FieldByName('ФИ').AsString:=Edit8.Text;

Table2.FieldByName('Дата_рождения').AsString:=Edit9.Text;

Table2.FieldByName('Адрес').AsString:=Edit10.Text;

Table2.FieldByName('Телефон').AsString:=Edit11.Text;

Table2.FieldByName('Годовой_доход').AsString:=Edit12.Text;

Table2.Post;

Table2.Refresh;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

Table3.Insert;

Table3.FieldByName('Название').AsString:=Edit13.Text;

Table3.FieldByName('ID_актера').AsString:=Edit14.Text;

Table3.FieldByName('Год_выпуска').AsString:=Edit15.Text;

Table3.FieldByName('Длительность').AsString:=Edit16.Text;

Table3.FieldByName('Цвет').AsString:=Edit17.Text;

Table3.Post;

Table3.Refresh;

end;

end.

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm6 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Query1: TQuery;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

Edit1: TEdit;

Button1: TButton;

Label1: TLabel;

Memo1: TMemo;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button7: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

Query1.SQL.Text := Memo1.Text;

Query1.Open

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

if RadioButton1.Checked=true then begin

Form6.Query1.Close;

Form6.Query1.SQL.Clear;

Form6.Query1.SQL.Add('Select * From актер where актер."ФИ"=:Name1;');

Form6.Query1.Close;

Form6.Query1.Prepare;

Form6.Query1.Params[0].AsString :=Edit1.Text;

Form6.Query1.Open;

if (Form6.Query1.RecordCount <> 0)then ShowMessage('Актер найден') else ShowMessage('Актер не найден');

end

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

Form6.Hide;

end;

procedure TForm6.Button4Click(Sender: TObject);

begin

Memo1.Clear;

Memo1.Lines.Add('Select *');

Memo1.Lines.Append('From актер');

Button1Click(Self);

end;

procedure TForm6.Button7Click(Sender: TObject);

begin

Memo1.Clear;

Memo1.Lines.Add('Select актер.ФИ, агент.ФИ');

Memo1.Lines.Append('From актер INNER JOIN агент ON актер.ФИ_агента =агент.ФИ');

Button1Click(Self);

end;

end.

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm7 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DataSource3: TDataSource;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DataSource4: TDataSource;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

Table1: TTable;

Table2: TTable;

Table3: TTable;

Table4: TTable;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

{$R *.dfm}

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]