Дипломная работа: Автоматизация взаимоотношений с клиентами спортивного комплекса «Искра»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
mtConfirmation,[mbYes,mbNo],0)=mrYes
then Q3posetiteli.Cancel
else Form1.DBEdit1.SetFocus;
end;
procedure TDM.Q1zanyatiyaBeforePost(DataSet: TDataSet);
begin
if DM.Q1zanyatiya.State=dsInsert then
Dobavit_v_T2:=true;
TRAN.SQL.Clear;
TRAN.SQL.Add('BEGIN TRAN');
TRAN.ExecSQL;
showmessage('Начало транзакции');
end;
procedure TDM.Q1zanyatiyaAfterPost(DataSet: TDataSet);
begin
with DM do begin
TRY
if Dobavit_v_T2=true then begin
Q2zapis.Append;
Q2zapis.FieldByName('kod_zanyztiya').AsVariant:=Q1zanyatiya.FieldByName('kod_zanyztiya')
.AsVariant;
Q2zapis.FieldByName('kod_posetitelya').AsVariant:=Q3posetiteli.FieldByName('kod_posetitely
a').AsVariant;
Q2zapis.Post;
//showmessage('Добавили запись в Т2');
Dobavit_v_T2:=false;
118
end;
TRAN.SQL.Clear;
TRAN.SQL.Add('COMMIT TRAN');
TRAN.ExecSQL;
showmessage('Успешное выполнение транзакции');
EXCEPT
TRAN.SQL.Clear;
TRAN.SQL.Add('ROLLBACK TRAN');
TRAN.ExecSQL;
showmessage('Откат транзакции 1');
Q1zanyatiya.Close;
Q1zanyatiya.Open;
END;
end;
end;
procedure TDM.Q1zanyatiyaPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
TRAN.SQL.Clear;
TRAN.SQL.Add('ROLLBACK TRAN');
TRAN.ExecSQL;
showmessage('Откат транзакции 2');
Q1zanyatiya.Close;
Q1zanyatiya.Open;
end;
procedure TDM.PRIMAfterInsert(DataSet: TDataSet);
119
begin
DM.PRIM.FieldByName('kod_zanyztiya').AsVariant:=DM.Q1zanyatiya.FieldByName('kod_zan
yztiya').AsVariant;
end;
procedure TDM.Q1zanyatiyaCalcFields(DataSet: TDataSet);
begin
Q1zanyatiya.FieldByName('ObS').AsInteger:=
Q1zanyatiya.FieldByName('stoimost_zanyatiya').AsInteger *
Q1zanyatiya.FieldByName('max_chelovek').AsInteger;
end;
procedure TDM.Q3posetiteliCalcFields(DataSet: TDataSet);
begin
Q3posetiteli.FieldByName('FIO').Asstring:=
Q3posetiteli.FieldByName('familiya').Asstring+'
'+Q3posetiteli.FieldByName('Imya').AsString[1]+'.'
+ Q3posetiteli.FieldByName('Otchestvo').AsString[1];
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ExtCtrls, DBCtrls, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid;
120
type
TForm3 = class(TForm)
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
DBNavigator1: TDBNavigator;
cxGrid1DBTableView1Kod_posetitelya: TcxGridDBColumn;
cxGrid1DBTableView1FAM: TcxGridDBColumn;
cxGrid1DBTableView1Nomer_zapisy: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya: TcxGridDBColumn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses unit2;
{$R *.dfm}
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
121
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, StdCtrls, cxImage;
type
TForm4 = class(TForm)
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Button1: TButton;
cxGrid1DBTableView1Kod_posetitelya: TcxGridDBColumn;
cxGrid1DBTableView1Familiya: TcxGridDBColumn;
cxGrid1DBTableView1Imya: TcxGridDBColumn;
cxGrid1DBTableView1Otchestvo: TcxGridDBColumn;
cxGrid1DBTableView1Date: TcxGridDBColumn;
cxGrid1DBTableView1Telefon: TcxGridDBColumn;
cxGrid1DBTableView1Kod_posetitelya_1: TcxGridDBColumn;
cxGrid1DBTableView1Nomer_zapisy: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya_1: TcxGridDBColumn;
Источник: https://baza.diplomsite.ru/previewfile/655