Рефераты
 

Методология проектирования баз данных

p align="left">EXIT;

END^

CREATE PROCEDURE EDITPROVERKI (

OPISANIE VARCHAR(1000),

NPROV INTEGER,

VID VARCHAR(15),

NAZVPODR VARCHAR(70),

FIO VARCHAR(20),

DATA DATE)

AS

BEGIN

EXIT;

END^

CREATE PROCEDURE NEW_PROCEDURE (

NAZV VARCHAR(70),

LOGIN VARCHAR(20),

FIO VARCHAR(20))

AS

BEGIN

EXIT;

END^

CREATE PROCEDURE UPDATEDOCUMENT (

IZMEN VARCHAR(30),

TEMA VARCHAR(30),

NUM INTEGER)

AS

BEGIN

EXIT;

END^

SET TERM ; ^/****************************************************************/

/**** Tables ****/

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

CREATE TABLE ARHIVDOC (

NDOC INTEGER NOT NULL,

NKLASS VARCHAR(7) NOT NULL,

NAIMENDOC VARCHAR(70) NOT NULL,

VIDDOC VARCHAR(15) NOT NULL,

DATAPRINYATIYA DATE NOT NULL,

DATADELETE DATE NOT NULL,

TEMATIKA VARCHAR(30),

IZMENENIYA VARCHAR(30)

);

CREATE TABLE DIRECTOR (

FIO VARCHAR(20) NOT NULL,

LOGIN VARCHAR(20) NOT NULL,

DATAVSTUPLENIYA DATE NOT NULL

);

CREATE TABLE DOCUMENT (

NDOC INTEGER NOT NULL,

NKLASS VARCHAR(7) NOT NULL,

NAIMENDOC VARCHAR(70) NOT NULL,

VIDDOC VARCHAR(15) NOT NULL,

DATAPRINYATIYA DATE NOT NULL,

DATAIZMEN DATE,

STATUS VARCHAR(10),

TEMATIKA VARCHAR(30),

IZMENENIYA VARCHAR(30)

);

CREATE TABLE PODRAZD (

NPODR INTEGER NOT NULL,

FIOPODR VARCHAR(20) NOT NULL,

NAZVANIE VARCHAR(70) NOT NULL

);

CREATE TABLE PROTOCOL (

NUMBER INTEGER NOT NULL,

DATA DATE NOT NULL,

NRAB INTEGER,

NDOC INTEGER,

VREMYA TIME NOT NULL

);

CREATE TABLE PROVERKI (

NPROVERKI INTEGER NOT NULL,

DATA DATE NOT NULL,

FIO VARCHAR(20) NOT NULL,

NPODR INTEGER NOT NULL,

VID VARCHAR(15) ,

OPISANIE VARCHAR(1000)

);

CREATE TABLE RABOTNIK (

NUMBER INTEGER NOT NULL,

FIO VARCHAR(20) NOT NULL,

LOGIN VARCHAR(20) NOT NULL,

NPODR INTEGER NOT NULL);/**************************************************************/

/**** Unique Constraints ****/

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

ALTER TABLE DOCUMENT ADD CONSTRAINT UNQ_DOCUMENT UNIQUE (NKLASS, NAIMENDOC);

ALTER TABLE RABOTNIK ADD CONSTRAINT UNQ_RAB UNIQUE (LOGIN);

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

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

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

ALTER TABLE ARHIVDOC ADD CONSTRAINT PK_ARHIVDOC PRIMARY KEY (NDOC);

ALTER TABLE DIRECTOR ADD CONSTRAINT PK_DIRECTOR PRIMARY KEY (FIO);

ALTER TABLE DOCUMENT ADD CONSTRAINT PK_DOCUMENT PRIMARY KEY (NDOC);

ALTER TABLE PODRAZD ADD CONSTRAINT PK_PODRAZD PRIMARY KEY (NPODR);

ALTER TABLE PROTOCOL ADD CONSTRAINT PK_PROTOCOL PRIMARY KEY (NUMBER);

ALTER TABLE PROVERKI ADD CONSTRAINT PK_PROVERKI PRIMARY KEY (NPROVERKI);

ALTER TABLE RABOTNIK ADD CONSTRAINT PK_RABOTNIK PRIMARY KEY (NUMBER);

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

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

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

