Разработка базы данных для решения задач учета клиентов банка с использованием возможностей системы Delphi 7

Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 18:58, курсовая работа

Описание работы

Целью данной курсовой работы является разработка базы данных для решения задач учета сотрудников с использованием возможностей системы Delphi 7.
Задачами данной курсовой работы являются: закрепление навыков по разработке баз данных (БД) с использованием возможной системы Delphi 7; приобретение практических навыков по созданию сопроводительной документации, по описанию баз данных и программ.

Содержание работы

ВВЕДЕНИЕ ……………………………………………………………………… 5
1 ФОРМАЛИЗАЦИЯ ЗАДАЧИ ..................................................................... 7
1.1 Постановка задач ………………………………………………………... 7
1.2 Разработка структуры базы данных ……………………………............. 7
2 СОЗДАНИЕ БД ………………………………………………………….. 10
2.1 Описание СУБД ………………………………………………………... 10
2.2 Разработка БД ………………………………………………………….. 11
3 СОЗДАНИЕ ПРИКЛАДНОЙ ПРОГРАММЫ ………………………… 16
3.1 Введение ……………………………………………………………….. 16
3.2 Функциональное назначение …………………………………………. 16
3.3 Описание логики ……………………………………………………… 18
4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ………………………………. ……22
ЗАКЛЮЧЕНИЕ……………………………………………………………. ……28
СПИСОК ЛИТЕРАТУРЫ………………………………………………… ……30
ПРИЛОЖЕНИЕ А…………………………………………………………. ……31
ПРИЛОЖЕНИЕ Б………………………………………………………………..32

Файлы: 1 файл

Курсовая.doc

— 951.00 Кб (Скачать файл)

Приложение  А

 

Тексты  запросов

Запрос 1

SELECT Name_f Название, Nom_RS РС, Summa_vk Сумма_вклада, Srok Срок_вклада, Cod_vk Код_вклада

FROM WorkDir\Firma.DB

WHERE Summa_vk=:Summa

 

Запрос 2

SELECT Name_f Название, Nom_RS РС, Summa_vk Сумма_вклада, Srok Срок_вклада, Cod_vk Код_вклада

FROM WorkDir\Firma.DB

WHERE Summa_vk > 50000 

Приложение  Б

 

Код программы

program Project1;

 

uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1},

  Unit2 in 'Unit2.pas' {Form2},

  Unit3 in 'Unit3.pas' {Form3},

  Unit4 in 'Unit4.pas' {Form4},

  Unit5 in 'Unit5.pas' {Form5},

  Unit6 in 'Unit6.pas' {Form6};

 

{$R *.res}

 

begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TForm2, Form2);

  Application.CreateForm(TForm3, Form3);

  Application.CreateForm(TForm4, Form4);

  Application.CreateForm(TForm5, Form5);

  Application.CreateForm(TForm6, Form6);

  Application.Run;

end. 

Код 1 модуля

unit Unit1;

 

interface

 

uses

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

  Dialogs, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls, Buttons,

  StdCtrls, Menus;

 

