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

6. Библиографический список

 

  1. Компьютерное проектирование баз данных в среде СУБД Access. В 2 ч. Ч.1: Структура данных и запросы-выборки: методические указания к лабораторному практикуму по дисциплинам «Базы данных», «Управление данными» /сост. В. Ю. Кара-Ушанов. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2006. 47 с.

  2. Компьютерное проектирование баз данных в среде СУБД Access. В 2 ч. Ч.2: Нормализация структуры данных и корректирующие запросы: методические указания к лабораторному практикуму по дисциплинам «Базы данных», «Управление данными» /сост. В. Ю. Кара-Ушанов. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2006. 46 с.

Приложение

unit WatchAndEdit;

interface

uses

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

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

ComCtrls, ExtCtrls, Mask;

type

TForm2 = class(TForm)

OriginalTable: TDBGrid;

DBNavigator1: TDBNavigator;

MyTab: TTable;

MyTabName: TStringField;

MyTabYear: TIntegerField;

MyTabCapital: TStringField;

MyTabSquare: TIntegerField;

MyTabPopulation: TIntegerField;

MyTabInUn: TBooleanField;

DataSource1: TDataSource;

Query1: TQuery;

Table: TComboBox;

FieldToSortBy: TComboBox;

Label9: TLabel;

FindField: TButton;

PageControl1: TPageControl;

Airports: TTabSheet;

Stuff: TTabSheet;

Vehicles: TTabSheet;

Passangers: TTabSheet;

Label4: TLabel;

FlightTasks: TRadioGroup;

FlightExecute: TButton;

StuffActions: TRadioGroup;

StuffCrewLabel: TLabel;

Label6: TLabel;

Label7: TLabel;

StuffPosLabel: TLabel;

PlanesActions: TRadioGroup;

StuffExecute: TButton;

PassangersExecute: TButton;

PlanesExecute: TButton;

Label10: TLabel;

Label11: TLabel;

PassengersActions: TRadioGroup;

Label13: TLabel;

NewFlightNum: TEdit;

NewPassNum: TEdit;

NewPassSeries: TEdit;

NewPosCrew: TComboBox;

NewPosition: TComboBox;

CrewLabel: TLabel;

NewDepTime: TEdit;

DepDateLabel: TLabel;

NewDepDate: TEdit;

DepTimeLabel: TLabel;

NewTerminal: TComboBox;

TerminalLabel: TLabel;

NewArrTime: TEdit;

ArrDateLabel: TLabel;

NewArrDate: TEdit;

ArrTimeLabel: TLabel;

StuffFIOLabel: TLabel;

NewFIO: TEdit;

NewPlaneNum: TEdit;

NewPlaneName: TEdit;

Baggage: TTabSheet;

ItemsActions: TRadioGroup;

Button1: TButton;

Label18: TLabel;

Label19: TLabel;

PassFIOLabel: TLabel;

PassNum: TEdit;

PassSeries: TEdit;

PassFIO: TEdit;

PassFlightLabel: TLabel;

PassFlight: TEdit;

BoardingPlaceLabel: TLabel;

BoardingPlace: TEdit;

Label22: TLabel;

ItemNameLabel: TLabel;

BagNum: TEdit;

BagName: TEdit;

ItemFlightLabel: TLabel;

BagFlight: TEdit;

NewPlaneCrew: TComboBox;

PlaneCrewLabel: TLabel;

Label1: TLabel;

NewCrew: TEdit;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormCreate(Sender: TObject);

procedure FindFieldClick(Sender: TObject);

procedure SortClick(Sender: TObject);

procedure FieldToSortByChange(Sender: TObject);

procedure TableChange(Sender: TObject);

procedure StuffShow(Sender: TObject);

procedure OtherTablesClick(Sender: TObject);

procedure VehiclesShow(Sender: TObject);

procedure PassangersShow(Sender: TObject);

procedure AirportsShow(Sender: TObject);

procedure FlightExecuteClick(Sender: TObject);

procedure FlightTasksClick(Sender: TObject);

procedure StuffExecuteClick(Sender: TObject);

procedure PageControl1Change(Sender: TObject);

procedure PlanesExecuteClick(Sender: TObject);

procedure PassangersExecuteClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure NewFlightNumChange(Sender: TObject);

procedure StuffExecuteEnter(Sender: TObject);

procedure NewPlaneNumChange(Sender: TObject);

procedure PlanesExecuteEnter(Sender: TObject);

