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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать документ)

form6.Edit2.Clear;

form6.Edit3.Clear;

form6.Edit4.Clear;

form6.Memo1.Clear;

form6.Label4.Caption:='';

Form6.ComboBox1.ItemIndex:=0;

form6.Label5.Visible:=true;

form6.label5.Caption:=form6.ComboBox1.Text;

dm.IBQuery1.Close;

dm.IBQuery1.SQL.Clear;

dm.IBQuery1.SQL.Add('select * from uchrez join anketa on uchrez.id_u=anketa.id_u where anketa.id_a='+DBGrid1.Columns.Items[0].Field.AsString);

dm.IBQuery1.Open;

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

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

form6.Memo1.Visible:=false;

form6.Label6.Visible:=true;

form6.Label7.Visible:=true;

form6.Label8.Visible:=false;

form6.Edit1.Visible:=true;

form6.Edit2.Visible:=true;

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

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

form6.Edit3.Visible:=false;

form6.Label3.Caption:=' ';

form6.Label10.caption:=dm.IBQuery1.FieldByName('fio').AsString;

Form6.Memo1.Clear;

form6.Edit3.Clear;

form6.Label9.Caption:=DBGrid1.Columns.Items[0].Field.AsString;

Form6.Label10.Caption:='';

form6.showmodal;

end; 

procedure TForm1.N13Click(Sender: TObject);

begin

//открываем  форму поиска

form7.StringGrid1.Cells[0,0]:='Критерий';

form7.StringGrid1.Cells[1,0]:='Значение';

form7.StringGrid1.Cells[0,1]:='Назначенные выплаты';

form7.StringGrid1.Cells[0,2]:='Сведения  о закреплении  жилого помещения';

form7.StringGrid1.Cells[0,3]:='Сведения о подаче документов для получения жилого помещения'; 

form7.show;

end; 

procedure TForm1.Edit1Change(Sender: TObject);

begin

//если  вводятся символы  в поле то из  быза извлекаются

//данные  соответствующие  введенной инфолрмации  по полю fio

dm.anketa.Close;

dm.anketa.SelectSQL.Clear;

dm.anketa.SelectSQL.Append('select anketa.id_a, anketa.fio, anketa.date_b, anketa.date_pr from anketa where uc=1 and anketa.fio like '+chr(39)+'%'+edit1.text+'%'+chr(39)+' order by fio');

dm.anketa.Open;

dm.anketa.First;

dm.anketa.Last;

dm.anketa.First;

DBGrid1.Columns[1].Title.Caption:='ФИО';

DBGrid1.Columns[1].Width:=250;

DBGrid1.Columns[2].Width:=150;

DBGrid1.Columns[2].Title.Caption:='Дата рождения';

DBGrid1.Columns[3].Width:=150;

DBGrid1.Columns[3].Title.Caption:='Регистрация';

DBGrid1.Columns[0].Width:=40;

DBGrid1.Columns[0].Title.Caption:='Номер';

end; 

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

begin

//закрытие формы

dm.DB.Connected:=false;

Application.Terminate;

end; 

procedure TForm1.N7Click(Sender: TObject);

begin

//открытие  формы администрирования,  доступно только  в режиме

//администратор - admin

form9.show;

end; 

procedure TForm1.N19Click(Sender: TObject);

begin

//открытие  архива

form10.show;

form1.Visible:=false;

end; 

procedure TForm1.N12Click(Sender: TObject);

var

i:integer;

begin

//открытие  формы просмотра

form11.Memo1.Clear;

dm.IBQuery1.Close;

dm.IBQuery1.SQL.Clear;

dm.IBQuery1.SQL.Add('select * from anketa where id_a='+DBGrid1.Columns.Items[0].Field.AsString);

dm.IBQuery1.Open;

form11.Memo1.Lines.Text:=dm.IBQuery1.FieldByName('fio').AsString+chr(13)