type

  TForm1 = class(TForm)

    Table1: TTable;

    DataSource1: TDataSource;

    DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    Table1Nom_f: TAutoIncField;

    Table1Name_f: TStringField;

    Table1Nom_RS: TIntegerField;

    Table1Summa_vk: TCurrencyField;

    Table1Srok: TFloatField;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

    Button1: TButton;

    DBGrid2: TDBGrid;

    DataSource2: TDataSource;

    Table2: TTable;

    Table2Cod_vk: TIntegerField;

    Table2Vid_vk: TStringField;

    Table2Percent: TFloatField;

    Table1Cod_vk: TIntegerField;

    SpeedButton3: TSpeedButton;

    Edit1: TEdit;

    Label1: TLabel;

    DBGrid3: TDBGrid;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Query1: TQuery;

    DataSource3: TDataSource;

    SpeedButton4: TSpeedButton;

    Edit2: TEdit;

    Table1Summa_n: TFloatField;

    SpeedButton5: TSpeedButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N2: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    Button2: TButton;

    N7: TMenuItem;

    procedure Table1Summ_nGetText(Sender: TField; var Text: String;

      DisplayText: Boolean);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

    procedure Table1Summa_vkSetText(Sender: TField; const Text: String);

    procedure Table1SrokSetText(Sender: TField; const Text: String);

    procedure FormCreate(Sender: TObject);

    procedure FormClose(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure AutoIncField1Change(Sender: TField);

    procedure SpeedButton3Click(Sender: TObject);

    procedure SpeedButton4Click(Sender: TObject);

   procedure SpeedButton5Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

  

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

uses Unit2, Unit3, Unit4, Unit5, Unit6;

 

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Table1.Open;

Table2.Open;

end;

 

procedure TForm1.Table1Summ_nGetText(Sender: TField; var Text: String;

  DisplayText: Boolean);

 

  begin 

    if Table1Srok.Value>=6

    then

    Text:=FloatToStr(0.12*Table1Summa_vk.Value)

    else

     Text:=FloatToStr(0.08*Table1Summa_vk.Value);

end;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

Table1.IndexFieldNames:='Nom_RS';

end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

Table1.IndexFieldNames:='Summa_vk';

end;

 

procedure TForm1.Table1Summa_vkSetText(Sender: TField; const Text: String);

var

s:double;

begin

s:=strtofloat(text);

if s<5000 then

begin

showmessage ('Значение  в поле "Сумма" не может  быть менее 5000');

table1Summa_vk.Value:=5000;

end

else

table1Summa_vk.Value:=s;

end;

 

procedure TForm1.Table1SrokSetText(Sender: TField; const Text: String);

var

srok:double;

begin

srok:=strtofloat(text);

if (srok<5) or (srok>36) then

begin

showmessage ('Значение  в поле "Cрок" не может  быть менее 5 и более 36 месяцев');

table1Srok.Value:=5;

end

else

table1Srok.Value:=srok;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Table1.IndexFieldNames:='';

end;

 

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

if SpeedButton3.Caption = 'Фильтр' then

begin

table1.Filter:= 'Srok > '+ edit1.text +' or Srok = '+ edit1.text;

table1.Filtered:=true;

SpeedButton3.Caption := 'Отменить фильтр' ;

end

else

begin

SpeedButton3.Caption := 'Фильтр' ;

table1.Filtered:=false;

edit1.Text:='';

end

end;

 

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

if SpeedButton4.Caption = 'Запрос "Cумма вклада"' then

begin

query1.ParamByName('Summa').Value:=StrtoFloat(edit2.Text);

query1.Open;

SpeedButton4.Caption:= 'Закрыть запрос'

end

else

begin

SpeedButton4.Caption:= 'Запрос "Cумма вклада"' ;

query1.Close;

end;

end;

 

 

procedure TForm1.SpeedButton5Click(Sender: TObject);

var

i,c:integer;

begin

Table1.First;

c:= table1.IndexFieldCount;

For i:= 0 to c do

begin

Table1.Edit;

if Table1.FieldByName('Srok').Value < 6 then

Table1.FieldByName('Summa_n').Value:= (Table1.FieldByName('Summa_vk').Value)*0.08

else

Table1.FieldByName('Summa_n').Value:= (Table1.FieldByName('Summa_vk').Value)*0.12;

Table1.Next;

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form2.showmodal;

end;

 

procedure TForm1.N3Click(Sender: TObject);

begin

Table1.Close;

Table1.Open;

Table1.IndexName:='Cod_vk' ;

Form3.QuickRep1.Preview ;

end;

 

procedure TForm1.N4Click(Sender: TObject);

begin

//Query1.Close;

//query1.ParamByName('Summa').Value:=StrtoFloat(edit2.Text);

//Query1.Open;

Form4.QuickRep1.Preview ;

end;

 

procedure TForm1.N5Click(Sender: TObject);

begin

Form5.show;

end;

 

procedure TForm1.N6Click(Sender: TObject);

begin

Form6.show;

end;

 

procedure TForm1.FormClose(Sender: TObject);

begin

Table1.Close;

Table2.Close;

end;

 

procedure TForm1.N7Click(Sender: TObject);

begin

Form2.Show;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

close

end;

 

end. 

Код 2 модуля

 

unit Unit2;

 

interface

 

uses

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

  Dialogs, StdCtrls;

 

type

  TForm2 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form2: TForm2;

 

implementation

 

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

Form2.Close;

end;

 

end. 

Код 3 модуля

 

unit Unit3;

 

interface

 

uses

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

  Dialogs, ExtCtrls, QuickRpt, QRCtrls;

 

type

  TForm3 = class(TForm)

    QuickRep1: TQuickRep;

    QRBand1: TQRBand;

    QRLabel1: TQRLabel;

    QRBand2: TQRBand;

    QRDBText1: TQRDBText;

    QRDBText2: TQRDBText;

    QRDBText3: TQRDBText;

    QRDBText4: TQRDBText;

    QRDBText5: TQRDBText;

    QRDBText7: TQRDBText;

    QRBand3: TQRBand;

    QRLabel2: TQRLabel;

    QRLabel3: TQRLabel;

    QRLabel4: TQRLabel;

    QRLabel5: TQRLabel;

    QRLabel6: TQRLabel;

    QRLabel8: TQRLabel;

    QRGroup1: TQRGroup;

    QRDBText6: TQRDBText;

    QRBand4: TQRBand;

    QRExpr1: TQRExpr;

    QRLabel7: TQRLabel;

    QRLabel9: TQRLabel;

    procedure QRBand1AfterPrint(Sender: TQRCustomBand;

      BandPrinted: Boolean);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form3: TForm3;

 

implementation

 

{$R *.dfm}

 

procedure TForm3.QRBand1AfterPrint(Sender: TQRCustomBand;

  BandPrinted: Boolean);

begin

;

end;

 

end. 

Код 4 модуля

 

unit Unit4;

 

interface

 

uses

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

  Dialogs, QRCtrls, QuickRpt, ExtCtrls;

 

type

  TForm4 = class(TForm)

    QuickRep1: TQuickRep;

    QRBand1: TQRBand;

    QRLabel1: TQRLabel;

    QRBand2: TQRBand;

    QRDBText1: TQRDBText;

    QRDBText2: TQRDBText;

    QRDBText3: TQRDBText;

    QRDBText4: TQRDBText;

    QRDBText5: TQRDBText;

    QRLabel2: TQRLabel;

    QRExpr1: TQRExpr;

    QRBand3: TQRBand;

    QRLabel3: TQRLabel;

    QRLabel4: TQRLabel;

    QRLabel5: TQRLabel;

    QRLabel6: TQRLabel;

    QRLabel7: TQRLabel;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form4: TForm4;

 

implementation

 

{$R *.dfm}

 

end. 

Код 5 модуля

 

unit Unit5;

 

interface

 

uses

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

  Dialogs, DB, DBTables, TeEngine, Series, ExtCtrls, TeeProcs, Chart,

  DbChart, TeeFunci;

 

type

  TForm5 = class(TForm)

    DBChart1: TDBChart;

    Series1: TBarSeries;

    Table1: TTable;

    Table1Nom_f: TAutoIncField;

    Table1Name_f: TStringField;

    Table1Nom_RS: TIntegerField;

    Table1Summa_vk: TCurrencyField;

    Table1Srok: TFloatField;

    Table1Cod_vk: TIntegerField;

    Table1Summa_n: TFloatField;

    TeeFunction1: TMultiplyTeeFunction;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form5: TForm5;

 

implementation

 

{$R *.dfm}

 

end. 

Код 6 модуля

 

unit Unit6;

 

interface

 

uses

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

  Dialogs, DB, DBTables, TeEngine, Series, ExtCtrls, TeeProcs, Chart,

Информация о работе Разработка базы данных для решения задач учета клиентов банка с использованием возможностей системы Delphi 7