ALTER TABLE PROTOCOL ADD CONSTRAINT FK_PROTOCOL_DOC FOREIGN KEY (NDOC) REFERENCES DOCUMENT (NDOC) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE PROTOCOL ADD CONSTRAINT FK_PROTOCOL_RAB FOREIGN KEY (NRAB) REFERENCES RABOTNIK (NUMBER) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE PROVERKI ADD CONSTRAINT FK_PROV_DIR FOREIGN KEY (FIO) REFERENCES DIRECTOR (FIO) ON DELETE NO ACTION ON UPDATE CASCADE;

ALTER TABLE PROVERKI ADD CONSTRAINT FK_PROV_PODRAZD FOREIGN KEY (NPODR) REFERENCES PODRAZD (NPODR) ON DELETE NO ACTION ON UPDATE CASCADE;

ALTER TABLE RABOTNIK ADD CONSTRAINT FK_RAB_PODR FOREIGN KEY (NPODR) REFERENCES PODRAZD (NPODR) ON DELETE NO ACTION ON UPDATE CASCADE;

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

/**** Triggers ****/

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

SET TERM ^ ;

/* Trigger: BI_ARHIV */

CREATE TRIGGER BI_ARHIV FOR ARHIVDOC

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.ndoc= GEN_ID(arhivn,1);

end

^

/* Trigger: BI_DOCUMRNT */

CREATE TRIGGER BI_DOCUMRNT FOR DOCUMENT

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.ndoc= GEN_ID(docn,1);

end

^

/* Trigger: BI_PODRAZD */

CREATE TRIGGER BI_PODRAZD FOR PODRAZD

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.npodr= GEN_ID(podrazdn,1);

end

^

/* Trigger: BI_PROTOCOL */

CREATE TRIGGER BI_PROTOCOL FOR PROTOCOL

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.number= GEN_ID(protocoln,1);

end

^

/* Trigger: BI_PROVERKI */

CREATE TRIGGER BI_PROVERKI FOR PROVERKI

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.nproverki= GEN_ID(proverkin,1);

end

^

/* Trigger: BI_RABOTNIK */

CREATE TRIGGER BI_RABOTNIK FOR RABOTNIK

ACTIVE BEFORE INSERT POSITION 0

AS

begin

/* Trigger text */

NEW.number= GEN_ID(rabn,1);

end

^

SET TERM ; ^

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

/**** Stored Procedures ****/

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

SET TERM ^ ;

ALTER PROCEDURE ADD_DOCUMENT (

NKLASS VARCHAR(7),

TEMA VARCHAR(30),

DATA DATE,

VID VARCHAR(15),

NAME VARCHAR(70))

AS

begin

/* Procedure Text */

insert into document(nklass,naimendoc,viddoc,dataprinyatiya,tematika)

values (:nklass,:name,:vid,:data,:tema);

end

^

ALTER PROCEDURE ADDDIRECTOR (

DATA DATE,

LOGIN VARCHAR(20),

FAMILY VARCHAR(20))

AS

begin

insert into director(FIO,LOGIN,DATAVSTUPLENIYA)

values (:family,:login,:data);

/* Procedure Text */ /*$$IBE$$

suspend;

$$IBE$$*/

end

^

ALTER PROCEDURE ADDPODRAZDELENIE (

NAZV VARCHAR(70),

FIO VARCHAR(20))

AS

begin

insert INTO podrazd(FIOPODR,NAZVANIE)

VALUES (:fio, :nazv);

end

^

ALTER PROCEDURE ADDPROTOCOL (

NUMDOC INTEGER)

AS

DECLARE VARIABLE NRAB INTEGER;

DECLARE VARIABLE USE VARCHAR(20);

DECLARE VARIABLE VREMYA TIME;

DECLARE VARIABLE DATA DATE;

begin

/* Procedure Text */

use = user;

data = 'TODAY';

vremya = 'NOW';

select NUMBER

FROM rabotnik

WHERE LOGIN =: use

INTO :NRAB;

INSERT INTO protocol(DATA ,VREMYA,NRAB,NDOC )

VALUES (:DATA,:VREMYA,:NRAB,:numdoc);

end

^

ALTER PROCEDURE ADDPROVERKI (

NAZVPODR VARCHAR(70),

FIO VARCHAR(20),

OPISANIE VARCHAR(1000),

VID VARCHAR(15),

DATA DATE)

AS

