рефераты рефераты
Главная страница > Курсовая работа: Создание базы данных для организации  
Курсовая работа: Создание базы данных для организации
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Создание базы данных для организации

Dialogs, DB, DBCtrls, StdCtrls, IBCustomDataSet, IBQuery, Mask;

type

TForm6 = class(TForm)

DBLookupComboBox1: TDBLookupComboBox;

DataSource1: TDataSource;

Edit1: TEdit;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

IBQuery1: TIBQuery;

DataSource2: TDataSource;

DBEdit1: TDBEdit;

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

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

s:string;

implementation

uses Unit3;

{$R *.dfm}

procedure TForm6.FormShow(Sender: TObject);

begin

DataSource1.DataSet.Append;

end;

procedure TForm6.Button1Click(Sender: TObject);

var s: string;

begin

Form6.IBQuery1.Active:=false;

s:='select MONEY from movie where movie.id = '+ Edit1.Text;

Form6.IBQuery1.SQL.text:=s;

Form6.IBQuery1.Active:=true;

Form6.DBEdit1.DataField:='MONEY';

DataSource1.DataSet.FieldByName('DEN').AsString:=Form6.DBEdit1.Text;

DataSource1.DataSet.FieldByName('ID_M').AsString:=Edit1.Text;

DataSource1.DataSet.Post;

DataSource1.DataSet.Append;

end;

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

begin

DataSource1.DataSet.Cancel;

end;

end.

Unit7:

interface

uses

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

Dialogs, StdCtrls;

type

TForm7 = class(TForm)

ComboBox1: TComboBox;

Button1: TButton;

Edit1: TEdit;

ComboBox2: TComboBox;

procedure ComboBox2Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

tb,k:string;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm7.ComboBox1Change(Sender: TObject);

begin

if Combobox1.Items.Strings[Combobox1.ItemIndex]='Фильмы' then

begin

tb:='MOVIE';

Combobox2.Items.Clear;

Combobox2.Items.Add('ID');

Combobox2.Items.Add('NAME_FILM');

Combobox2.Items.Add('DIRECTOR');

Combobox2.Items.Add('KOL');

Combobox2.Items.Add('MONEY');

Combobox2.Items.Add('GANR');

Combobox2.Items.Add('DESCRIPTION');

end else

begin

tb:='CLIENT';

Combobox2.Items.Clear;

Combobox2.Items.Add('ID_C');

Combobox2.Items.Add('FIO');

Combobox2.Items.Add('PASPORT');

end;

if Combobox1.Items.Strings[Combobox1.ItemIndex]='Счета' then

begin

tb:='DEAL';

Combobox2.Items.Clear;

Combobox2.Items.Add('ID_D'); Combobox2.Items.Add('ID_M');

Combobox2.Items.Add('CL_ID'); Combobox2.Items.Add('DEN');

Combobox2.Items.Add('D_D');

end;

end;

procedure TForm7.Button1Click(Sender: TObject);

var

zapros: string;

begin

if (k = 'ID_C') or (k = 'ID') or (k = 'ID_D') or(k='KOL') or (k='MONEY') or(k='ID_M') or (k='CL_ID')

then

zapros:='SELECT * from '+tb+' where '+k+'='+Edit1.Text

else

zapros:='SELECT * from '+tb+' where '+k+' LIKE '+'''%'+Edit1.Text+'%''';

Form2.IBQuery1.SQL.Text:=zapros;

Form2.DataSource4.DataSet.Active:=true;

Form7.Close;

Form2.PageControl1.ActivePage:= Form2.PageControl1.Pages[4];

Form2.FocusControl(Form2.PageControl1);

end;

procedure TForm7.ComboBox2Change(Sender: TObject);

begin

k:=Combobox2.Items.Strings[Combobox2.ItemIndex];

end;

end.

Скрипты:

DOMAINS:

CREATE DOMAIN D_GANR AS

VARCHAR(10) CHARACTER SET NONE

NOT NULL

CHECK (VALUE IN ('comedy', 'action', 'melodramm', 'fantasy', 'horror'))

COLLATE NONE

Tables:

CLIENT:

/******************************************************************************/

/**** Tables ****/

/******************************************************************************/

CREATE GENERATOR GEN_CLIENT_ID_C;

CREATE TABLE CLIENT (

ID_C INTEGER,

FIO VARCHAR(50) NOT NULL,

PASPORT VARCHAR(50)

);

/******************************************************************************/

/**** Primary Keys ****/

/******************************************************************************/

ALTER TABLE CLIENT ADD PRIMARY KEY (ID_C);

/******************************************************************************/

/**** Triggers ****/

/******************************************************************************/

SET TERM ^;

/******************************************************************************/

/**** Triggers for tables ****/

