Смекни!
smekni.com

Система управления базами данных (стр. 3 из 3)

IBDataSet- Назначение компонента: буферизация записей, выбираемых оператором SELECT, для представления этих данных в Grid, а также для обеспечения "редактируемости" записи путем автоматического или ручного задания запросов Insert, Delete и Update.

DataSource- Свойство DataSet обеспечивает связь между компонентом, представляющим собой таблицу или запрос, и компонентами, предназначенными для доступа к записям. Наличие этого свойства позволяет выбирать источник данных. Например, база данных может быть организована таким образом, что таблица, состоящая из большого числа записей, разделена на несколько подтаблиц, имеющих одинаковую структуру. В этом случае в приложении каждой подтаблице будет соответствовать свой компонент Table, а выбор конкретной подтаблицы можно осуществить установкой значения свойства DataSet.

PageControl- Компонент Т PageControl может содержать несколько перкрывающих друг друга панелей класса TtabSheet. Каждая панель выбирается связанной с ней закладкой и может содержать свой набор помещенных на нее компонентов.

DBGrid- омпонент DBGrid обеспечивает представление базы данных в виде таблицы. Свойства компонента DBGridl определяют вид таблицы и действия, которые могут быть выполнены над данными во время работы программы.

PopupMenu- контекстное меню.


2.6 Блок схема


3. Технологическая часть

3.1 Руководство пользователю

Для того, чтобы открыть приложение базы данных необходимо двойным кликом мыши нажать на ярлык

.

После запуска приложения появится основное окно программы

Для добавления новых данных необходимо нажать на кнопку New, после чего появится дополнительное окно в которое необходимо ввести новые данные.


Для того чтобы измененить уже существующие данные, необходимо выбрать интересующую запись и нажать кнопку Change, после чего появится дополнительное окно в котором можно изменить данные. После внесенных изменений необходимо нажать кнопку Save для сохранения, либо Cancel для отмены.

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


Так же в базе данных существует поиск по названию страны(города).

Для того,чтобы осуществить поиск, необходимо ввести название страны(города) в соответствующее поле и нажать кнопку Search.


Для того чтобы скопировать необходимые данные из таблицы , нужно зажав кнопку Shift левой клавишей мыши, выбрать интересующие записи, после чего нажать правой кнопкой мыши для вызова контекстного меню и выбрать Copy.

В базе данных ведется лог событий таблицы города. Все изменения отображаются в заклдаке Log_Goroda.


4. Заключение

В данной работе были кратко описаны основные характеристики системы управления базами данных. Определены основные классы объектов БД, которые имеют значение при использовании для решения наиболее распространенных задач. Interbase- хорошее решение для предприятий, стремящихся совершенствовать управление бизнесом в условиях постоянно изменяющегося рынка, стремящихся в максимально короткие сроки получить правильное решение.

Разработанное приложение осуществляет основные операции: добавление, изменение, удаление данных. Разработан поиск по названию стран (городов).Возможно копирование данных из таблицы. Создана лог-таблица, в которой ведется учет изменения данных.


Список литературы

1. www.ibase.ru;

2. Фаронов В.В. Delphi 6. Учебный курс. Москва 2003г.

3. Шупрута В.В. Delphi 2005.

4. Петр Дархвелидзе, Евгений Марков Программирование в Delphi7 СПб, 2003г.

5. megalib.com


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

unit Unit1;

interface

uses

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

Dialogs, Grids, DBGrids, DB, IBCustomDataSet, IBDatabase, StdCtrls,

ComCtrls, Buttons, Mask, DBCtrls, Menus, QClipbrd;

type

TForm1 = class(TForm)

IBDatabase1: TIBDatabase;

IBTransaction1: TIBTransaction;

IBDataSet1: TIBDataSet;

DataSource1: TDataSource;

DataSource2: TDataSource;

IBDataSet2: TIBDataSet;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

Edit2: TEdit;

Label2: TLabel;

