Базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”

Автор работы: Пользователь скрыл имя, 26 Мая 2011 в 06:26, дипломная работа

Описание

Целью данного дипломного проекта являлось создание базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”.

Реализация данной задачи проводится в системе программирования Delphi7.0, располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удаленном сервере, а также большим коллекцией визуальных компонент для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.

Содержание

Введение 5
Глава 1. Описание предметной области объекта автоматизации 7
1.1. Постановка задачи 7
1.2. Описание предметной области задачи 9
1.2.1. История ОГОУ ЦПМСС 9
1.2.2. Направление деятельности ОГОУ ЦПМСС 9
1.2.3. Структура ОГОУ ЦПМСС 10
1.2.4. Описание компьютерной сети 12
1.2.5. Декомпозиция бизнес-процессов 13
1.2.6. Построение объектной модели задачи 19
Глава 2. Проектирование базы данных и реализация приложения 24
2.1. Программные средства, используемые при реализации проекта 24
2.2. Базы данных 26
2.2.1. Классификация баз данных 28
2.2.2. Структурные элементы баз данных 29
2.3. Проектирование базы данных 30
2.3.1. Проектирование инфологической модели 31
2.3.2. Проектирование логической и физической модели 34
2.4. Описание серверной части клиент-серверного приложения 37
2.5. Описание клиентской части 38
клиент-серверного приложения 38
2.6. Проектирование тестов и тестирование 40
Глава 3. Организационно-экономическая часть 46
3.1. Оценка затрат на разработку АС 46
3.1.1. Материальные затраты 48
3.1.2. Затраты на оплату труда 48
3.1.3. Дополнительная заработная плата 49
3.1.4. Страховые взносы 49
3.1.5. Затраты на электроэнергию 50
3.1.6. Затраты на содержание и эксплуатацию оборудования 50
3.1.7. Амортизационные отчисления 51
3.1.8. Накладные расходы 51
3.1.9. Cводная таблица затрат на разработку и внедрение проекта 52
3.2. Оценка эффекта от внедрения АС 53
Заключение 55
Список литературы 57
Приложения 58

Работа состоит из  1 файл

Диплом итог.doc

— 1.87 Мб (Скачать документ)

q:=q1+q2+q3+q4;     //сформированный  запрос

dm.IBQuery1.SQL.Clear;

dm.IBQuery1.SQL.Add(q);

dm.IBQuery1.ExecSQL;     //выполняем запрос

dm.anketa.Close;

dm.anketa.Open;

form1.FormShow(Sender);

form1.CheckBox1Click(sender);

close; 

end; 

end. 

unit Unit5; 

interface 

uses

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

  Dialogs, ComCtrls, StdCtrls, ExtCtrls; 

type

  TForm5 = class(TForm)

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    DateTimePicker1: TDateTimePicker;

    Label1: TLabel;

    Memo1: TMemo;

    Label2: TLabel;

    Label3: TLabel;

    RadioGroup1: TRadioGroup;

    DateTimePicker2: TDateTimePicker;

    Label4: TLabel;

    Memo2: TMemo;

    Memo3: TMemo;

    Label5: TLabel;

    Memo4: TMemo;

    Button1: TButton;

    Button2: TButton;

    Label6: TLabel;

    Label7: TLabel;

    procedure RadioGroup1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form5: TForm5; 

implementation 

uses Unit2, Unit1; 

{$R *.dfm} 

procedure TForm5.RadioGroup1Click(Sender: TObject);

begin

//если  значение другие, то дополнительно  доступно

//поле ввода

if RadioGroup1.ItemIndex=3 then

Memo4.Visible:=true

else

memo4.Visible:=false;

end; 

procedure TForm5.Button2Click(Sender: TObject);

begin

close;

end; 

procedure TForm5.Button1Click(Sender: TObject);

var

rea:string;

begin

//происходит  проверка если  снятия с учета  нет