/******************************************************************************/

/* Trigger: TRIG_CLIENT */

CREATE TRIGGER TRIG_CLIENT FOR CLIENT

ACTIVE BEFORE INSERT POSITION 0

AS BEGIN

IF (NEW.id_c IS NULL) THEN NEW.id_c = GEN_ID(gen_client_id_c,1);

END

^

DEAL:

/******************************************************************************/

/**** Tables ****/

/******************************************************************************/

CREATE GENERATOR GEN_DEAL_ID;

CREATE TABLE DEAL (

ID_D INTEGER,

ID_M INTEGER NOT NULL,

CL_ID INTEGER NOT NULL,

DEN NUMERIC(4,2),

D_D DATE

);

/******************************************************************************/

/**** Primary Keys ****/

/******************************************************************************/

ALTER TABLE DEAL ADD PRIMARY KEY (ID_D);

/******************************************************************************/

/**** Foreign Keys ****/

/******************************************************************************/

ALTER TABLE DEAL ADD FOREIGN KEY (CL_ID) REFERENCES CLIENT (ID_C) ON UPDATE CASCADE;

ALTER TABLE DEAL ADD FOREIGN KEY (ID_M) REFERENCES MOVIE (ID) ON DELETE CASCADE ON UPDATE CASCADE;

/******************************************************************************/

/**** Triggers for tables ****/

/******************************************************************************/

/* Trigger: DEC_MONEY */

CREATE TRIGGER DEC_MONEY FOR DEAL

ACTIVE AFTER INSERT POSITION 0

AS

declare variable x integer;

begin

Select Count(New.cl_id) from DEAL

into:x;

if (:x > 3) then

begin

update Deal

set Deal.den = (DEAL.den - DEAL.den/100*10)

where DEAL.id_d = New.id_d;

end

end

/* Trigger: SUB_MOVIE */

CREATE TRIGGER SUB_MOVIE FOR DEAL

ACTIVE AFTER INSERT POSITION 0

AS

begin

update movie

set movie.kol = movie.kol - 1

where movie.id = new.id_m;

end

/* Trigger: TRIG_DEAL_BI */

CREATE TRIGGER TRIG_DEAL_BI FOR DEAL

ACTIVE BEFORE INSERT POSITION 0

AS BEGIN

IF (NEW.Id_d IS NULL) THEN NEW.Id_d = GEN_ID(Gen_DEAL_ID,1);

END

MOVIE:

/******************************************************************************/

/**** Tables ****/

/******************************************************************************/

CREATE GENERATOR GEN_DEAL_ID;

CREATE TABLE DEAL (

ID_D INTEGER,

ID_M INTEGER NOT NULL,

CL_ID INTEGER NOT NULL,

DEN NUMERIC(4,2),

D_D DATE

);

/******************************************************************************/

/**** Primary Keys ****/

/******************************************************************************/

ALTER TABLE DEAL ADD PRIMARY KEY (ID_D);

/******************************************************************************/

/**** Foreign Keys ****/

/******************************************************************************/

ALTER TABLE DEAL ADD FOREIGN KEY (CL_ID) REFERENCES CLIENT (ID_C) ON UPDATE CASCADE;

ALTER TABLE DEAL ADD FOREIGN KEY (ID_M) REFERENCES MOVIE (ID) ON DELETE CASCADE ON UPDATE CASCADE;

/******************************************************************************/

/**** Triggers for tables ****/

/******************************************************************************/

/* Trigger: DEC_MONEY */

CREATE TRIGGER DEC_MONEY FOR DEAL

ACTIVE AFTER INSERT POSITION 0

AS

declare variable x integer;

begin

Select Count(cl_id) from DEAL where cl_id = New.cl_id group by cl_id

into:x;

if (:x > 3) then

begin

update Deal

set Deal.den = (DEAL.den - DEAL.den/100*10)

where DEAL.id_d = New.id_d;

end

end

/* Trigger: SUB_MOVIE */

CREATE TRIGGER SUB_MOVIE FOR DEAL

ACTIVE AFTER INSERT POSITION 0

AS

begin

update movie

set movie.kol = movie.kol - 1

where movie.id = new.id_m;

end

/* Trigger: TRIG_DEAL_BI */

CREATE TRIGGER TRIG_DEAL_BI FOR DEAL

ACTIVE BEFORE INSERT POSITION 0

AS BEGIN

IF (NEW.Id_d IS NULL) THEN NEW.Id_d = GEN_ID(Gen_DEAL_ID,1);

END

EXCEPTION:

CREATE EXCEPTION NO_DELETE 'Нельзя удалить фильм если он имеется на складе!';

Страницы: 1, 2, 3, 4, 5, 6, 7, 8

рефераты
Новости