BitBtn8: TBitBtn;

TabSheet3: TTabSheet;

DBGrid3: TDBGrid;

DataSource3: TDataSource;

IBDataSet3: TIBDataSet;

PopupMenu1: TPopupMenu;

copy1: TMenuItem;

delete1: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure DBGrid1DblClick(Sender: TObject);

procedure DBGrid2DblClick(Sender: TObject);

procedure copy1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, unit5;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

if ibdataset2.Locate('NAZVANIE',Edit2.Text,[loPartialKey]) then form2.Show

else

showmessage('Не найдено');

//form1.ibdataset2.insert;

//form2.show;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form1.IBDataSet1.Post;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

ibdataset1.Edit;

//ibdataset1.Post;

form3.Show;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

form1.IBDataSet1.Insert;

//form1.IBDataSet1.Post;

form3.Show;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

ibdataset2.Insert;

//ibdataset2.Post;

form2.Show;

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

if MessageDlg ('Подтвердите удаление записи',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

ibdataset1.Delete

end;

procedure TForm1.BitBtn5Click(Sender: TObject);

begin

ibdataset2.Edit;

form2.Show;

end;

procedure TForm1.BitBtn6Click(Sender: TObject);

begin

if MessageDlg ('Подтвердите удаление записи',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

ibdataset2.Delete;

end;

procedure TForm1.BitBtn7Click(Sender: TObject);

begin

if ibdataset1.Locate('NAZVANIE',Edit1.Text,[loPartialKey]) then form3.Show

else

showmessage('Не найдено');

end;

procedure TForm1.BitBtn8Click(Sender: TObject);

begin

Form4.show;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ibdataset1.Open;

ibdataset2.Open;

end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);

begin

form5.Show;

form5.IBDataSet1.Open;

end;

procedure TForm1.DBGrid2DblClick(Sender: TObject);

begin

form5.Show;

form5.IBDataSet1.Open;

end;

procedure TForm1.copy1Click(Sender: TObject);

var

i, j: Integer;

s: string;

begin

if DBGrid2.SelectedRows.Count>0 then

with DBGrid2.DataSource.DataSet do

for i:=0 to DBGrid2.SelectedRows.Count-1 do

begin

GotoBookmark(pointer(DBGrid2.SelectedRows.Items[i]));

for j := 0 to FieldCount-1 do

begin

if (j>0) then s:=s+', ';

s:=s+Fields[j].AsString;

end;

s:= s+#13+#10;

end;

Clipboard.AsText := s;

end;

end.

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, DBCtrls, Mask, Buttons;

type

TForm2 = class(TForm)

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

Button1: TButton;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

procedure Button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

form1.IBDataSet2.Post;

form2.Close;

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

form2.Close;

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type

TForm3 = class(TForm)

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses unit1;

{$R *.dfm}

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

form1.IBDataSet1.Post;

form3.Close;

end;

procedure TForm3.BitBtn2Click(Sender: TObject);

begin

form3.Close;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls;

type

TForm4 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses unit1; {$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

Form1.IBDatabase1.Params.Clear;

Form1.IBDatabase1.Params.Add('user_name='+Edit1.Text);

Form1.IBDatabase1.Params.Add('password='+Edit2.Text);

Form1.IBDatabase1.Params.Add('lc_ctype=WIN1251');

Form1.IBDatabase1.Connected:=True;

Form1.IBTransaction1.StartTransaction;

Form1.IBDataSet1.Open;

Form1.IBDataSet2.Open;

Form1.IBDataSet3.Open;

form4.Close;

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit5;

interface

uses

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

Dialogs, DB, IBCustomDataSet, Grids, DBGrids;

type

TForm5 = class(TForm)

DBGrid1: TDBGrid;

DataSource1: TDataSource;

IBDataSet1: TIBDataSet;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses unit1;

{$R *.dfm}

procedure TForm5.FormCreate(Sender: TObject);

begin

end;

end.