Автор работы: Пользователь скрыл имя, 12 Декабря 2013 в 13:41, курсовая работа
Целью выполнения курсовой работы является:
Создание базы данных «Гостиница», в которой будет храниться и обрабатываться информация о клиентах гостиницы, сотрудниках и номерах.
Приобретение практических навыков проектирования баз данных и разработки программного обеспечения по управлению базами данных с использованием СУБД с помощью Microsoft Access. На примере создаваемой базы данных необходимо научиться создавать таблицы, связывать их, писать запросы средствами СУБД, научиться разрабатывать формы с помощью Delphi 7.
Введение……………………………………………………………….……….5
Программная спецификация в Microsoft Access …….....………………....7
Создание таблиц … ………………………………………….………….7
Описание связей между таблицами ……………………………………19
Создание запросов………………………..................................................20
Программная спецификация в Delphi 7 …………………………….......23
Теоритическая часть ……………………..……………………………..23
Листинги …………………………………………….…………………...26
Процедуры тестирования и сопровождения………………………………..34
Заключение…………………………………………………………………...39
Список используемой литературы…………………………………..………40
Запрос №5. Сотрудник обслуживает.
Данный запрос позволяет просматривать список клиентов, обслуживаемых конкретным сотрудником.
В
режиме конструктора он
3.1.Теоретическая часть.
Чтобы начать разработку нового приложения в Delphi7 надо в меню File выбрать команду New | Application. Работа над новым проектом начинается с создания стартовой формы – главного окна программы. Стартовая форма создается путем изменения значений свойств формы Form1 (настройки формы) и добавление к форме необходимых компонентов (полей ввода Edit, полей вывода текстовой информации Label, командных кнопок Button). В основные свойства формы, которые определяют ее вид, и поведение во время работы программы входят :
Name – имя формы (предназначено
для управления формой и
Caption – текст заголовка
Width – ширина формы
Height – высота формы
BorderStyle – вид границы. Граница может быть обычной (bsSizeable), тонкой (bsSingle), или отсутствовать (bsNone).
BorderIcons – кнопки управления окном (свернуть, развернуть).
Icons – значок в заголовке диалогового окна, обозначающий кнопку вывода системного меню.
Color – цвет фона.
Font – шрифт.
Все эти свойства программист может менять по своему усмотрению и вкусу.
Для того чтобы форму сделать функциональной и работоспособной в нее нужно добавить компоненты. Компоненты, необходимые для разработки «Эмулятора рабочего стола Windows», содержаться на вкладках:
Standart:
MainMenu, PopupMenu, Label, Edit, GroupBox, Panel, CheckBox, ComboBox использовались для создания меню, просмотра информации, добавлениятекстовых меток, создания гибкого интерфейса .
Additional:
BitBtn и SpeedButton используются для организации кнопок навигации, Image для вставки изображений.
TBevel - элемент для рельефного оформления интерфейса.
ADO — это технология стандартного обращения к реляционным структурам данных от Microsoft. Она аналогична BDE по назначению и сродни ему по возможностям.
В Палитре компонентов Delphi есть страница ADO, содержащая набор компонентов, позволяющих создавать полноценные приложения БД, обращающиеся к данным через ADO.
Как
руководство к использованию,
я просматривал обучающее
В результате была создана следующая форма:
Листинг №1.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Label1: TLabel;
Button7: TButton;
Label2: TLabel;
Edit2: TEdit;
Button8: TButton;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Button9: TButton;
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);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT Гости.Фамилия, Гости.Имя, Гости.Отчество, Регистр.Номер, Регистр.Дата_заселения, Регистр.Дата_выезда '
+'FROM Гости INNER JOIN Регистр ON Гости.Id_гостя =
Регистр.Id_гостя WHERE (Регистр.Дата_заселения<=#'+
ADOQuery1.Active:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT * FROM Гости';
ADOQuery1.Active:=True;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT * FROM Сотрудники';
ADOQuery1.Active:=True;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT * FROM Номера';
ADOQuery1.Active:=True;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT * FROM Регистр';
ADOQuery1.Active:=True;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT Регистр.Id_заказа, Гости.Фамилия, Гости.Имя, Регистр.Номер, Сотрудники.Фамилия, Регистр.Дата_заселения, Регистр.Дата_выезда, Регистр.Стоимость, Регистр.Отметка_оплаты '
+'FROM Сотрудники INNER JOIN (Номера INNER JOIN (Гости INNER JOIN Регистр ON Гости.Id_гостя = Регистр.Id_гостя) ON Номера.Номер = Регистр.Номер) ON Сотрудники.Id_сотрудника = Регистр.Id_сотрудника';
ADOQuery1.Active:=True;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT Номера.Номер, Номера.Тип, Номера.Стоимость '
+'FROM Номера LEFT JOIN Регистр ON Номера.Номер = Регистр.Номер '
+'WHERE (((Регистр.Номер) Is Null))
OR (((Регистр.Дата_выезда)<=#'+
ADOQuery1.Active:=True;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT Гости.Фамилия, Гости.Имя, Гости.Отчество, Регистр.Номер '
+'FROM Гости INNER JOIN Регистр ON Гости.Id_гостя = Регистр.Id_гостя '
+'WHERE (((Регистр.Дата_выезда)=#'+
ADOQuery1.Active:=True;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='SELECT Сотрудники.Фамилия, Сотрудники.Имя, Сотрудники.Отчество, Сотрудники.Должность, Регистр.Номер, Гости.Фамилия, Регистр.Дата_заселения, Регистр.Дата_выезда '
+'FROM Гости INNER JOIN (Сотрудники INNER JOIN Регистр ON Сотрудники.Id_сотрудника = Регистр.Id_сотрудника) ON Гости.Id_гостя = Регистр.Id_гостя '
+'WHERE (((Сотрудники.Фамилия)="'+
ADOQuery1.Active:=True;
end;
end.
Листинг №2.
object Form1: TForm1
Left = 189
Top = 178
BorderStyle = bsToolWindow
Caption = #1054#1090#1077#1083#1100
ClientHeight = 497
ClientWidth = 1011
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 152
Top = 232
Width = 134
Height = 16
Caption = #1085#1072' '#1076#1072#1090#1091' ('#1084#1084'/'#1076#1076'/'#
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label2: TLabel
Left = 152
Top = 272
Width = 134
Height = 16
Caption = #1085#1072' '#1076#1072#1090#1091'
('#1084#1084'/'#1076#1076'/'#
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label3: TLabel
Left = 152
Top = 312
Width = 134
Height = 16
Caption = #1085#1072' '#1076#1072#1090#1091'
('#1084#1084'/'#1076#1076'/'#
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label4: TLabel
Left = 152
Top = 352
Width = 158
Height = 16
Caption = #1092#1072#1084#1080#1083#
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object DBGrid1: TDBGrid
Left = 8
Top = 16
Width = 929
Height = 97
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object DBNavigator1: TDBNavigator
Left = 16
Top = 128
Width = 920
Height = 25
DataSource = DataSource1
TabOrder = 1
end
object Button1: TButton
Left = 16
Top = 224
Width = 129
Height = 25
Caption = #1055#1088#1086#1078#1080#
TabOrder = 2
OnClick = Button1Click
end
object Edit1: TEdit
Left = 296
Top = 224
Width = 81
Height = 25
TabOrder = 3
Text = '8/08/2013'
end
object Button2: TButton
Left = 16
Top = 176
Width = 129
Height = 25
Caption = #1043#1086#1089#1090#1080
TabOrder = 4
OnClick = Button2Click
end
object Button3: TButton
Left = 160
Top = 176
Width = 129
Height = 25
Caption = #1057#1086#1090#1088#1091#
TabOrder = 5
OnClick = Button3Click
end
object Button4: TButton
Left = 304
Top = 176
Width = 129
Height = 25
Caption = #1053#1086#1084#1077#1088#1072
TabOrder = 6
OnClick = Button4Click
end
object Button5: TButton
Left = 448
Top = 176
Width = 129
Height = 25
Caption = #1056#1077#1075#1080#1089#
TabOrder = 7
OnClick = Button5Click
end
object Button6: TButton
Left = 592
Top = 176
Width = 129
Height = 25
Caption = #1046#1091#1088#1085#1072#1083
TabOrder = 8
OnClick = Button6Click
end
object Button7: TButton
Left = 16
Top = 264
Width = 129
Height = 25
Caption = #1057#1074#1086#1073#1086#
TabOrder = 9
OnClick = Button7Click
end
object Edit2: TEdit
Left = 296
Top = 264
Width = 81
Height = 25
TabOrder = 10
Text = '8/08/2013'
end
object Button8: TButton
Left = 16
Top = 304
Width = 129
Height = 25
Caption = #1042#1099#1077#1079#1078#
TabOrder = 11
OnClick = Button8Click
end
object Edit3: TEdit
Left = 296
Top = 304
Width = 81
Height = 25
TabOrder = 12
Text = '8/08/2013'
end
object Edit4: TEdit
Left = 320
Top = 344
Width = 161
Height = 25
TabOrder = 13
Text = #1041#1077#1089#1087#1072#
end
object Button9: TButton
Left = 16
Top = 344
Width = 129
Height = 25
Caption = #1054#1073#1089#1083#1091#
TabOrder = 14
OnClick = Button9Click
end
object DataSource1: TDataSource
DataSet = ADOQuery1
Left = 960
Top = 88
end
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.
'ecurity Info=False'
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 960
Top = 48
end
object ADOQuery1: TADOQuery
Active = True
Connection = ADOConnection1
CursorType = ctStatic
Parameters = <>
SQL.Strings = (
'SELECT '#1056#1077#1075#1080#1089#
#1088', '#1057#1086#1090#1088#1091#
#1076#1072', '#1056#1077#1075#1080#1089#
'FROM '#1057#1086#1090#1088#1091#
#1056#1077#1075#1080#1089#
#1056#1077#1075#1080#1089#
#1082#1072';')
Left = 960
Top = 16
end
end.
3.Процедуры тестирования и сопровождения.
«Кнопочная форма»