南邮住院课程设计报告.docx

上传人:b****3 文档编号:24714837 上传时间:2023-05-31 格式:DOCX 页数:25 大小:630.85KB
下载 相关 举报
南邮住院课程设计报告.docx_第1页
第1页 / 共25页
南邮住院课程设计报告.docx_第2页
第2页 / 共25页
南邮住院课程设计报告.docx_第3页
第3页 / 共25页
南邮住院课程设计报告.docx_第4页
第4页 / 共25页
南邮住院课程设计报告.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

南邮住院课程设计报告.docx

《南邮住院课程设计报告.docx》由会员分享,可在线阅读,更多相关《南邮住院课程设计报告.docx(25页珍藏版)》请在冰豆网上搜索。

南邮住院课程设计报告.docx

南邮住院课程设计报告

通达学院

专业课程设计报告

 

题目:

医院住院部信息管理系统

 

专业

软件工程

学生姓名

班级学号

指导教师

张少娴

指导单位

南京邮电大学计算机学院

日期

2014-6-9至2014-6-20

评分细则

评分项

优秀

良好

中等

遵守机房规章制度

上机时的表现

学习态度

程序准备情况

程序设计能力

团队合作精神

课题功能实现情况

算法设计合理性

用户界面设计

报告书写认真程度

内容详实程度

文字表达熟练程度

回答问题准确度

简短评语

 

教师签名:

年月日

评分等级

备注

评分等级有五种:

优秀、良好、中等、及格、不及格

一.课题名称:

医院住院部信息管理系统

二.设计目标:

按照软件工程的规范,以SQLServer2000为后台数据库,建议以delphi为前端开发工具,设计并实现一个医院住院部信息管理系统。

三.需求描述:

医院的住院部管理非常复杂,它涉及众多诸如病人的信息、每天的具体费用、住院期间的总费用等问题,因此,设计本系统,完成病人住院登记、每天费用录入、费用查询、总费用统计等功能,具体需求如下:

1.住院登记,用于录入住院病人的信息,包括编号、姓名、性别、年龄、病房号、床号、住院日期、工作单位、病因、预交押金等信息,同时可浏览、添加、删除、编辑记录。

2.费用录入,用于录入病人每天费用清单,包括编号、姓名、护理等级、结算日期、护理费、床位费、注射费、药费、治疗费、手术费等,同时可浏览、添加、删除、编辑记录。

3.费用查询,提供主从界面,当在主表中浏览病人信息时,从表中将显示当前对应记录病人的所有费用记录。

4.总费用统计,在此页面中单击“开始统计”按钮,表格中将依次显示各病人的预交押金、总费用以及剩余或赊欠的费用,同时,文本框将显示催款名单,若无人欠款,将显示“没有任何病人赊欠费用”。

四.具体设计

本次实验以SQLServer2000为后台数据库,以delphi7.0为前端开发工具,OS为WinXPsp1系统。

住院部信息管理系统用一个数据库和两张表进行存储

两张表的内容如下:

数据库:

医院住院管理

表:

1、基本信息表

基本信息用于录入存储住院病人的信息,包括编号、姓名、性别、年龄、病房号、床号、住院日期、工作单位、病因等信息

具体设置如下

2.医院信息表

医院信息用于录入病人每天费用清单,包括编号、姓名、护理等级、预交押金,结算日期、护理费、床位费、注射费、药费、治疗费、手术费等

具体设置如下

其中,总费用=([手术费]+[治疗费]+[护理费]+[床位费]+[注射费]+[药费])

剩余费用=([预约金]-[总费用])(当为-的时候为赊欠)

在前端Delphi开发中最终用到了5个form。

分别为登录,导航,住院登记,费用录入,信息查询和总揽统计。

五.详细设计

系统自动生成的:

1.programProject1;

uses

Forms,

Unit1in'Unit1.pas'{Form1},

Unit3in'Unit3.pas'{Form3},

Unit4in'Unit4.pas'{Form4},

Unit5in'Unit5.pas'{Form5},

Unit7in'Unit7.pas'{Form7},

Unit2in'Unit2.pas'{Form2};

{$R*.res}

begin

Application.Initialize;

Application.CreateForm(TForm1,Form1);

Application.CreateForm(TForm3,Form3);

Application.CreateForm(TForm4,Form4);

Application.CreateForm(TForm5,Form5);

Application.CreateForm(TForm7,Form7);

Application.CreateForm(TForm2,Form2);

Application.Run;

end.

2.Form1登陆界面

确认按钮被单击

判断edit1和edit2的数据,当为admin密码为admin进入导航(管理员权限)

为123密码为123,进入普通用户界面仅支持查询

procedureTForm1.Button1Click(Sender:

TObject);

begin

ifedit1.Text=''then

begin

showmessage('账号不能为空');

exit;

end;

ifedit2.Text=''then

