《基于MYSQL的医院综合信息管理系统设计报告djxv.docx》由会员分享,可在线阅读,更多相关《基于MYSQL的医院综合信息管理系统设计报告djxv.docx(115页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库实实验报告告医院综合合信息管管理系统统专业班级组 长长组 员员指导教师师目录一、需求求分析:21.1人人员信息息管理系系统21.2门门诊信息息管理系系统31.3收收费信息息管理系系统3二、系统统分析:32.1系系统功能能介绍332.2功功能模块块3三、数据据库设计计:43.1 E-RR图:43.2数数据字典典:6四、前台台设计:84.1.医生信信息管理理:84.2.病人信信息管理理:84.3.药品信信息管理理:94.4.诊断界界面:1104.5.处方界界面:1104.6.病人处处方查询询:1004.7.收费信信息管理理:111五、程序序调试结结果:112六、总结结:222内容提要要 :本
2、系统是是一个基基于MYYSQLL而建立立的医院院综合信信息管理理系统。用用Miccrossoftt Viisuaal SStuddio 20110结合合MYSSQL开开发了33个模块块。包括括有人员员信息管管理,门门诊信息息管理,收收费信息息管理。其其中人员员信息管管理其中中有医生生信息管管理,病病人信息息管理和和药品信信息管理理。门诊诊信息管管理其中中则含有有就诊信信息管理理,病人人处方管管理。这这3模块块基本实实现了医医院综合合信息管管理系统统的需求求。【关键词词】: Miccrossoftt Viisuaal SStuddio 20110,MMYSQQL,人人员信息息管理,门门诊信息息管
3、理,收收费信息息管理一、 需求分析析:整个医院院综合信信息管理理系统可可分为三三个子系系统:人人员信息息管理系系统,门门诊信息息管理系系统,收收费信息息管理系系统。1.1人人员信息息管理系系统人员信息息管理即即对于人人和物品品的管理理,人则则包含医医生及医医护人员员,就诊诊病人,还还有药品品等。我我们需要要对他们们的基本本信息进进行记录录,并且且还要具具有增加加,删除除,修改改,查询询等基本本功能,所所以我建建立了一一个基本本信息管管理模块块来专门门处理。我我也在数数据库中中对应了了三张表表:dooctoor,ppatiientt,duurg以以便对人人员信息息管理信信息进行行存储。1.2门门
4、诊信息息管理系系统对于就诊诊信息的的管理,病病人看病病后会产产生新的的数据,例例如医生生对病人人的诊断断信息,以以及药品品处方信信息。而而与其对对应的则则是我做做的门诊诊信息管管理,其其中我做做了两个个窗口,一一个是诊诊断信息息窗口,主主要实现现对诊断断信息的的储存;另一个个是处方方信息窗窗口,有有增加、删删除、修修改药品品等功能能。然后后我另做了一一个查询询的窗口口,以便便病人查查询自己己的处方方记录。对对应数据据库,我我做了两两张表:diaagnoosiss,prresccripptioon。1.3收收费信息息管理系系统对于收费费信息管管理,病病人拿到到处方后后,就会会取药,付付款。则则我
5、需要要对其总总价进行行计算,再再者就是是对于药药品库存存进行修修改。于于是对应应要求我我做了一一个收费费前台。虽虽然在数数据库中中没有对对应相应应的表。可可是它的的操作主主要是对对preescrripttionn的读取取,以及及对duurg库库存的修修改。二、系统统分析:整个医院院综合信信息管理理系统可可分为三三个子系系统:人人员信息息管理系系统,门门诊信息息管理系系统,收收费信息息管理系系统。2.1系系统功能能介绍2. 11. 11人员信信息管理理系统的的功能对医生、病病人、药药品的基基本信息息进行增增加,删删除,修修改,查查询等的的基本功功能2. 11. 22 门门诊信息息管理系系统的功功
6、能对就诊信信息的存存储功能能和对处处方信息息进行增增加、删删除、修修改药品品等的基基本功能能3. 22. 33 收收费信息息管理系系统对医疗费费用进行行总和计计算的功功能和对对药品库库存进行行修改的的功能2.2功功能模块块系统主要要功能模模块图如如下:医院综合信息管理系统人员信息管理系统门诊信息管理系统收费信息管理系统医生信息管理病人信息管理药品信息管理就诊信息管理病人处方管理收费信息管理药品库存管理三、数据据库设计计:3.1 E-RR图:3.1.1医生生信息ddocttor E-RR图namesexageemploynophonedoctor3.1.2病人人信息ppatiientt E-R图
7、namesexagepatientnonophonepatient3.1.3药品品信息ddrugg E-R图drugdrugnononamenopricenoinventoryno3.1.4诊断断信息ddiaggnossis E-RR图diagnosisdiagnosisnononoemploynonopatientnonoconditionno3.1.5处方信信息prresccripptioon EE-R图图prescriptionprescriptionnononopatientnononamenotimenoaccount3.1.6实体体间主要要关系EE-R图图DoctorPaitien
8、tDurgDiagnosisPrescriptionN11111113.2数数据字典典:表1:ddocttor:表2:ppatiientt表3:ddurgg表4:ddiaggnossis表5:ppresscriiptiion四、前台台设计:4.1.医生信信息管理理:4.2.病人信信息管理理:4.3.药品信信息管理理:4.4.诊断界界面:4.5.处方界界面:4.6.病人处处方查询询:4.7.收费信信息管理理:五、程序序调试结结果:1.主界界面:2.添加加功能:实现代码码:voidd CEEmplloyeeeDllg:OnBBnCllickkedOOk()/ TTODOO: 在在此添加加控件通通知
9、处理理程序代代码/CDDiallogEEx:OnOOK();UpddateeDatta(ttruee);if(mm_nuumbeer.IIsEmmptyy()MeessaageBBox(CSttrinng(编号不不能为空空”);retuurn;if(mm_naame.IsEEmptty()MeessaageBBox(CSttrinng(名称不不能为空空!);retuurn;if(mm_iddcarrd.IIsEmmptyy()MeessaageBBox(CSttrinng(省份证证号码不不能为空空!);retuurn;CADDOCoonn m_AAdoCConnn;m_AAdoCConnn.O
10、nnIniitADDOCoonn();_bsstr_t ssql;sqll = seelecct* froom ddocttor;_ReecorrdseetPttr mm_pRRecoordsset; m_ppReccorddsett=m_AdooConnn.GGetRRecoordSSet(sqll);trym_pReecorrdseet-AdddNeww();/添添加新行行m_pReecorrdseet-PuttColllecct(empployyeenno,(_bbstrr_t)m_nnumbber);m_pReecorrdseet-PuttColllecct(namme,(_bbstr
11、r_t)m_nnamee);m_pReecorrdseet-PuttColllecct(sexx,(_bsstr_t)mm_seex);m_pReecorrdseet-PuttColllecct(agee,(_bsstr_t)mm_agge);m_pReecorrdseet-PuttColllecct(nattivee,(_bsstr_t)mm_naativve); m_pReecorrdseet-PuttColllecct(nattionn,(_bsstr_t)mm_naatioon);m_pReecorrdseet-PuttColllecct(offficee,(_bsstr_t)mm_o
12、ffficce);m_pReecorrdseet-PuttColllecct(possitiion,(_bsttr_tt)m_possitiion);m_pReecorrdseet-PuttColllecct(idccardd,(_bsstr_t)mm_iddcarrd);m_pReecorrdseet-PuttColllecct(phoone,(_bsttr_tt)m_phoone);m_pReecorrdseet-Upddatee();/更新新数据库库m_AdooConnn.EExittConnnecct();/断开数数据库连连接catcch(.)MeessaageBBox(CSttrin
13、ng(操作失失败);retuurn;MesssaggeBoox(CCStrringg(保保存成功功);m_ggridd.DeeletteAlllIttemss();/删删除grrid中中原来的的数据CSttrinng sstr;strr=sseleect* frrom docctorr;AdddToGGridd(sttr);/重重新遍历历2.修改改功能:实现代码码:voidd CEEmplloyeeeDllg:OnBBnCllickkedCChannge()/ TODDO: 在此添添加控件件通知处处理程序序代码UpddateeDatta(ttruee);CADDOCoonn m_AAdoCCo
14、nnn;m_AAdoCConnn.OnnIniitADDOCoonn();CSttrinng ttemppSqll;temmpSqql.FFormmat(CSttrinng(UPDDATEEmyydb.ddocttorSETT nnamee=%s,ssex=%s,agge=%ss,nattivee=%s,nnatiion=%s,offficce=%ss,possitiion=%s,iddcarrd=%ss,phoone=%sWWHERRE empployyeenno=%ss),m_namme,mm_seex,mm_agge,mm_naativve,mm_naatioon,mm_offficce
15、,mm_poosittionn,m_idccardd,m_phoone,m_nnumbber);m_AAdoCConnn.ExxecuuteSSQL(_bbstrr_t)temmpSqql);m_AAdoCConnn.ExxitCConnnectt();MesssaggeBoox(CCStrringg(修修改成功功.);m_ggridd.DeeletteAlllIttemss();/删删除grrid中中原来的的数据CSttrinng sstr;strr=sseleect* frrom docctorr;AdddToGGridd(sttr);/重重新遍历历3删除除功能:代码实现现:voidd C
16、EEmplloyeeeDllg:OnBBnCllickkedDDeleete()/ TODDO: 在此添添加控件件通知处处理程序序代码UppdatteDaata(truue);CADDOCoonn m_AAdoCConnn;m_AAdoCConnn.OnnIniitADDOCoonn();CSttrinng ttemppSqll;temmpSqql.FFormmat(CSttrinng(delletee frrom docctorr whheree emmplooyeeeno = %s),m_nnumbber);CSttrinng ttenppstrr;tennpsttr.FFormmat(C
17、Sttrinng(是否要要删除%s的记记录),m_namme);if(MesssaggeBoox(ttenppstrr,CSStriing(提示示),MB_OKCCANCCEL)=IIDOKK)m_AdooConnn.EExeccuteeSQLL(_bsttr_tt)teempSSql);m_AdooConnn.EExittConnnecct();MeessaageBBox(CSttrinng(删除成成功.);m_griid.DDeleeteAAllIItemms();/删除ggridd中原来来的数据据CSStriing strr; sttr=sellectt* ffromm dooctoor
18、; AdddTooGriid(sstr);/重新遍遍历4.查询询功能:实现代码码:voidd CEEmplloyeeeDllg:OnBBnCllickkedSSeleect()/ TODDO: 在此添添加控件件通知处处理程序序代码m_ggridd.DeeletteAlllIttemss();UpddateeDatta(ttruee);CSttrinng sstr11,sttr2;intt nuum1,numm2;numm1=mm_coomboo.GeetCuurSeel();if(0=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT)-GeetWiindoowT
19、eext(strr1);sttr2=CSttrinng(sellectt* ffromm dooctoor wwherre eemplloyeeenoo liike )+CSttrinng()+sttr1+CSttrinng();AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录if(1=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT)-GeetWiindoowTeext(strr1);sttr2=CSttrinng(sellectt* ffromm dooctoor wwherre nnamee liike )+CSttrinng()+st
20、tr1+CSttrinng();AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录if(2=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT)-GeetWiindoowTeext(strr1);sttr2=CSttrinng(sellectt* ffromm dooctoor wwherre ooffiice likke )+CCStrringg()+strr1+CCStrringg();AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录if(3=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT
21、)-GeetWiindoowTeext(strr1);sttr2=CSttrinng(sellectt* ffromm dooctoor wwherre pposiitioon llikee )+CSStriing()+sstr11+CSStriing();AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录if(4=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT)-GeetWiindoowTeext(strr1);sttr2=CSttrinng(sellectt* ffromm dooctoor wwherre iidcaard likke
22、)+CCStrringg()+strr1+CCStrringg();AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录if(5=numm1)GeetDllgIttem(IDCC_EDDIT_CONNTENNT)-GeetWiindoowTeext(strr1);sttr2=seelecct* froom ddocttor ordder by empployyeenno DDESCC;AdddTooGriid(sstr22);/ 遍遍历功能能信息记记录5.诊断断界面:6.处方方界面:7.处方方查询:8.付款款界面:9.修改改库存:对比图:付款前:付款后:六、总结结:通过这次次数
23、据库库大作业业,我们们熟悉了了vs20010的的数据库库ADOO编程。对对于它的的添加,修修改,删删除步骤骤都有了了较大的的理解。在在此次作作业当中中遇到两两大问题题。一是是:数据据库连接接问题,本本来开始始准备用用acccesss做后台台,可是是不知道道为什么么我的电电脑一直直连接不不上,于于是改用用了MYYAQLL连接。二二是:在在是使用用记录集集指针的的问题_ReccorddsettPtrr m_pReecorrdseet,在在实现添添加,删删除,修修改,查查询等操操作时,只只能执行行一次就就出现指指针无效效的结果果。最后后发现是是在连接接数据库库时没有有初始化化COMM,所以以导致有有
24、指针无无效的结结果。然然后,最最让我开开心的是是,是实实现总价价的计算算。我是是用两个个数组,aamouunt20,和ppricce220记记住数量量和单价价,利用用forr循环计计算总价价的。然然后,就就是在 vs220100中字符符之间的的转换也也是我们们应该注注意的问问题。总之,这这次实验验,让我我们学到到了许多多课本上上学不到到的知识识,也锻锻炼了我我们的思思考问题题,解决决问题的的能力。附录:医医院综合合信息管管理系统统源代码码/ AADOCConnn.cppp : 实现现文件/#inccludde stddafxx.h#inccludde hosspittal.h#inccludd
25、e ADOOConnn.hh/ CCADOOConnnCADOOConnn:CADDOCoonn()CADOOConnn:CAADOCConnn()/ CCADOOConnn 成成员函数数booll CAADOCConnn:OOnInnitAADOCConnn(vooid)HREESULLT hhr;:CCoInnitiialiize(NULLL);tryyhrr=m_pDBBConnnecctioon.CCreaateIInsttancce(ADOODB.Connnecctioon);iff(SUUCCEEEDEED(hhr)mm_pDDBCoonneectiion-Coonneectiio
26、nTTimeeoutt=3;/设置置连接字字符串_bsttr_tt sttrCoonneectiion=Drriveer=MySSQL ODBBC 55.2 Uniicodde DDrivver;SEERVEER=1127.0.00.1;DATTABAASE=myddb;UUID=rooot;PPASSSWORRD=11234456;PORRT=333066;hhr=mm_pDDBCoonneectiion-Oppen(strrConnnecctioon,aadMoodeUUnknnownn);cattch(_coom_eerroor ee)/捕捉异异常CSStriing temmp;teem
27、p.Forrmatt(CSStriing(连接接数据库库错误信信息:%s),e.ErrrorMMesssagee();:MesssaggeBoox(NNULLL,teemp,CSttrinng(提示信信息),NUULL);reeturrn ffalsse;retturnn faalsee;/ 断断开数据据库连接接voidd CAADOCConnn:EExittConnnecct(vvoidd)if (m_pReecorrdseet!=NULLL) m_pReecorrdseet-Cloose();m_ppDBCConnnecttionn-CClosse();/释释放环境境:CCoUnninii
28、tiaalizze();/ 获获取记录录集_ReccorddsettPtrr& CCADOOConnn:GettReccorddSett(_bbstrr_t bsttrSQQL)tryyiff(m_pDBBConnnecctioon=NULLL) OnnIniitADDOCoonn();m_pReecorrdseet.CCreaateIInsttancce(_uuuidoof(RRecoordsset);m_pRRecoordsset-Oppen(bsttrSQQL,mm_pDDBCoonneectiion.GettIntterffaceePtrr(),adOOpennDynnamiic,aa
29、dLoockOOptiimissticc,addCmddTexxt); cattch(_coom_eerroor ee)CSStriing temmp;teemp.Forrmatt(CSStriing(读取取数据库库错误信信息:%s),e.ErrrorMMesssagee();:MesssaggeBoox(NNULLL,teemp,CSttrinng(提示信信息),NUULL);retturnn m_pReecorrdseet;/ 执执行SQQL语句句booll CAADOCConnn:EExeccuteeSQLL(_bbstrr_t bsttrSQQL)_vaariaant_t RRecoo
30、rdssAfffectted;tryy iff(m_pDBBConnnecctioon=NULLL) OnIInittADOOConnn();m_pDBBConnnecctioon-Exeecutte(bbstrrSQLL,NUULL,adCCmdTTextt);reeturrn ttruee;cattch(_coom_eerroor ee)CSStriing temmp;teemp.Forrmatt(CSStriing(执行行SQLL语句错错误信息息:%ss),e.DDesccripptioon();:MesssaggeBoox(NNULLL,teemp,CSttrinng(提示信信息),N
31、UULL);reeturrn ffalsse;/ 返返回记录录集对象象指针的的SQLL执行函函数_ReccorddsettPtrr CAADOCConnn:EExcuuteSSQLOObj(_bsstr_t bbstrrSQLL)trry iff(m_pDBBConnnecctioon=NULLL) OnIInittADOOConnn(); m_pReecorrdseet=mm_pDDBCoonneectiion-Exxecuute(bsttrSQQL,NNULLL,addCmddTexxt);cattch(_coom_eerroor ee)CSStriing temmp;m_pReecorr
32、dseet=NNULLL;teemp.Forrmatt(CSStriing(执行行SQLL语句错错误信息息:%ss),e.EErroorMeessaage();:MesssaggeBoox(NNULLL,teemp,CSttrinng(提示信信息),NUULL);retturnn m_pReecorrdseet;/ PPresscriiptiionDDlg.cppp : 实现文文件/处方方:万淑淑妍#inccludde stddafxx.h#inccludde hosspittal.h#inccludde PreescrripttionnDlgg.h#inccludde afxxdiaalog
33、gex.h#inccludde ADOOConnn.hh/ CCPreescrripttionnDlgg 对话话框IMPLLEMEENT_DYNNAMIIC(CCPreescrripttionnDlgg, CCDiaaloggEx)CPreescrripttionnDlgg:CCPreescrripttionnDlgg(CWWnd* pPPareent /*=NULLL*/): CCDiaaloggEx(CPrresccripptioonDllg:IDDD, ppParrentt)m_ppatiienttno = _T();m_aamouunt = _T();m_nnamee = _T();m
34、_nno = 0;CPreescrripttionnDlgg:CPrresccripptioonDllg()voidd CPPresscriiptiionDDlg:DooDattaExxchaangee(CDDataaExcchannge* pDDX)CDiialoogExx:DDoDaataEExchhangge(ppDX);DDXX_Coontrrol(pDXX, IIDC_LISST1, m_griid);DDXX_Teext(pDXX, IIDC_PATTIENNTNOO, mm_paatieentnno);DDXX_Teext(pDXX, IIDC_AMOOUNTT, mm_ammo
35、unnt);DDXX_Teext(pDXX, IIDC_DURRGNAAME, m_namme);DDXX_Coontrrol(pDXX, IIDC_DATTETIIMEPPICKKER11, mm_tiime);BEGIIN_MMESSSAGEE_MAAP(CCPreescrripttionnDlgg, CCDiaaloggEx)ON_BN_CLIICKEED(IIDOKK, &CPrresccripptioonDllg:OnBBnCllickkedOOk)ON_BN_CLIICKEED(IIDC_CHAANGEE, &CPrresccripptioonDllg:OnBBnCllickked
36、CChannge)ON_NOTTIFYY(NMM_CLLICKK, IIDC_LISST1, &CCPreescrripttionnDlgg:OOnNMMCliickLListt1)ON_BN_CLIICKEED(IIDC_DELLETEE, &CPrresccripptioonDllg:OnBBnCllickkedDDeleete)ON_BN_CLIICKEED(IIDC_CLEEAR, &CCPreescrripttionnDlgg:OOnBnnCliickeedCllearr)END_MESSSAGGE_MMAP()/ CCPreescrripttionnDlgg 消息息处理程程序BOO
37、LL CPPresscriiptiionDDlg:OnnIniitDiialoog()CDiialoogExx:OOnInnitDDiallog();/ TODDO: 在此此添加额额外的初初始化flaag=00;retturnn TRRUE; / rretuurn TRUUE uunleess youu seet tthe foccus to a cconttroll/ 异常: OCCX 属属性页应应返回 FALLSEvoidd CPPresscriiptiionDDlg:AdddTooGriid(CCStrringg sttr)CADOOConnn mm_AddoCoonn;m_AAdoCC
38、onnn.OnnIniitADDOCoonn();CSttrinng ssql;sqll.Foormaat(sstr);_ReecorrdseetPttr mm_pRRecoordsset;m_ppReccorddsett = m_AAdoCConnn.GeetReecorrdSeet(_bsstr_t)ssql);whiile(m_AAdoCConnn.m_pReecorrdseet-adooEOFF=00)m_griid.IInseertIItemm(0,CSttrinng();m_griid.SSetIItemmTexxt(00,0,(CSStriing)(chhar*)(_bsttr_
39、tt)m_pReecorrdseet-GettColllecct(preescrripttionnno);m_griid.SSetIItemmTexxt(00,1,(CSStriing)(chhar*)(_bsttr_tt)m_pReecorrdseet-GettColllecct(pattienntnoo);m_griid.SSetIItemmTexxt(00,2,(CSStriing)(chhar*)(_bsttr_tt)m_pReecorrdseet-GettColllecct(namme);m_griid.SSetIItemmTexxt(00,3,(CSStriing)(chhar*)
40、(_bsttr_tt)m_pReecorrdseet-GettColllecct(amoountt);m_griid.SSetIItemmTexxt(00,4,(CSStriing)(chhar*)(_bsttr_tt)m_pReecorrdseet-GettColllecct(timme);m_pReecorrdseet-MovveNeext();m_AAdoCConnn.ExxitCConnnectt();UpddateeDatta(ttruee);voidd CPPresscriiptiionDDlg:OnnBnCClicckeddOk()/ TODDO: 在此添添加控件件通知处处理程序序代码/CCDiaaloggEx:OnnOK();m_nno=11;if(flaag=0)m_griid.SSetEExteendeedSttylee(LVVS_EEX_FFLATTSB|LLVS_EX_FULLLROOWSEELECCT|LLVS_EX_HEAADERRDRAAGDRROP|LLVS