DECLARE VARIABLE PODR INTEGER;

begin

SELECT NPODR

FROM podrazd WHERE NAZVANIE=:NAZVPODR

INTO PODR ;

INSERT INTO PROVERKI(DATA, FIO, NPODR,VID,OPISANIE)

VALUES (:DATA,:FIO,:PODR,:VID,:OPISANIE);

end

^

ALTER PROCEDURE CLEARARHIV

AS

begin

/* Procedure Text */

delete from arhivdoc;

end

^

ALTER PROCEDURE CLEARPROTOCOL

AS

begin

/* Procedure Text */

delete from protocol;

end

^

ALTER PROCEDURE DELETEDIRECTOR (

FIO VARCHAR(20))

AS

begin

/* Procedure Text */

DELETE FROM director

where FIO=:fio;

end

^

ALTER PROCEDURE DELETEDOC (

NUM INTEGER)

AS

DECLARE VARIABLE IZMENENIYA VARCHAR(30) CHARACTER SET WIN1251;

DECLARE VARIABLE TEMATIKA VARCHAR(30) CHARACTER SET WIN1251;

DECLARE VARIABLE DATA DATE;

DECLARE VARIABLE VIDDOC VARCHAR(15) CHARACTER SET WIN1251;

DECLARE VARIABLE NAIMENDOC VARCHAR(70) CHARACTER SET WIN1251;

DECLARE VARIABLE NKLASS VARCHAR(7) CHARACTER SET WIN1251;

begin

/* Procedure Text */

select nklass,naimendoc,viddoc,dataprinyatiya,tematika,izmeneniya

from document

where ndoc = :num

into :nklass,:naimendoc,:viddoc,:data,:tematika,:izmeneniya ;

delete from document

where ndoc =:num;

insert into arhivdoc(nklass,naimendoc,viddoc,dataprinyatiya,datadelete,tematika,izmeneniya)

values(:nklass,:naimendoc,:viddoc,:data,'TODAY',:tematika,:izmeneniya);

end

^

ALTER PROCEDURE DELETEPODRAZD (

NOMER INTEGER)

AS

begin

DELETE from podrazd

WHERE NPODR=:nomer;

end

^

ALTER PROCEDURE DELETEPROVERKA (

NPROVERKI INTEGER)

AS

begin

/* Procedure Text */

delete FROM proverki

where NPROVERKI=:nproverki;

end

^

ALTER PROCEDURE DELETERABOTNIK (

NUM INTEGER)

AS

begin

DELETE FROM RABOTNIK

WHERE NUMBER =:NUM;

/* Procedure Text */

WHEN ANY do exception NODELETE;

end

^

ALTER PROCEDURE EDITPROVERKI (

OPISANIE VARCHAR(1000),

NPROV INTEGER,

VID VARCHAR(15),

NAZVPODR VARCHAR(70),

FIO VARCHAR(20),

DATA DATE)

AS

DECLARE VARIABLE PODR INTEGER;

begin

SELECT NPODR

FROM podrazd WHERE NAZVANIE=:NAZVPODR

INTO PODR ;

UPDATE PROVERKI

SET DATA=:DATA, FIO=:FIO, NPODR=:PODR,VID=:VID,OPISANIE=:OPISANIE

WHERE NPROVERKI =:NPROV ;

/* Procedure Text */

end

^

ALTER PROCEDURE NEW_PROCEDURE (

NAZV VARCHAR(70),

LOGIN VARCHAR(20),

FIO VARCHAR(20))

AS

DECLARE VARIABLE NUM INTEGER;

begin

/* Procedure Text */

select NPODR

FROM PODRAZD

WHERE NAZVANIE =:nazv

INTO NUM;

insert INTO RABOTNIK(FIO,LOGIN,NPODR)

VALUES (:fio, :login, :NUM );

end

^

ALTER PROCEDURE UPDATEDOCUMENT (

IZMEN VARCHAR(30),

TEMA VARCHAR(30),

NUM INTEGER)

AS

begin

/* Procedure Text */

UPDATE document

set DATAIZMEN = 'TODAY', STATUS='изменен',TEMATIKA=:TEMA,IZMENENIYA=:izmen

WHERE NDOC=:NUM;

end

^

SET TERM ; ^

Клиентская часть

unit Unit1;

interface

uses

Windows,RzLabel,RzCommon,Unit3,Unit4, DBCtrls, StdCtrls, Controls, Mask,