begin

showmessage('密码不能为空');

exit;

end;

if(Edit1.Text='admin')and(Edit2.Text='admin')then

begin

Form4.Button1.Enabled:

=True;//from4下的空间Button1属性Enabled为true,admin可调用。

若为false则没有权限,下同。

Form4.Button2.Enabled:

=True;

Form4.Button3.Enabled:

=True;

Form4.Button4.Enabled:

=True;

Form7.Button2.Enabled:

=True;

Form4.Show;

end

else

//对于普通用户"123"而言只有查询的权限

if(Edit1.Text='123')and(Edit2.Text='123')then

begin

Form4.Button1.Enabled:

=False;

Form4.Button2.Enabled:

=False;

Form7.Button2.Enabled:

=false;

Form4.Show;

exit;

End

//判断帐号密码是否正确

else

begin

showmessage('账号密码不正确');

end

end;

3.导航界面ForM4

procedureTForm4.Button1Click(Sender:

TObject);

begin

Form5.show;

end;

procedureTForm4.Button2Click(Sender:

TObject);

begin

Form7.show;

end;

procedureTForm4.Button3Click(Sender:

TObject);

begin

Form2.show;

end;

procedureTForm4.Button4Click(Sender:

TObject);

begin

Form3.Show;

end;

单击不同按钮则进入不同的界面进行操作(普通用户按钮124不可用)

4.Form5住院登记

文本框输入相符内容,点登记则完成登记

登记按钮代码如下

procedureTForm5.Button2Click(Sender:

TObject);

begin

//先做好保护工作

ifedit1.Text=''then

begin

