- •Оглавление
- •Введение
- •Краткий обзор средств решения проблемы субд ms Access
- •Язык программирования Delphi
- •Достоинства языка программирования
- •Недостатки языка программирования
- •Системный анализ предметной области
- •Инфологическая модель предметной области Составление перечня атрибутов предметной области
- •Агрегация атрибутов, в сущности
- •Определение первичных ключей
- •Нормализация сущностей
- •Графическое представление сущностей
- •Определение связей
- •Проектирование концептуальной модели предметной области Преобразование сущностей в отношения
- •Установление свойств атрибутов
- •Определение внешних ключей
- •Реализация связи типа м: м
- •Графическое изображение концептуальной модели предметной области
- •Состав модулей и их описание
- •Диаграмма модулей
- •Описание интерфейса
- •Библиография
- •Sql запросы реализованные в курсовом проекте
- •Листинг модулей
Листинг модулей
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, Menus, DB, ADODB, Grids, DBGrids, StdCtrls, seasons, players,
stadium, Specializ;
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
N3: TMenuItem;
SummProd: TButton;
NumberOfSeason: TEdit;
KolBilProd: TButton;
SumZP: TButton;
SumPrem: TButton;
N4: TMenuItem;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SummProdClick(Sender: TObject);
procedure KolBilProdClick(Sender: TObject);
procedure SumZPClick(Sender: TObject);
procedure SumPremClick(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.SummProdClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([Стоимость билета]) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.KolBilProdClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select count(*) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.SumZPClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([сумма перевода]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.SumPremClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([премия]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Код сезона],[Номер игрока],[Фамилия],[Имя],[Отчество] from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select count(*) from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button3Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Наименование специализации],[Номер игрока],[Фамилия],[Имя],[Отчество] from специализация,команда where специализация.[код специализации]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.N1Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TMainForm.N3Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TMainForm.N4Click(Sender: TObject);
begin
Special.Show;
end;
end.
unit DataMod;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
DSSeason: TDataSource;
DSComand: TDataSource;
DSSeasons: TDataSource;
DSSpec: TDataSource;
DSZarplata: TDataSource;
DSStadium: TDataSource;
DSTribun: TDataSource;
DSTickets: TDataSource;
TSeason: TADOTable;
TComand: TADOTable;
TSeasons: TADOTable;
TSpec: TADOTable;
TZarplata: TADOTable;
TStadium: TADOTable;
TTribun: TADOTable;
TTickets: TADOTable;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
{$R *.dfm}
end. unit Players;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, datamod, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, DBCtrls;
type
TForm2 = class(TForm)
PageControl1: TPageControl;
Игроки: TTabSheet;
GroupBox4: TGroupBox;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Сезоны: TTabSheet;
DBGrid2: TDBGrid;
GroupBox3: TGroupBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
TabSheet2: TTabSheet;
DBGrid4: TDBGrid;
GroupBox1: TGroupBox;
Button1: TButton;
Button3: TButton;
Button2: TButton;
DBGrid1: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button10Click(Sender: TObject);
begin
Datamodule1.TComand.Append;
end;
procedure TForm2.Button11Click(Sender: TObject);
begin
if Datamodule1.TComand.modified then
Datamodule1.TComand.Post;
end;
procedure TForm2.Button12Click(Sender: TObject);
begin
try
Datamodule1.TComand.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Datamodule1.TZarplata.Append;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
try
Datamodule1.TZarplata.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
if Datamodule1.TZarplata.modified then
Datamodule1.TZarplata.Post;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Datamodule1.TSpec.Append;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
try
Datamodule1.TSpec.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
if Datamodule1.TSpec.modified then
Datamodule1.TSpec.Post;
end;
procedure TForm2.Button7Click(Sender: TObject);
begin
Datamodule1.TSeasons.Append;
end;
procedure TForm2.Button8Click(Sender: TObject);
begin
try
Datamodule1.TSeasons.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button9Click(Sender: TObject);
begin
if Datamodule1.TSeasons.modified then
Datamodule1.TSeasons.Post;
end;
end. unit Seasons;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Button2: TButton;
Button3: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button4: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Button5: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Edit5.Text := '';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
datamodule1.TSeason.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if datamodule1.TSeason.Modified then
datamodule1.TSeason.Post;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if ((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '') and
(Edit4.Text <> '') and (Edit5.Text <> '')) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := (
'insert into сезон([Номер сезона],[Название сезона],[Дата начала сезона],[Дата конца сезона],[Бюджет клуба]) values(' + Edit1.Text + ' , ' + Edit2.Text + ' , ' + char(39) + Edit3.Text + char(39) + ',' + char(39) + Edit4.Text + char(39) + ',' + char(39) + Edit5.Text + char(39) + ')');
ADOQuery1.Execsql;
end
else
showmessage('Ошибка,вы заполнили не все поля!!!');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
datamodule1.TSeason.Close;
datamodule1.TSeason.open;
end;
end. unit Specializ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;
type
TSpecial = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Button3: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button4: TButton;
DataSource1: TDataSource;
Button1: TButton;
Button5: TButton;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Special: TSpecial;
implementation
{$R *.dfm}
procedure TSpecial.Button1Click(Sender: TObject);
begin
datamodule1.TSpec.close;
datamodule1.TSpec.Open;
end;
procedure TSpecial.Button2Click(Sender: TObject);
begin
if datamodule1.TSpec.Modified then
datamodule1.TSpec.Post;
end;
procedure TSpecial.Button3Click(Sender: TObject);
begin
try
datamodule1.TSpec.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TSpecial.Button4Click(Sender: TObject);
begin
if ((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '')) then
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := (
'insert into специализация([Код специализации],[Наименование специализации],[Информация]) values(' + Edit1.Text + ' , ' + char(39) + Edit2.Text + char(39) + ' , ' + char(39) + Edit3.Text + char(39) + ')');
ADOQuery1.Execsql;
end
else
showmessage('Ошибка,вы заполнили не все поля!!!');
end;
procedure TSpecial.Button5Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end;
end. unit Stadium;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls;
type
TForm3 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
GroupBox2: TGroupBox;
Button4: TButton;
Button5: TButton;
Button6: TButton;
GroupBox3: TGroupBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
datamodule1.TStadium.Append;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
try
datamodule1.TStadium.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
if datamodule1.TStadium.Modified then
datamodule1.TStadium.Post;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
if datamodule1.TTribun.Modified then
datamodule1.TTribun.Post;
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
try
datamodule1.TTribun.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
datamodule1.TTribun.Append;
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
try
datamodule1.TTickets.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button8Click(Sender: TObject);
begin
datamodule1.TTickets.Append;
end;
procedure TForm3.Button9Click(Sender: TObject);
begin
if datamodule1.TTickets.Modified then
datamodule1.TTickets.Post;
end;
end.