Автор работы: Пользователь скрыл имя, 27 Июня 2013 в 11:38, курсовая работа
Разработать модель распределенной реляционной базы данных предприятия, состоящего из главного производства и нескольких удаленных филиалов. Части предприятия связаны компьютерной сетью, имеют собственные локальные базы данных, могут использовать данные удаленных узлов. Глобальная информация хранится на центральном узле.
Разработать приложение, обеспечивающее создание, модификацию и поиск данных. Считать, что все локальные базы размещены на одном компьютере.
Сотрудники
На вкладках «Совещания» и «Планы» можно просмотреть информацию о совещаниях и планах. Все операции аналогичны предыдущим.
Совещания
Планы
БД Хирургический отдел содержит три таблицы («Сотрудники», «Пациенты», «Отчеты»). Передвигаться по набору данных, редактировать, добавлять и удалять записи можно при помощи соответствующих кнопок навигатора.
На вкладке «Сотрудники» содержится информация о сотрудниках хирургического отдела. В таблице можно найти запись об интересующем сотруднике. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.
Сотрудники
На вкладке «Пациенты» – информация о пациентах, которые проходят лечение в хирургическом отделе. В таблице можно найти запись об интересующем пациенте. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.
Пациенты
На вкладке отчеты – информация об отчетах хирургического отдела.
Отчеты
БД Глазное отделение содержит три таблицы («Сотрудники», «Пациенты», «Отчеты»). Передвигаться по набору данных, редактировать, добавлять и удалять записи можно при помощи соответствующих кнопок навигатора.
На вкладке «Сотрудники» содержится информация о сотрудниках глазного отдела. В таблице можно найти запись об интересующем сотруднике. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.
Сотрудники
На вкладке «Пациенты» – информация о пациентах, которые проходят лечение в глазном отделе. В таблице можно найти запись об интересующем пациенте. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.
Пациенты
На вкладке отчеты – информация об отчетах глазного отдела.
Отчеты
6. Листинг программы
unit Unit1; //Форма окна для выбора отдела
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Panel2: TPanel;
RadioGroup1: TRadioGroup;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:form3.visible:=true ;
1:form4.Visible:=true ;
2:form5.visible:=true ;
else
showmessage ('Выберите отдел');
form1.Visible:=true;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate ;
end;
end.
unit Unit3; // Форма БД Администрации
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, DB, DBTables, Grids, DBGrids,
DBCtrls;
type
TForm3 = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Button1: TButton;
Query1: TQuery;
Button2: TButton;
DataSource2: TDataSource;
Query2: TQuery;
Button4: TButton;
Edit1: TEdit;
DataSource3: TDataSource;
Query3: TQuery;
DBNavigator1: TDBNavigator;
Label1: TLabel;
Button6: TButton;
DBGrid2: TDBGrid;
Button7: TButton;
DBNavigator2: TDBNavigator;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Label2: TLabel;
Edit2: TEdit;
Button12: TButton;
DBNavigator3: TDBNavigator;
Button13: TButton;
Edit3: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit4: TEdit;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBGrid3: TDBGrid;
Label6: TLabel;
DBGrid4: TDBGrid;
Label5: TLabel;
Button3: TButton;
Edit5: TEdit;
Label7: TLabel;
Button5: TButton;
DataSource4: TDataSource;
Query4: TQuery;
Button15: TButton;
Query5: TQuery;
DataSource5: TDataSource;
DBNavigator4: TDBNavigator;
DBGrid5: TDBGrid;
UpdateSQL1: TUpdateSQL;
Database1: TDatabase;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses unit1, unit2;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject); //закрыть форму
begin
close;
end;
procedure TForm3.Button2Click(Sender: TObject); //открыть таблицу
begin сотрудники
query1.Open ;
form3.DBGrid1.ReadOnly:=false;
edit1.Enabled:=true;
edit5.Enabled:=true;
form3.DBNavigator1.Enabled:=
pagecontrol1.Pages[1].
pagecontrol1.Pages[2].
end;
procedure TForm3.Button3Click(Sender: TObject); //вызов хранимой
begin процедуры
query4.Prepare ;
query4.Params.ParamByName('
query4.Open;
end;
procedure TForm3.Button4Click(Sender: TObject); //открыть таблицу
begin Совещания
form3.DBNavigator3.Enabled:=
edit4.Enabled:=true;
edit3.Enabled:=true;
query2.open;
pagecontrol1.Pages[0].
pagecontrol1.Pages[2].
end;
procedure TForm3.Button6Click(Sender: TObject); //обновить
begin таблицу Сотрудники
if query1.Active=true then begin
query1.Close;query1.Open;
end;
end;
procedure TForm3.Button7Click(Sender: TObject); //закрыть таблицу
begin Сотрудники
query1.Close;
edit1.Clear;
pagecontrol1.Pages[1].
pagecontrol1.Pages[2].
end;
procedure TForm3.Button8Click(Sender: TObject); //открыть таблицу
begin Планы
query3.Open;
edit2.Enabled:=true;
form3.DBGrid5.Enabled:=true;
form3.DBNavigator2.Enabled:=
pagecontrol1.Pages[0].
pagecontrol1.Pages[1].
end;
procedure TForm3.Button9Click(Sender: TObject); //обновить таблицу
begin Планы
if query3.Active=true then begin
query3.Close ;query3.Open ;
end;
end;
procedure TForm3.Button10Click(Sender: TObject); //закрыть таблицу
begin Планы
query3.Close ;
edit2.Clear ;
pagecontrol1.Pages[0].
pagecontrol1.Pages[1].
end;
procedure TForm3.Button13Click(Sender: TObject); //закрыть таблицу begin Совещания
query2.Close ;
edit4.Clear ;
edit3.Clear ;
edit3.Enabled:=false;
edit4.Enabled:=false;
pagecontrol1.Pages[0].
pagecontrol1.Pages[2].
end;
procedure TForm3.Edit1Change(Sender: TObject); //поиск сотрудника по
begin фамилии
if edit1.Text='' then exit;
if not query1.Active then exit;
if not query1.Locate('FIO', edit1.Text , [loPartialKey, loCaseInsensitive])
then application.MessageBox('Фамили
end;
procedure TForm3.Edit2Change(Sender: TObject); //поиск сотрудника по begin фамилии
if edit2.Text='' then exit;
if not query3.Active then exit ;
if not query3.Locate('OTVETSTVENNIJ',
edit2.Text,[loPartialKey,
then application.MessageBox('Фамили
end;
procedure TForm3.Edit3Change(Sender: TObject); //поиск совещания по
begin теме
if edit3.text='' then exit;
if not query2.Active then exit ;
if not query2.Locate('TEMA', edit3.Text,[loPartialKey, loCaseInsensitive])
then application.MessageBox('Тема не найдена','Мед.учреждение',mb_
end;
procedure TForm3.Edit4Change(Sender: TObject); //поиск плана по
begin фамилии руководителя
edit3.Enabled:=false;
if edit4.text='' then exit;
if not query2.Active then exit ;
if not query2.Locate('RUKOVODITEL', edit4.Text , [loPartialKey, loCaseInsensitive])
then application.MessageBox('Фамили
end;
procedure TForm3.FormCreate(Sender: TObject); //переход в главное меню
begin
edit1.Enabled:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
query1.close;
query2.close;
query3.close;
form3.DBNavigator1.Enabled:=
form3.DBNavigator2.Enabled:=
form3.DBNavigator3.Enabled:=
form3.DBGrid5.Enabled:=false;
end;
procedure TForm3.Button12Click(Sender: TObject); //обновить таблицу
begin Совещания
if query2.Active=true then begin
query2.Close ;query2.Open ;
end;
end;
procedure TForm3.Button5Click(Sender: TObject); //очистка строки
begin ввода для поиска с использованием
edit5.Clear; хранимой процедуры
query4.Close;
end;
procedure TForm3.Button15Click(Sender: TObject); //кеширование
begin
Database1.StartTransaction;
try
Query5.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
Raise;
end;
Query5.CommitUpdates;
end;
end.
unit Unit3; //Форма БД Хирургического отделения
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls,
DBCtrls;
type
TForm4 = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Button1: TButton;
Label7: TLabel;
Label9: TLabel;
Label11: TLabel;
DataSource1: TDataSource;
Query1: TQuery;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DataSource2: TDataSource;
Query2: TQuery;
DBNavigator1: TDBNavigator;
Button2: TButton;
Button4: TButton;
DBNavigator2: TDBNavigator;
Button5: TButton;
Button3: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label2: TLabel;
DataSource3: TDataSource;
Query3: TQuery;
Button9: TButton;
Button10: TButton;
DBNavigator3: TDBNavigator;
Label3: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button2Click(Sender: TObject); //открыть таблицу
begin Пациенты
query2.open;
form4.DBNavigator1.Enabled:=
pagecontrol1.Pages[0].
pagecontrol1.Pages[2].
end;
procedure TForm4.Button3Click(Sender: TObject); //обновить таблицу
begin Пациенты
if query2.Active=true then begin
query2.Close;query2.Open;
end;
end;
procedure TForm4.Button4Click(Sender: TObject); //закрыть таблицу
begin Пациенты
query2.Close ;
pagecontrol1.Pages[0].
pagecontrol1.Pages[2].
end;
procedure TForm4.Button5Click(Sender: TObject); //открыть таблицу
begin Сотрудники
query1.Open ;
form4.DBGrid1.ReadOnly:=false;
form4.DBNavigator2.Enabled:=tr
pagecontrol1.Pages[1].
pagecontrol1.Pages[2].
end;
procedure TForm4.Button1Click(Sender: TObject); //переход в главное
begin меню
query1.close;
query2.Close;
query3.Close;
close;
end;
procedure TForm4.Button11Click(Sender: TObject); //открыть таблицу
begin Сотрудники
query1.open;
pagecontrol1.Pages[0].
pagecontrol1.Pages[2].
end;
end;
procedure TForm4.Button6Click(Sender: TObject); //открыть таблицу
begin Отчеты
query3.Open;
DBNavigator3.Enabled:=true;
pagecontrol1.Pages[0].
pagecontrol1.Pages[1].
end;
procedure TForm4.Button7Click(Sender: TObject); //закрыть таблицу
begin Отчеты
query3.Close ;
pagecontrol1.Pages[0].
pagecontrol1.Pages[1].
end;
procedure TForm4.FormCreate(Sender: TObject); //запуск формы Отдела
begin хирургии
query1.Close;
query2.Close;
query3.Close;
end;
procedure TForm4.Button8Click(Sender: TObject); //закрыть таблицу
begin Сотрудники
query1.close;
pagecontrol1.Pages[1].
pagecontrol1.Pages[2].TabVisib
end;
procedure TForm4.Edit2Change(Sender: TObject); //поиск по фамилии begin
if edit2.Text='' then exit;
if not query2.Active then exit;
if not query2.Locate('FIO', edit2.Text,[loPartialKey, loCaseInsensitive])
then application.MessageBox('Фамили
end;
procedure TForm4.Edit1Change(Sender: TObject); //поиск по фамилии
begin сотрудника
if edit1.Text='' then exit;
if not query1.Active then exit;
if not query1.Locate('FIO', edit1.Text , [loPartialKey, loCaseInsensitive])
then application.MessageBox('Фамили
end;
procedure TForm4.Button9Click(Sender: TObject); //обновить таблицу
begin Отчеты
if query3.Active=true then begin
query3.Close;query3.Open;
end;
end;
procedure TForm4.Button10Click(Sender: TObject); //обновить таблицу
begin Сотрудники
if query1.Active=true then begin
query1.Close; query1.Open;
end;
end.
unit Unit5; //Форма БД Глазное отделение
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, DB, DBTables, Grids, DBGrids,
DBCtrls;
type
TForm5 = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Button1: TButton;
DBNavigator1: TDBNavigator;
Информация о работе Разработка модели распределенной реляционной базы данных предприятия