showmessage('编号不能为空!

');

exit;

end;

//先查看是否已经有病人信息

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*');

ADOQuery1.SQL.Add('from医院信息');

ADOQuery1.SQL.Add('where编号='''+Edit1.Text+

'''');

ADOQuery1.Prepared;

ADOQuery1.Open;

ADOQuery1.Active:

=true;

ifADOQuery1.RecordCount>0then

begin

//有该信息就弹出一个提示框,然后推出该函数的执行

messageBox(0,'已有该病人的信息','Error!

',mb_OK);

exit;

end;

//当不存在该病人信息时

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('insertinto基本信息values(');

ADOQuery1.SQL.Add(''''+Edit1.Text+''''+',');//编号

ADOQuery1.SQL.Add(''''+Edit2.Text+''''+',');//姓名

ADOQuery1.SQL.Add(''''+Edit3.Text+''''+',');//性别

ADOQuery1.SQL.Add(''''+Edit4.Text+''''+',');//年龄

ADOQuery1.SQL.Add(''''+Edit5.Text+''''+',');//工作单位

ADOQuery1.SQL.Add(''''+Edit7.Text+''''+',');//病房号

ADOQuery1.SQL.Add(''''+Edit8.Text+''''+',');//床号

ADOQuery1.SQL.Add(''''+edit10.text+''''+',');//住院日期

ADOQuery1.SQL.Add(''''+Edit9.Text+''''+')');//病因

ADOQuery1.ExecSQL;

//把DBGrid框的内容进行更新

ADOQuery2.Close;

ADOQuery2.Open;

ADOQuery2.Active:

=true;

end;

查询功能:

输入对应编号,在文本框中显示相应信息;

procedureTForm5.Button6Click(Sender:

TObject);

begin

ifedit1.Text=''then

begin

showmessage('编号不能为空!

');

exit;

end;

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*');

ADOQuery1.SQL.Add('from基本信息');

ADOQuery1.SQL.Add('where编号='''+Edit1.Text+

'''');

ADOQuery1.Prepared;

ADOQuery1.Open;

ADOQuery1.Active:

=true;

 

ifADOQuery1.RecordCount=0then

begin

//有该信息就弹出一个提示框,然后推出该函数的执行

messageBox(0,'没有该病人的信息','Error!

',mb_OK);

exit;

end;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select编号from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit1.text:

=adoquery1.fieldbyname('编号').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select姓名from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

edit2.text:

=adoquery1.fieldbyname('姓名').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select性别from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit3.text:

=adoquery1.fieldbyname('性别').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select年龄from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit4.text:

=adoquery1.fieldbyname('年龄').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select工作单位from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit5.text:

=adoquery1.fieldbyname('工作单位').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select住院日期from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

edit10.text:

=adoquery1.fieldbyname('住院日期').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select病房号from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit7.text:

=adoquery1.fieldbyname('病房号').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select床号from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit8.text:

=adoquery1.fieldbyname('床号').AsString;

ADOQuery1.Close;

Adoquery1.sql.clear;

Adoquery1.sql.add('select病因from基本信息where编号='''+Edit1.Text+'''');

Adoquery1.Open;

Edit9.text:

=adoquery1.fieldbyname('病因').AsString;

end;

(同样能将信息输出到右边的DBGrid1里)

修改按钮:

功能:

先查询,将要修改的数据填写到对面文本框,点修改即可,对应DBGRID也会修改并显示修改后的内容。

代码实现如下:

procedureTForm5.Button4Click(Sender:

TObject);

begin

ifapplication.MessageBox('您确定要修改数据嘛?

','危险',MB_OKCANCEL)=IDCANCELthen

exit;

//先查看是否已经有改信息

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*');

ADOQuery1.SQL.Add('from基本信息');

ADOQuery1.SQL.Add('where编号='''+Edit1.Text+'''');

ADOQuery1.Prepared;

ADOQuery1.Open;

ADOQuery1.Active:

=true;

ifADOQuery1.RecordCount=0then

begin

//没有该航班信息就弹出一个提示框,然后推出该函数的执行

messageBox(0,'无该病人的信息','Error!

',mb_OK);

exit;

end;

//当该信息存在时则可以将其信息更新到表中

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('update基本信息set');

ADOQuery1.SQL.Add('编号='+''''+Edit1.Text+''''+',');

ADOQuery1.SQL.Add('姓名='+''''+Edit2.Text+''''+',');

ADOQuery1.SQL.Add('性别='+''''+Edit3.Text+''''+',');

ADOQuery1.SQL.Add('年龄='+''''+Edit4.Text+''''+',');

ADOQuery1.SQL.Add('工作单位='+''''+Edit5.Text+''''+',');

ADOQuery1.SQL.Add('住院日期='+''''+edit10.text+''''+',');

ADOQuery1.SQL.Add('病房号='+''''+Edit7.Text+''''+',');

ADOQuery1.SQL.Add('床号='+''''+Edit8.Text+''''+',');

ADOQuery1.SQL.Add('病因='+''''+Edit9.Text+'''');

ADOQuery1.SQL.Add('where');

ADOQuery1.SQL.Add('编号='+''''+Edit1.Text+'''');

ADOQuery1.ExecSQL;

ADOQuery2.Close;

ADOQuery2.Open;

ADOQuery2.Active:

=true;

删除按钮:

功能,输入对应编号删除代码如下

procedureTForm5.Button3Click(Sender:

TObject);

begin

ifapplication.MessageBox('您确定要修改数据嘛?

','危险',MB_OKCANCEL)=IDCANCELthen

exit;

//先做好保护工作

ifedit6.Text=''then

begin

showmessage('编号不能为空!

');

exit;

end;

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*');

ADOQuery1.SQL.Add('from基本信息');

ADOQuery1.SQL.Add('where编号='''+Edit6.Text+'''');

ADOQuery1.Prepared;

ADOQuery1.Open;

ADOQuery1.Active:

=true;

 

ifADOQuery1.RecordCount=0then

begin

//有该信息就弹出一个提示框,然后推出该函数的执行

messageBox(0,'没有该病人的信息','Error!

',mb_OK);

exit;

end;

 

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('deletefrom基本信息');

ADOQuery1.SQL.Add('where编号='''+Edit6.Text+'''');//编号

ADOQuery1.ExecSQL;

//把DBGrid框的内容进行更新

ADOQuery2.Close;

ADOQuery2.Open;

ADOQuery2.Active:

=true;

end;

刷新按钮只是重置下表格内容,代码省略

5.费用录入FORM7

和住院登记一样,插入文本框的数据,通过费用录入可以将对应数据插入数据库中

费用录入代码如下:

procedureTForm7.Button4Click(Sender:

TObject);

begin

ifedit3.Text=''then

begin

showmessage('编号不能为空!

');

exit;

end;

//先查看是否已经有病人信息

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*');

ADOQuery1.SQL.Add('from医院信息');

ADOQuery1.SQL.Add('where编号='''+Edit3.Text+

'''');

ADOQuery1.Prepared;

ADOQuery1.Open;

ADOQuery1.Active:

=true;

 

ifADOQuery1.RecordCount>0then

begin

//有该信息就弹出一个提示框,然后推出该函数的执行

messageBox(0,'已有该病人的信息','Error!

',mb_OK);

exit;

end;

//当该航班信息不存在时则可以将其信息插入flight表中

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('insertinto医院信息values(');

ADOQuery1.SQL.Add(''''+Edit3.text+''''+',');//编号

ADOQuery1.SQL.Add(''''+Edit4.Text+''''+',');//护理等级

ADOQuery1.SQL.Add(Edit12.Text+',');//预约金

ADOQuery1.SQL.Add(''''+Edit2.Text+''''+',');//结算日期

ADOQuery1.SQL.Add(Edit5.Text+',');//护理费

ADOQuery1.SQL.Add(Edit7.Text+',');//床位费

ADOQuery1.SQL.Add(Edit8.Text+',');//注射费

ADOQuery1.SQL.Add

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1