//то  вносятся данные  по постановке

if TabSheet2.tabVisible=false then

begin

dm.IBQuery1.SQL.clear;

dm.IBQuery1.SQL.Add('INSERT INTO account (id_a, date_acc, taken_m, us_n) VALUES('+chr(39)+label6.Caption+chr(39)+','+chr(39)+datetostr(DateTimePicker1.Date)+chr(39)+','+chr(39)+Memo1.Text+chr(39)+','+chr(39)+login_u+chr(39)+');');

dm.IBQuery1.ExecSQL;

dm.IBQuery1.SQL.clear;

  dm.IBQuery1.SQL.Add('update anketa SET uc=1 WHERE id_a='+chr(39)+label7.Caption+chr(39)+';');

  dm.IBQuery1.ExecSQL;

close;

end else

begin

//иначе  вносятся данные  по снятию с  учета

dm.IBQuery2.SQL.Clear;

dm.IBQuery2.SQL.Add('select * from cess_acc join account on account.id_acc=cess_acc.id_acc where account.id_a='+form1.DBGrid1.Columns.Items[0].Field.AsString);

dm.IBQuery2.Open;

if dm.IBQuery2.RecordCount=0 then

begin

  if Memo4.Visible=true then

    rea:=memo4.Text

  else if RadioGroup1.ItemIndex=0 then

    rea:='Достижение 23 лет'

  else if RadioGroup1.ItemIndex=1 then

    rea:='Переезд в др. область'

  else if RadioGroup1.ItemIndex=2 then

    rea:='Смерть';

    //rea:=chr(39)+label6.Caption+chr(39)+','+chr(39)+datetostr(DateTimePicker2.Date)+chr(39)+','+chr(39)+Memo2.Text+chr(39)+','+chr(39)+Memo3.Text+chr(39)+','+rea+');';

  dm.IBQuery1.SQL.clear;

  dm.IBQuery1.SQL.Add('INSERT INTO cess_acc (id_acc, date_cess, reg_doc, dop_inf, reasons, us_n ) VALUES('+chr(39)+label6.Caption+chr(39)+','+chr(39)+datetostr(DateTimePicker2.Date)+chr(39)+','+chr(39)+Memo2.Text+chr(39)+','+chr(39)+Memo3.Text+chr(39)+','+chr(39)+rea+chr(39)+','+chr(39)+login_u+chr(39)+');');

  dm.IBQuery1.ExecSQL;

  dm.IBQuery1.SQL.clear;

  dm.IBQuery1.SQL.Add('update anketa SET uc=2 WHERE id_a='+chr(39)+label7.Caption+chr(39)+';');

  dm.IBQuery1.ExecSQL;

  close;

end else

  ShowMessage('внесение изменений невозможно');

end;

form1.CheckBox1Click(sender);

end; 

end. 

unit Unit6; 

interface 

uses

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

  Dialogs, StdCtrls, ComCtrls, Mask; 