+dm.IBQuery1.FieldByName('grazd').AsString+chr(13)

+dm.IBQuery1.FieldByName('docum').AsString+' '+dm.IBQuery1.FieldByName('s_doc').AsString+' '+dm.IBQuery1.FieldByName('n_doc').AsString+chr(13)

+'место рождения:    '+dm.IBQuery1.FieldByName('place_b').AsString+chr(13)

+'приметы:           '+dm.IBQuery1.FieldByName('take').AsString+chr(13)

+'происхождение:     '+dm.IBQuery1.FieldByName('origin').AsString+chr(13)

+'мед. заключение:   '+dm.IBQuery1.FieldByName('med_z').AsString+chr(13)

+'характер:          '+dm.IBQuery1.FieldByName('natur').AsString+chr(13)

+'место работы/учебы:'+dm.IBQuery1.FieldByName('place_w').AsString+chr(13)

+'проживание:        '+dm.IBQuery1.FieldByName('place').AsString+chr(13)

+'мать:              '+dm.IBQuery1.FieldByName('mam_fio').AsString+chr(13)

+'отец:              '+dm.IBQuery1.FieldByName('pap_fio').AsString+chr(13)

+'брат/сестра:       '+dm.IBQuery1.FieldByName('relativ_oth').AsString+chr(13)

+'выплаты:           '+dm.IBQuery1.FieldByName('fix_pay').AsString+chr(13)

+'закрепленное жилье:'+dm.IBQuery1.FieldByName('sv_float').AsString+chr(13)

+'дополнительно:     '+dm.IBQuery1.FieldByName('dop_inf').AsString+chr(13); 

//извлечение  истории изменений

form11.Memo2.Clear;

dm.IBQuery1.Close;

dm.IBQuery1.SQL.Clear;

dm.IBQuery1.SQL.Add('select * from upd where id_a='+DBGrid1.Columns.Items[0].Field.AsString+' order by id_upd desc');

dm.IBQuery1.Open;

dm.IBQuery1.First;

dm.IBQuery1.Last;

dm.IBQuery1.First;

for i:=1 to dm.IBQuery1.RecordCount do

  begin

  form11.memo2.Lines.Text:=form11.memo2.Lines.Text+'Дата обновления:'+dm.IBQuery1.FieldByName('date_upd').AsString+chr(13)

  +'Название колонки:'+dm.IBQuery1.FieldByName('name_col').AsString+chr(13)

  +'Обновленный текст:'+dm.IBQuery1.FieldByName('text_upd').AsString+chr(13)

  +'Пользователь внесший обновление:'+dm.IBQuery1.FieldByName('us_n').AsString+chr(13)+chr(13);

  dm.IBQuery1.Next;

  end; 
 

form11.show;

end; 

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

//если  флажок выделен,  то выводятся нестоящие  на учете

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

if CheckBox1.Checked=True then

begin

edit1.Clear;

dm.anketa.Close;

dm.anketa.SelectSQL.Clear;

dm.anketa.SelectSQL.Append('select anketa.id_a, anketa.fio, anketa.date_b, anketa.date_pr from anketa where uc=0 order by fio');

dm.anketa.Open;

dm.anketa.First;

dm.anketa.Last;

dm.anketa.First;

DBGrid1.Columns[1].Title.Caption:='ФИО';

DBGrid1.Columns[1].Width:=250;

DBGrid1.Columns[2].Width:=150;

DBGrid1.Columns[2].Title.Caption:='Дата рождения';

DBGrid1.Columns[3].Width:=150;

DBGrid1.Columns[3].Title.Caption:='Регистрация';

DBGrid1.Columns[0].Width:=40;

DBGrid1.Columns[0].Title.Caption:='Номер';

end;

if CheckBox1.Checked=false then

begin

dm.anketa.Close;

dm.anketa.SelectSQL.Clear;