procedure NewPassNumChange(Sender: TObject);

procedure PassangersExecuteEnter(Sender: TObject);

procedure PassengersActionsExit(Sender: TObject);

procedure StuffActionsClick(Sender: TObject);

procedure PassengersActionsClick(Sender: TObject);

procedure ItemsActionsClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

select,distinct:string;

Flight:string;

implementation

uses StraniUnit;

{$R *.dfm}

//----------------------------------------------------------

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Application.Terminate;

end;

//----------------------------------------------------------

procedure TForm2.FormCreate(Sender: TObject);

begin

Table.Text:='Рейс';

Query1.Active:=false;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

Caption:='Таблица '+Table.Text;

// Добавление в список для сортировки

Query1.GetFieldNames(FieldToSortBy.Items);

end;

//----------------------------------------------------------

procedure TForm2.FindFieldClick(Sender: TObject);

begin

if (Table.Text<>'') then

begin

Query1.Active:=false;

Query1.SQL.Clear();

Form2.Caption:='Таблица '+ Table.Text;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

//ItemToSelect.Items.Clear;

//ItemToSelect.Items.Insert(0,'*');

// Добавление в список для сортировки

FieldToSortBy.Items.Clear;

Query1.GetFieldNames(FieldToSortBy.Items);

end;

end;

//----------------------------------------------------------

procedure TForm2.SortClick(Sender: TObject);

begin

end;

//----------------------------------------------------------