type

  TForm6 = class(TForm)

    DateTimePicker1: TDateTimePicker;

    Label1: TLabel;

    ComboBox1: TComboBox;

    Label2: TLabel;

    Memo1: TMemo;

    Button1: TButton;

    Button2: TButton;

    Label4: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label5: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Edit4: TEdit;

    MaskEdit1: TMaskEdit;

    procedure ComboBox1Change(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

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

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form6: TForm6;

   ss:string;

implementation 

uses Unit2, Unit1; 

{$R *.dfm} 

procedure TForm6.ComboBox1Change(Sender: TObject);

begin

//здесь  в зависимости  от выбранной колонки  анкеты извлекаются

//данные  из нее и поля  формируются соответствующим образом

if ((ComboBox1.ItemIndex=1) or (ComboBox1.ItemIndex=2) or (ComboBox1.ItemIndex=3) or (ComboBox1.ItemIndex=4) or (ComboBox1.ItemIndex=7)) then

begin

Label5.Visible:=false;

Memo1.Visible:=false;

Label6.Visible:=false;

Label7.Visible:=false;

Label8.Visible:=false;

Edit1.Visible:=false;

Edit2.Visible:=false;

Edit3.Visible:=false;

memo1.Clear;

edit1.Clear;

edit2.Clear;

edit3.Clear;

MaskEdit1.Text:='';

Label3.Caption:=ComboBox1.Text;

MaskEdit1.Visible:=true;

  if (ComboBox1.ItemIndex=1) then

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('date_fill').AsString;

  if (ComboBox1.ItemIndex=2) then

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('date_pr').AsString;

  if (ComboBox1.ItemIndex=3) then

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('date_dep').AsString;

  if (ComboBox1.ItemIndex=4) then

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('date_deliv').AsString;

  if (ComboBox1.ItemIndex=7) then

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('date_b').AsString;

  edit4.Text:=MaskEdit1.Text;

end else

if ((ComboBox1.ItemIndex=19) or (ComboBox1.ItemIndex=20)) then

begin

Label5.Visible:=false;

label6.Caption:='ФИО';

label7.Caption:='Гражданство';

label8.Caption:='Местонахождение';

Label3.Caption:='Дата рождения';

Memo1.Visible:=false;

memo1.Clear;

Label6.Visible:=true;

Label7.Visible:=true;

Label8.Visible:=true;

Edit1.Visible:=true;

Edit2.Visible:=true;

Edit3.Visible:=true;

MaskEdit1.Text:='';

MaskEdit1.Visible:=true;

  if (ComboBox1.ItemIndex=19) then

  begin

  Edit1.Text:=dm.IBQuery1.FieldByName('mam_fio').AsString;

  Edit2.Text:=dm.IBQuery1.FieldByName('mam_gr').AsString;

  Edit3.Text:=dm.IBQuery1.FieldByName('mam_pl').AsString;

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('mam_b').AsString;

  end;

  if (ComboBox1.ItemIndex=20) then

  begin

  Edit1.Text:=dm.IBQuery1.FieldByName('pap_fio').AsString;

  Edit2.Text:=dm.IBQuery1.FieldByName('pap_gr').AsString;

  Edit3.Text:=dm.IBQuery1.FieldByName('pap_pl').AsString;

  MaskEdit1.Text:=dm.IBQuery1.FieldByName('pap_b').AsString;

  end;

Edit4.Text:=MaskEdit1.Text;

end else

if (ComboBox1.ItemIndex=0) then

begin

Label5.Visible:=true;

label5.Caption:=ComboBox1.Text;

label6.Caption:='Название';

label7.Caption:='Адрес';

Memo1.Visible:=false;

Label6.Visible:=true;

Label7.Visible:=true;

Label8.Visible:=false;

Edit1.Visible:=true;

Edit2.Visible:=true;

Edit1.Text:=dm.IBQuery1.FieldByName('name').AsString;

Edit2.Text:=dm.IBQuery1.FieldByName('address').AsString;

Edit3.Visible:=false;

memo1.Clear;

edit3.Clear;

Label3.Caption:=' ';

MaskEdit1.Visible:=false;

MaskEdit1.Clear;

Edit4.Text:='';

end else

if (ComboBox1.ItemIndex=9) then

begin

Label5.Visible:=true;

label5.Caption:=ComboBox1.Text;

label6.Caption:='Название';

label7.Caption:='Номер';

label8.Caption:='Серия';

Memo1.Visible:=false;

Label6.Visible:=true;

Label7.Visible:=true;

Label8.Visible:=true;

Edit1.Visible:=true;

Edit2.Visible:=true;

Edit3.Visible:=true;

memo1.Clear;

Edit1.Text:=dm.IBQuery1.FieldByName('docum').AsString;

Edit2.Text:=dm.IBQuery1.FieldByName('n_doc').AsString;

Информация о работе Базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”