dm.anketa.SelectSQL.Append('select anketa.id_a, anketa.fio, anketa.date_b, anketa.date_pr from anketa where uc=1');

dm.anketa.Open;

dm.anketa.First;

dm.anketa.Last;

dm.anketa.First;

DBGrid1.Columns[1].Title.Caption:='ФИО';

DBGrid1.Columns[1].Width:=250;

DBGrid1.Columns[2].Width:=150;

DBGrid1.Columns[2].Title.Caption:='Дата рождения';

DBGrid1.Columns[3].Width:=150;

DBGrid1.Columns[3].Title.Caption:='Регистрация';

DBGrid1.Columns[0].Width:=40;

DBGrid1.Columns[0].Title.Caption:='Номер';

end; 

end; 

procedure TForm1.N21Click(Sender: TObject);

var

xl:variant;

begin

//открывает  лист Exel и вносит  в него данные  анкеты

   xl:=ExA.Application;

   XL.DisplayAlerts := false;

   XL.WorkBooks.Open(mydir+'print.xls');

   XL.Visible := false; 

  dm.IBQuery1.Close;

  dm.IBQuery1.SQL.Clear;

  dm.IBQuery1.SQL.Append('select * from anketa where id_a='+DBGrid1.Columns.Items[0].Field.AsString);

  dm.IBQuery1.Open;

  dm.IBQuery1.First;

  dm.IBQuery1.Last;

  dm.IBQuery1.First; 

  //получаем данные об учреждении

  dm.IBQuery2.Close;

  dm.IBQuery2.SQL.Clear;

  dm.IBQuery2.SQL.Append('select * from uchrez where id_u='+chr(39)+dm.IBQuery1.fieldbyname('id_u').AsString+chr(39));

  dm.IBQuery2.Open;

  dm.IBQuery2.First;

  dm.IBQuery2.Last;

  dm.IBQuery2.First;

  XL.WorkBooks[1].WorkSheets[1].Cells[2, 1] :='Учреждение: '+dm.IBQuery2.fieldbyname('name').AsString+', '+dm.IBQuery2.fieldbyname('address').AsString; 
 
 

  XL.WorkBooks[1].WorkSheets[1].Cells[4, 1] :=dm.IBQuery1.fieldbyname('date_fill').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[6, 1] :=dm.IBQuery1.fieldbyname('date_pr').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[8, 1] :=dm.IBQuery1.fieldbyname('date_dep').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[10, 1] :=dm.IBQuery1.fieldbyname('date_deliv').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[15, 1] :=dm.IBQuery1.fieldbyname('fio').AsString;

  if dm.IBQuery1.fieldbyname('pol').AsString='М' then

  XL.WorkBooks[1].WorkSheets[1].Cells[17, 1] :='Пол: мужской';

  if dm.IBQuery1.fieldbyname('pol').AsString='Ж' then

  XL.WorkBooks[1].WorkSheets[1].Cells[17, 1] :='Пол: женский';

  XL.WorkBooks[1].WorkSheets[1].Cells[17, 3] :=dm.IBQuery1.fieldbyname('date_b').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[19, 1] :='Гражданство:  '+dm.IBQuery1.fieldbyname('grazd').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[21, 2] :=dm.IBQuery1.fieldbyname('docum').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[23, 1] :='Номер: '+dm.IBQuery1.fieldbyname('n_doc').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[23, 2] :='Серия: '+dm.IBQuery1.fieldbyname('s_doc').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[25, 1] :='Место рождения:  '+dm.IBQuery1.fieldbyname('place_b').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[27, 1] :='Этническое происхождение: '+dm.IBQuery1.fieldbyname('origin').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[29, 1] :='Приметы: '+dm.IBQuery1.fieldbyname('take').AsString;

  XL.WorkBooks[1].WorkSheets[1].Cells[31, 1] :='Особенности характера: '+dm.IBQuery1.fieldbyname('natur').AsString;

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