Grids, DBGrids, ComCtrls,

Classes, Messages, SysUtils, Variants, Graphics, Forms,

Dialogs,Unit2,Unit5,Unit6,Unit7, ExtCtrls, QuickRpt ;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

TabSheet7: TTabSheet;

DBGrid1: TDBGrid;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

DBEdit1: TDBEdit;

MaskEdit1: TMaskEdit;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

DBGrid2: TDBGrid;

MaskEdit2: TMaskEdit;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Button3: TButton;

DBEdit3: TDBEdit;

Label18: TLabel;

Button5: TButton;

DBGrid3: TDBGrid;

Edit3: TEdit;

Edit4: TEdit;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Button6: TButton;

DBEdit4: TDBEdit;

Label22: TLabel;

Button7: TButton;

Memo1: TMemo;

DBMemo1: TDBMemo;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Edit5: TEdit;

Edit6: TEdit;

ComboBox4: TComboBox;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Label31: TLabel;

Button4: TButton;

DBEdit2: TDBEdit;

Button8: TButton;

DBGrid4: TDBGrid;

DBGrid5: TDBGrid;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button12: TButton;

DBMemo2: TDBMemo;

Label32: TLabel;

DBEdit5: TDBEdit;

DBGrid6: TDBGrid;

Label33: TLabel;

Button13: TButton;

TabSheet8: TTabSheet;

DBGrid7: TDBGrid;

Button14: TButton;