procedure TForm2.FieldToSortByChange(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text+' ORDER BY '+FieldToSortBy.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.TableChange(Sender: TObject);

begin

if (Length(Table.Text)>0) then

begin

Query1.Active:=false;

Query1.SQL.Clear();

Form2.Caption:='Таблица '+ Table.Text;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

//ItemToSelect.Items.Clear;

//ItemToSelect.Items.Insert(0,'*');

// Добавление в список для сортировки

FieldToSortBy.Items.Clear;

Query1.GetFieldNames(FieldToSortBy.Items);

end;

end;

//----------------------------------------------------------

procedure TForm2.StuffShow(Sender: TObject);

begin

end;

//----------------------------------------------------------

procedure TForm2.OtherTablesClick(Sender: TObject);

begin

end;

//----------------------------------------------------------

procedure TForm2.VehiclesShow(Sender: TObject);

begin

end;

//----------------------------------------------------------

procedure TForm2.PassangersShow(Sender: TObject);

begin

// Доступна таблица Пассажиры и Грузы

end;

//----------------------------------------------------------

procedure TForm2.AirportsShow(Sender: TObject);

begin

// Доступны таблицы Аэропорт_назначения и А_отправления

end;

//----------------------------------------------------------

procedure TForm2.FlightExecuteClick(Sender: TObject);

begin

case FlightTasks.ItemIndex of

0://Организовать рейс

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO '+Table.Text);

Query1.SQL.Add(' VALUES ('+QuotedStr(NewFlightNum.Text)+','+NewCrew.Text+','+QuotedStr(NewDepDate.Text)+','+QuotedStr(NewDepTime.Text)+','+QuotedStr(NewTerminal.Text)+','+QuotedStr(NewArrDate.Text)+','+QuotedStr(NewArrTime.Text)+')');

Query1.ExecSQL;

except

end;

end;

1://Отменить рейс

begin

Query1.SQL.Clear;

NewFlightNum.Show;

Query1.SQL.Add('DELETE FROM '+Table.Text+' WHERE Номер='+QuotedStr(NewFlightNum.Text));

Query1.ExecSQL;

end;

end;//case

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.FlightTasksClick(Sender: TObject);

begin

case FlightTasks.ItemIndex of

0:

begin

// показать надписи

CrewLabel.Show;

DepDateLabel.Show;DepTimeLabel.Show;TerminalLabel.Show;

ArrDateLabel.Show;ArrTimeLabel.Show;

// показать поля

NewFlightNum.Show;NewCrew.Show;NewDepDate.Show;NewDepTime.Show;

NewTerminal.Show;NewArrDate.Show;NewArrTime.Show;

end;

1:

begin

// скрыть поля

NewCrew.Hide;NewDepDate.Hide;NewDepTime.Hide;

NewTerminal.Hide;NewArrDate.Hide;NewArrTime.Hide;

// скрыть надписи

CrewLabel.Hide;

DepDateLabel.Hide;DepTimeLabel.Hide;TerminalLabel.Hide;

ArrDateLabel.Hide;ArrTimeLabel.Hide;CrewLabel.Hide;

end;

end;//case

end;

//----------------------------------------------------------

procedure TForm2.StuffExecuteClick(Sender: TObject);

begin

case StuffActions.ItemIndex of

0://Принять на работу на должность в экипаж

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO '+Table.Text);

Query1.SQL.Add(' VALUES ('+QuotedStr(NewPassNum.Text)+','+QuotedStr(NewPassSeries.Text)+','+QuotedStr(NewPosition.Text)+','+QuotedStr(NewPosCrew.Text)+')');

Query1.ExecSQL;

except

end;

end;

1://Назначить в экипаж

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('UPDATE '+Table.Text);

Query1.SQL.Add(' SET Экипаж='+NewCrew.Text);

Query1.SQL.Add(' WHERE Номер_паспорта='+QuotedStr(NewPassNum.Text)+' AND Серия_паспорта='+QuotedStr(NewPassSeries.Text));

Query1.ExecSQL;

except

end;

end;

2: //Изменить личные данные

begin

// try

Query1.SQL.Clear;

Query1.SQL.Add('UPDATE '+Table.Text);

Query1.SQL.Add(' SET ФИО='+QuotedStr(NewFIO.Text));

Query1.SQL.Add(' WHERE Номер_паспорта='+NewPassNum.Text+' AND Серия_паспорта='+NewPassSeries.Text);

Query1.ExecSQL;

// except

// end;

end;

3://Уволить

begin

//try

Query1.SQL.Clear;

Query1.SQL.Add('DELETE FROM '+Table.Text);

Query1.SQL.Add(' WHERE Номер_паспорта='+QuotedStr(NewPassNum.Text)+' Серия_паспорта='+QuotedStr(NewPassSeries.Text));

Query1.ExecSQL;

// except

// end;

end;

end;//case

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.PageControl1Change(Sender: TObject);

begin

case PageControl1.ActivePageIndex of

0:

begin// вставка значений полей

Table.Text:='Рейс';

end;

1:

begin // вставка значений полей

Table.Text:='Бортовой_персонал';

end;

2:

begin // вставка значений полей

Table.Text:='Воздушное_судно';

end;

3:

begin // вставка значений полей

Table.Text:='Пассажир';

end;

4:

begin // вставка значений полей

Table.Text:='Груз';

end;

end;// case

end;

//----------------------------------------------------------

procedure TForm2.PlanesExecuteClick(Sender: TObject);

begin

case PlanesActions.ItemIndex of

0://Поставить на учёт

begin

// try

Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO '+Table.Text);

Query1.SQL.Add(' VALUES ('+NewPlaneNum.Text+','+QuotedStr(NewPlaneName.Text)+','+NewPlaneCrew.Text+')');

Query1.ExecSQL;

// except

// end;

end;

1://Снять с учёта

begin

Query1.SQL.Clear;

Query1.SQL.Add('DELETE FROM '+Table.Text);

Query1.SQL.Add(' WHERE Регистрационный_номер='+NewPlaneNum.Text);

Query1.ExecSQL;

end;

end;// case

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.PassangersExecuteClick(Sender: TObject);

begin

case PassengersActions.ItemIndex of

0://Забронировать рейс для пассажира

begin

// try

Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO '+Table.Text);

Query1.SQL.Add(' VALUES ('+QuotedStr(PassNum.Text)+','+QuotedStr(PassSeries.Text)+','+QuotedStr(PassFIO.Text)+','+QuotedStr(BoardingPlace.Text)+','+QuotedStr(PassFlight.Text)+')');

Query1.ExecSQL;

// except

// end;

end;

1://Снять пассажира с рейса

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('DELETE FROM '+Table.Text);

Query1.SQL.Add(' WHERE Номер_паспорта='+PassNum.Text+' AND Серия_паспорта='+PassSeries.Text);

Query1.ExecSQL;

except

end;

end;

end;//case

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.Button1Click(Sender: TObject);

begin

case ItemsActions.ItemIndex of

0://Забронировать рейс для груза

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO '+Table.Text);

Query1.SQL.Add(' VALUES ('+BagNum.Text+','+QuotedStr(BagName.Text)+','+QuotedStr(BagFlight.Text)+')');

Query1.ExecSQL;

except

end;

end;

1: //Снять груза с рейса

begin

try

Query1.SQL.Clear;

Query1.SQL.Add('DELETE FROM '+Table.Text);

Query1.SQL.Add(' WHERE Номер='+BagNum.Text);

Query1.ExecSQL;

except

end;

end;

end;

Query1.Active:=false;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM '+Table.Text);

Query1.Active:=true;

end;

//----------------------------------------------------------

procedure TForm2.NewFlightNumChange(Sender: TObject);

begin

if (Length(NewFlightNum.Text)>0)then

FlightExecute.Enabled:=true

else

FlightExecute.Enabled:=false;

end;

//----------------------------------------------------------

procedure TForm2.StuffExecuteEnter(Sender: TObject);

begin

if (Length(NewPassNum.Text)>0) and (Length(NewPassSeries.Text)>0) then

StuffExecute.Enabled:=true

else

StuffExecute.Enabled:=false;

end;

//----------------------------------------------------------

procedure TForm2.NewPlaneNumChange(Sender: TObject);

begin

if (Length(NewPlaneNum.Text)>0) and (Length(NewPlaneName.Text)>0) and (Length(NewPlaneCrew.Text)>0) then

PlanesExecute.Enabled:=true

else

PlanesExecute.Enabled:=false;

if PlanesActions.ItemIndex=1 then

begin

if (Length(NewPlaneNum.Text)>0) then

PlanesExecute.Enabled:=true

else

PlanesExecute.Enabled:=false;

end;

end;

//----------------------------------------------------------

procedure TForm2.PlanesExecuteEnter(Sender: TObject);

begin

end;

//----------------------------------------------------------

procedure TForm2.NewPassNumChange(Sender: TObject);

begin

// позволить выполнить команды только если заполнены все необходимые поля

if (Length(NewPassNum.Text)>0) and (Length(NewPassSeries.Text)>0) then

StuffExecute.Enabled:=true

else

StuffExecute.Enabled:=false;

end;

//----------------------------------------------------------

procedure TForm2.PassangersExecuteEnter(Sender: TObject);

begin

// позволить выполнить команды только если заполнены все необходимые поля

if (Length(PassNum.Text)>0) and (Length(PassSeries.Text)>0) then

PassangersExecute.Enabled:=true

else

PassangersExecute.Enabled:=false;

end;

//----------------------------------------------------------

procedure TForm2.PassengersActionsExit(Sender: TObject);

begin

// позволить выполнить команды только если заполнены все необходимые поля

if (Length(PassNum.Text)>0) and (Length(PassSeries.Text)>0) then

PassangersExecute.Enabled:=true

else

PassangersExecute.Enabled:=false;

end;

//----------------------------------------------------------

procedure TForm2.StuffActionsClick(Sender: TObject);

begin

if StuffActions.ItemIndex=3 then

begin

StuffFIOLabel.Hide;StuffPosLabel.Hide;StuffCrewLabel.Hide;

NewFIO.Hide;NewPosition.Hide;NewPosCrew.Hide;

end

else

begin

StuffFIOLabel.Show;StuffPosLabel.Show;StuffCrewLabel.Show;

NewFIO.Show;NewPosition.Show;NewPosCrew.Show;

end;

end;

//----------------------------------------------------------

procedure TForm2.PassengersActionsClick(Sender: TObject);

begin

if PassengersActions.ItemIndex=1 then

begin

PassFIOLabel.Hide;BoardingPlaceLabel.Hide;PassFlightLabel.Hide;

PassFIO.Hide;BoardingPlace.Hide;PassFlight.Hide;

end

else

begin

PassFIOLabel.Show;BoardingPlaceLAbel.Show;PassFlightLabel.Show;

PassFIO.Show;BoardingPlace.Show;PassFlight.Show;

end;

end;

//----------------------------------------------------------

procedure TForm2.ItemsActionsClick(Sender: TObject);

begin

if ItemsActions.ItemIndex=1 then

begin

ItemNameLabel.Hide;ItemFlightLabel.Hide;

BagName.Hide;BagFlight.Hide;

end

else

begin

ItemNameLabel.Show;ItemFlightLabel.Show;

BagName.Show;BagFlight.Show;

end;

end;

//----------------------------------------------------------

procedure TForm2.PlanesActionsClick(Sender: TObject);

begin

if PlanesActions.ItemIndex=1 then

begin

NewPlaneNameLabel.Hide;NewPlaneCrewLabel.Hide;

NewPlaneName.Hide;NewPlaneCrew.Hide;

end

else

begin

NewPlaneNameLabel.Show;NewPlaneCrewLabel.Show;

NewPlaneName.Show;NewPlaneCrew.Show;

end;

end;

end.

30