Panel1: TPanel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button15: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure MaskEdit2Change(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Edit5Change(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

rocedure Button14Click(Sender: TObject);

procedure Button15Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

s1 : String;

s2 : String;

s3 : TDateTime;

begin

s1:= Edit1.Text;

s2:=AnsiUpperCase(Edit2.Text);

//s3:= StrToDateTime(MaskEdit1.Text);

if((s1='') or (s2='') or (s3=NULL))then

begin

ShowMessage('Проверьте заполнение всех полей');

exit;

end ;

s3:= StrToDateTime(MaskEdit1.Text);

try

DM.DobavlenieIBSP.Prepare;

DM.DobavlenieIBSP.ParamByName('FAMILY').AsString:=s1;

DM.DobavlenieIBSP.ParamByName('LOGIN').AsString:=s2;

DM.DobavlenieIBSP.ParamByName('DATA').AsDateTime:=s3;

DM.DobavlenieIBSP.ExecProc;

DM.IBTransaction1.Commit;

DM.IBQuery1.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction1.Rollback;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

MaskEdit1.Text:='xx.xx.xx';

Edit1.Text:='';

Edit2.Text:='';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

try

DM.UdalenieDirIBSP.Prepare;

DM.UdalenieDirIBSP.ParamByName('FIO').AsString:=DBEdit1.Text;

DM.UdalenieDirIBSP.ExecProc;

DM.IBTransaction1.Commit;

DM.IBQuery1.Active:= true;

except

ShowMessage('Ошибка при удалении !!!');

DM.IBTransaction1.Rollback;

end;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

if((Edit3.Text='') or (Edit4.Text=''))then

begin

ShowMessage('Проверьте заполнение всех полей');

exit;

end ;

try

DM.AddPodrIBSP.Prepare;

DM.AddPodrIBSP.ParamByName('NAZV').AsString:=Edit4.Text;

DM.AddPodrIBSP.ParamByName('FIO').AsString:=Edit3.Text;

DM.AddPodrIBSP.ExecProc;

DM.IBTransaction3.Commit;

DM.IBQuery3.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction3.Rollback;

end;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

try

DM.DeletePodrIBSP.Prepare;

DM.DeletePodrIBSP.ParamByName('Nomer').AsInteger:=StrToInt(DBEdit4.Text);

DM.DeletePodrIBSP.ExecProc;

DM.IBTransaction3.Commit;

DM.IBQuery3.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction3.Rollback;

end;

end;

procedure TForm1.MaskEdit2Change(Sender: TObject);

begin

//---фамилия проверяющего для таблицы "Проверки"------

Combobox1.Clear;

DM.IBQuery1.Last;

Combobox1.Items.add(DM.IBQuery1.FieldValues['FIO']);

//-----------------------------------------------------

//---проверяемое подразделение для таблицы "Проверки"------

Combobox2.Clear;

DM.IBQuery3.first;

while not DM.IBQuery3.Eof do

begin

Combobox2.Items.add(DM.IBQuery3.FieldValues['NAZVANIE']);

DM.IBQuery3.Next;

end;

//-----------------------------------------------------

//-----------------

Combobox3.Clear;

Combobox3.Items.Add('значительное');

Combobox3.Items.Add('незначительное');

//---------------

//DBRichEdit1.Field.Assign(DBRichEdit1.Lines);

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if ((Combobox1.Text='')or(Combobox2.Text='')) then

begin

ShowMessage('Заполните обязательные для заполнения поля!!!');

exit;

end;

try

DM.InsertProverIBSP.Prepare;

DM.InsertProverIBSP.ParamByName('NAZVPODR').AsString:=Combobox2.Text;

DM.InsertProverIBSP.ParamByName('FIO').AsString:=Combobox1.Text;

DM.InsertProverIBSP.ParamByName('VID').AsString:=Combobox3.Text;

DM.InsertProverIBSP.ParamByName('DATA').AsDateTime:=StrToDateTime(MaskEdit2.Text);

DM.InsertProverIBSP.ParamByName('OPISANIE').AsString:=Memo1.Text;

DM.InsertProverIBSP.ExecProc;

DM.IBTransaction2.Commit;

DM.IBQuery2.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction2.Rollback;

end;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

try

if (DBEdit3.Text='') then

begin

ShowMessage('В таблице отсутствуют записи!!!');

exit;

end;

DM.DeleteProvIBSP.Prepare;

DM.DeleteProvIBSP.ParamByName('NPROVERKI').AsInteger:=StrToInt(DBEdit3.Text);

DM.DeleteProvIBSP.ExecProc;

DM.IBTransaction2.Commit;

DM.IBQuery2.Active:= true;

except

ShowMessage('Ошибка при удалении !!!');

DM.IBTransaction2.Rollback;

end;

end;

procedure TForm1.Edit5Change(Sender: TObject);

begin

//--подразделение к которому работник приписан для таблицы "Работники"---

Combobox4.Clear;

DM.IBQuery3.first;

while not DM.IBQuery3.Eof do

begin

Combobox4.Items.add(DM.IBQuery3.FieldValues['NAZVANIE']);

DM.IBQuery3.Next;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if ((Edit5.Text='')or(Edit6.Text='')or(Combobox4.Text='')) then

begin

ShowMessage('Необходимо заполнить все поля!!!');

exit;

end;

try

DM.InsertRabotnikIBSP.Prepare;

DM.InsertRabotnikIBSP.ParamByName('NAZV').AsString:=Combobox4.Text;

DM.InsertRabotnikIBSP.ParamByName('FIO').AsString:=Edit5.Text;

DM.InsertRabotnikIBSP.ParamByName('LOGIN').AsString:=Edit6.Text;

DM.InsertRabotnikIBSP.ExecProc;

DM.IBTransaction4.Commit;

DM.RabotnikIBT.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction4.Rollback;

end;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

try

if (DBEdit2.Text='') then

begin

ShowMessage('В таблице отсутствуют записи!!!');

exit;

end;

DM.DeleteRabotnikIBSP.Prepare;

DM.DeleteRabotnikIBSP.ParamByName('NUM').AsInteger:=StrToInt(DBEdit2.Text);

DM.DeleteRabotnikIBSP.ExecProc;

DM.IBTransaction4.Commit;

DM.RabotnikIBT.Active:= true;

except

ShowMessage('Ошибка при удалении !!!');

DM.IBTransaction4.Rollback;

end;

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

Form3.Show;

end;

procedure TForm1.Button11Click(Sender: TObject);

begin

Form3.Show;

end;

procedure TForm1.Button10Click(Sender: TObject);

begin

Form4.Show;

end;

procedure TForm1.Button12Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1.Button13Click(Sender: TObject);

begin

try

DM.ClearArhivIBSP.Prepare;

DM.ClearArhivIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery6.Active:= true;

DM.IBQuery5.Active:= true;

DM.IBQuery7.Active:= true;

except

ShowMessage('Ошибка при удалении !!!');

DM.IBTransaction5.Rollback;

end;

end;

procedure TForm1.Button14Click(Sender: TObject);

begin

try

DM.ClearProtocolIBSP.Prepare;

DM.ClearProtocolIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery7.Active:= true;

DM.IBQuery5.Active:= true;

except

ShowMessage('Ошибка при удалении !!!');

DM.IBTransaction5.Rollback;

end;

end;

procedure TForm1.Button15Click(Sender: TObject);

begin

if (RadioButton1.Checked) then Form6.QuickRep1.Preview ;

if (RadioButton2.Checked) then Form7.QuickRep1.Preview ;

end;

end.

procedure TForm3.Button1Click(Sender: TObject);

var

FileViewer: TRzURLLabel;

FileName : String ;

begin

//создаем объект для просмотра файлов

FileViewer:=TRzURLLabel.Create(Form3);

FileName:= DBEdit1.Text ;

FileViewer.URL:= FileName;

if FileExists(FileName) then

begin

FileViewer.Click;

end

else

begin

ShowMessage('Такого файла не существует или он не помещен в нужный каталог (см. инструкцию)');

exit;

end;

//------ ПРОТОКОЛ РАБОТЫ--------------------------------------

try

DM.ProtocolIBSP.Prepare;

DM.ProtocolIBSP.ParamByName('NUMDOC').AsInteger:=StrToInt(DBEdit2.Text);

DM.ProtocolIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery7.Active:= true;

DM.IBQuery6.Active:= true;

DM.IBQuery5.Active:= true;

except

ShowMessage('Ошибка !!!');

DM.IBTransaction5.Rollback;

end;

//------------------------------------------------------------------

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

if ((Memo1.Text='')) then

begin

ShowMessage('Необходимо заполнить поле "Характер изменений"!!!');

exit;

end;

try

DM.UpdateDocIBSP.Prepare;

DM.UpdateDocIBSP.ParamByName('NUM').AsInteger:=StrToInt(DBEdit2.Text);

DM.UpdateDocIBSP.ParamByName('TEMA').AsString:=DBEdit5.Text;

DM.UpdateDocIBSP.ParamByName('IZMEN').AsString:=Memo1.Text;

DM.UpdateDocIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery5.Active:= true;

except

ShowMessage('Ошибка при обновлении !!!');

DM.IBTransaction5.Rollback;

end;

end;

end.

procedure TForm4.Button1Click(Sender: TObject);

var

s: String;

begin

SaveDialog1.Execute;

Edit1.Text:= SaveDialog1.FileName;

Combobox1.Clear;

Combobox1.Items.Add('внутренний');

Combobox1.Items.Add('нормативный');

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

if ((Edit1.Text='')) then

begin

ShowMessage('Необходимо выбрать документ!!!');

exit;

end;

if ((Combobox1.Text='')or(Edit3.Text='')) then

begin

ShowMessage('Заполните обязательные для заполнения поля!!!');

exit;

end;

try

DM.InsertDocIBSP.Prepare;

DM.InsertDocIBSP.ParamByName('NKLASS').AsString:=Edit3.Text;

DM.InsertDocIBSP.ParamByName('TEMA').AsString:=Edit2.Text;

DM.InsertDocIBSP.ParamByName('VID').AsString:=Combobox1.Text;

DM.InsertDocIBSP.ParamByName('DATA').AsDateTime:=StrToDateTime(MaskEdit2.Text);

DM.InsertDocIBSP.ParamByName('NAME').AsString:=Edit1.Text;

DM.InsertDocIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery5.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction5.Rollback;

end;

end;

procedure TForm5.Button1Click(Sender: TObject);

begin

try

DM.DeleteDocIBSP.Prepare;

DM.DeleteDocIBSP.ParamByName('NUM').AsInteger:=StrToInt(DBEdit2.Text);

DM.DeleteDocIBSP.ExecProc;

DM.IBTransaction5.Commit;

DM.IBQuery5.Active:= true;

DM.IBQuery6.Active:= true;

DM.IBQuery7.Active:= true;

except

ShowMessage('Ошибка при добавлении !!!');

DM.IBTransaction5.Rollback;

end;

end;

Список используемой литературы

1) Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация сопровождение. Теория и практика: Уч пос.-М.: Издательский дом «Вильямс», 2000.

2) Дейт К. Введение в системы баз данных. - СПб: Издательский дом «Вильямс», 1999.

3) Фаронов В.В. Delphi7 и разработка приложений баз данных.- М.: «НОЛИДЖ», 2003.

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