版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成果:之老阳三干创作创作时间:六月三十日数据库技术与应用课程设计题目:医院门诊挂号系统班级:软件2班姓名:林苾湲学号:2723日期:评语:签字:1系统总体设计方案本系统是一种功效强年夜、把持使用简朴、智能化、可扩展性、集成有效性和垮平台的医院门诊挂号系统.医院门诊挂号系统医院门诊挂号系统信息维护门诊管理院长查询医生信息维护科室信息维护初次挂号就诊卡挂号科室挂号量后台信息维护图1.2.1功效模块其中各模块的信息维护还涉及对各类信息的增删改查把持.后台管理(权限管理)若为超级管理员,则可进行顾客的增删改查由于多组合查询功效比力简朴,只需输入有关查询的条件即可进行多组合含糊查询,因此在此并没有画出查询子系统的总体构造.数据库表的命名是用表名的英文或英文缩写,编程实现简朴易记.(1)顾客信息表Tuser:保管系统使用者的信息,涉及顾客名及其密码.(2)医生资料表TDoctor:保管医生信息,涉及医生所属的科室.(3)科室资料表TDepartment:保管科室分类信息,如分为内科、外科.(4)病人信息表TPatient:保管病人的基本信息,后来能够重复使用.(5)门诊挂号表TRegister:保管门诊病人挂号的信息.(6)门诊挂号类型表TRegisterType:保管门诊挂号类型分类信息及其挂号价格,如普通号、专家号.在前章介绍的实体以及实体之间关系的基础上,形成数据库中表以及各个表之间的关系.医院门诊管理系统数据库中各个表格的设计成果以下面的几个表格所示.每个表格暗示在数据库中的一种表.表1-1顾客信息表Tuser编号字段名字段代码字段类型允许为空主键外键1顾客名UidVarchar(50)NY2姓名UnameVarchar(50)Y3密码UpwdVarchar(50)N4身份证UIDcardVarchar(50)Y表1-2医生资料表TDoctor编号字段名字段代码字段类型允许为空主键外键1医生编号DidVarchar(10)NY2姓名DnameVarchar(50)Y3性别DgenderVarchar(10)Y4身份证DidcardVarchar(20)Y5出身日期DbirthdaydateY6所属科室编号DpmtidVarchar(5)YY7德律风DtelVarchar(11)Y表1-3科室资料表TDepartment编号字段名字段代码字段类型允许为空主键外键1科室编号DpmtidVarchar(50)NY2科室名称DpmtnameWarchar(50)N表1-4病人信息表TPatient编号字段名字段代码字段类型允许为空主键外键1病人编号(就诊卡号)PidVarchar(20)NY2姓名PnameVarchar(50)Y3性别PgenderVarchar(10)Y4身份证PidcardVarchar(20)Y5出身日期PbirthdaydateY7德律风PtelVarchar(11)Y表1-5门诊挂号表TRegister编号字段名字段代码字段类型允许为空主键外键1挂号RidVarchar(20)NY2病人编号PidVarchar(20)YY3挂号类型编号RtypeidVarchar(10)YY4科室编号DpmtidVarchar(5)YY5医生编号DidVarchar(10)YY6挂号日期RegistDateDatetimeY表1-6门诊挂号类型表TRegisterType编号字段名字段代码字段类型允许为空主键外键1类型编号RtypeidVarchar(10)NY2类型名称Rtypenamevarchar(50)Y3价格RegpriceMoneyY2系统实现2.1PB11.5和SQLSERVER连接PB11.5和SQLSERVER连接方式有两种,一种是通过ODBC数据源连接数据库,另一种是MSSSQLSERVER专用接口连接数据库.前者首先在计算机ODBC数据源管理器中创立新的数据源,设立好DataSourceName(数据源名称)和DataBase(数据库文献名),然后在PB中建立数据库配备文献(配备文献就是命名了的一组连接到特定命据源或数据库的参数),输入ProfileName(配备文献的名字)和DataSource(界说好的ODBC数据源),点击Connect按钮即可.另外,在通过专用接口连接数据库时还能够使用配备参数文献连接数据库.配备参数文献重要涉及数据库名,服务器地址,登录名,登录密码等外容.在应使用方法式对象的Open事件中输入以下代码:SQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseSQLCA.DBParm="ConnectString='DSN=hmis;UID=hisl;PWD=123456'"//连接数据库ConnectusingSQLCA;ifsqlca.sqlcode<>0THEN messagebox("数据库连接出错",SQLCA.SQLerrtext)else open(w_login)endif应使用方法式运行后连接数据库,数据库连接好后就呈现系统登录界面,否则退出系统,直至数据库连接胜利.在应使用方法式对象的变量界说窗口中,界说全局变量用于应使用方法式分歧对象间参数的传递.顾客登录系统窗口是顾客进入系统的唯一通道,它是进入应用系统的喉舌,在平安保密、系统维护中占有重要的位置,登录系统在外观界面上一定要美观、和谐,登录系统就是要验证后来的顾客名与否与该顾客密码一致,顾客类型与否对的,限制顾客登录出错的次数,保管登录痕迹等工作.(1)保管登录痕迹根据把持局部性原理,普通状况下顾客上次登录之后还会继续登录,因此在法式中能够根据人机交互界面和谐性原则保管顾客登录时的顾客名,控件sle_1用来显示顾客名,profilestring是一种函数,用来读取profile文献中一组参数,核心代码以下://将登录名写入配备文献SetProfileString("user.ini","user","username",sle_1.text)//将配备文献中的登录名写到顾客名的编纂框中sle_1.text=profilestring("user.ini","user","username","")iftrim(sle_1.text)<>""then sle_2.setfocus()else sle_1.setfocus()endif(2)友情提示顾客登录出错的因素顾客登录毛病的因素可能涉及顾客名不存在,密码毛病等等核心代码以下:t//判断输入的顾客名与否存在.密码与否对的selectUid,Upwdinto:lg_uid,:lg_upwdfromTUserwhereUid=:sle_1.text;iflg_uid=""then st_4.text="提示:后来输入的顾客名不存在!" sle_1.text='' sle_2.text='' sle_1.setfocus()returnendififlg_upwd<>sle_2.textthen st_4.text="提示:输入的密码毛病!" sle_2.text='' sle_1.setfocus()returnendif医院门诊挂号系统的主窗口是信息管理系统的重要部份,勾勒出整个应使用方法式的概况,系统的重要功效为:病人初次就诊(即需要填写病人信息来规画就诊卡)、就诊卡就诊、后来科室挂号量以及挂号信息的查询医生信息管理(涉及增删查改)、科室信息管理(涉及增删查改)、顾客信息管理,注销(能够切换顾客).(1)对主窗口中的功效按键进行了权限管理在本系统中实现的是当登录的顾客不是超级管理员,即顾客名为000的顾客使,顾客无法使用后台信息管理功效.核心代码以下:stringuseruser=profilestring("user.ini","user","username","")ifuser="000"thenm_main.m_后台管理.enabled=trueelse m_main.m_后台管理.enabled=falseendif(2)界说了计时器,能够随系统显示后来时间和后来使用这个系统的顾客名核心代码以下datetimed1selectgetdate()into:d1fromTuser;this.title="医院门诊挂号系统"+""+gs_username+""+string(d1)初次就诊卡就诊是门诊挂号管理中比力重要的模块,由于病人没有就诊卡号故先进行信息录入,并赋予一种就诊卡号,随之,即可进行挂号,选择挂号科室,类型,医生,还能够查询后来该科室的挂号人数,全部这些信息均会在一种框内打印出来,顾客能够检查这些信息.(1)挂号功效由于该功效是将录入病人信息和挂号结合合在一起,故使得把持更为简便.stringreg_genderifrb_1.checked=truethen reg_gender="男"endififrb_2.checked=truethen reg_gender="女"endifdatedtdt=date(dp_1.text)insertintoTPatient(Pid,Pname,Pgender,Pidcard,Pbirthday,Ptel)values(:sle_3.text,:sle_2.text,:reg_gender,:sle_5.text,:dt,:sle_1.text);datetimeregdtstringreg_deptid,reg_docid,regtype,regpriceselectgetdate()into:regdtfromTuser;stringtimes,rid,rstintitimes=string(regdt)fori=1to19rst=mid(times,i,1)ifisnumber(rst)=truethenrid=rid+rstendifnextselectDpmtidinto:reg_deptidfromTDeptmentwhereDpmtname=:ddlb_1.text;selectDidinto:reg_docidfromTDoctorwhereDname=:ddlb_3.text;selectRtypeid,Regpriceinto:regtype,:regpricefromTRegisterTypewhereRTypename=:ddlb_2.text;intnumselectcount(*)into:numfromTRegisterwhereDid=:reg_docid;insertintoTRegister(Rid,Pid,Rtypeid,Dpmtid,Did,RegistDate)values(:rid,:sle_3.text,:regtype,:reg_deptid,:reg_docid,:regdt);mle_1.text="姓名:"+sle_2.text+"~r~n就诊卡号:"+sle_1.text+"~r~n挂号:"+rid+"~r~n挂号科室:"+ddlb_1.text+"~r~n挂号类型:"+ddlb_2.text+"~r~n挂号医生:"+ddlb_3.text+"~r~n挂号费用:"+regprice+"~r~n~r~n前面尚有"+string(num)+"人挂号"+"~r~n~r~n时间:~r~n"+string(regdt)该功效也是门诊挂号系统的重要功效,顾客只需要输入就诊卡号就可获得,该病人的重要信息,然后再进行挂号科室,挂号类型,挂号医生的选择,挂号的功效与初次挂号的功效类似.(1)输入就诊卡号获得病人信息输入就诊卡号获得病人信息的功效是通过数据库查询技术实现的.SQL语句使用SELECT子句,FROM子句,WHERE子句.核心代码以下:ifsle_1.text=''then messagebox("提示","就诊卡号不能为空!") sle_1.setfocus() returnendifstringreg_pid,reg_pname,reg_gender,reg_idcarddatereg_birthdayselectPid,Pname,Pgender,Pidcard,Pbirthdayinto:reg_pid,:reg_pname,:reg_gender,:reg_idcard,:reg_birthdayfromTPatientwherePid=:sle_1.text;ifreg_pid=""then messagebox("提示","无后来就诊卡号!") sle_1.text='' sle_1.setfocus()returnendif(2)游标技术调入基本信息挂号科室,医生等值是通过游标技术来实现,挂号科室是在窗口的open事件中从数据库读取业务系统名,医生再通过科室信息那个ddlb的selectchange事件中从数据库根据选择科室的类型读取该科室下的医生的姓名.核心代码以下:stringls_doctorstringls_didselectDpmtidinto:ls_didfromTDeptmentwhereDpmtname=:ddlb_1.text; ddlb_3.reset()declareget_doccursorforSELECTdistinctDnameFROMTDoctorwhereDpmtid=:ls_did;openget_doc;fetchget_docinto:ls_doctor;dowhilesqlca.sqlcode=0ddlb_3.additem(ls_doctor)fetchget_docinto:ls_doctor;loopcloseget_doc;顾客能够通过该功效来检查后来各科室的挂号量或者全部科室的挂号量以及具体的挂号信息.(1)实现数据窗口对象的静态加载在检查界面中只有一种数据窗口,而数据窗口对象根据分歧的查询方式实时静态地加载.核心代码以下:dw_1.settransobject(SQLCA)ifddlb_1.text<>"[全部]"thendw_1.retrieve(ls_did)else dw_1.retrieve("%")endif实现在datasourse设立了查询功效SELECTtregister.rid,tregister.pid,tregister.rtypeid,tregister.dpmtid,tregister.did,tregister.registdateFROMtregisterWHEREtregister.dpmtidlike:dpmtid(2)总的挂号量的统计通过SQL语句中的Count(*)子句来统计全部科室的挂号量以及各个科室的挂号量stringls_didselectDpmtidinto:ls_didfromTDeptmentwhereDpmtname=:ddlb_1.text; intnumselectcount(*)into:numfromTRegisterwhereDpmtid=:ls_did;st_5.text=string(num)该功效模块涉及对医生信息的添加和修改,删除以及查询.查询能够通过输入任何有关医生信息的子集,通过含糊查找即可查找跟该检索信息有关的医生信息(1)添加,修改,删除的数据库把持在本应用中采纳数据库SQL语句的INSERT子句,UPDATE子句,DELETE子句,并且实现了数据窗口的实时更新,当作了诸如增删改的把持后.核心代码以下:stringreg_genderifrb_1.checked=truethen//将复选框中的选中转换为可输入数据库的字符串 reg_gender="男"endififrb_2.checked=truethen reg_gender="女"endifdatedtdt=date(dp_1.text)stringreg_deptid//医生信息拔出数据库selectDpmtidinto:reg_deptidfromTDeptmentwhereDpmtname=:ddlb_2.text;insertintoTDoctorvalues(:sle_2.text,:sle_1.text,:reg_gender,:dt,:ddlb_1.text,:reg_deptid,:sle_4.text,:sle_3.text);//更新数据窗口dw_1.retrieve()//修改信息updateTDoctorsetDid=:sle_2.text,Dname=:sle_1.text,Dgender=:reg_gender,Dbirthday=:dt,Dgrade=:ddlb_1.text,Dpmtid=:reg_deptid,Dtel=:sle_4.text,Didcard=:sle_3.textwhereDid=:st_id.text;//删除信息ifmessagebox('提示:与否删除?',sle_1.text,question!,yesno!)=2thenreturnDELETEFROMTDoctorWHEREDid=:st_id.text;dw_1.retrieve()(2)信息的含糊查询数据窗口的过滤条件是能够对字符串型的字段进行过滤的.对多个字段的过滤条件是通过OR逻辑关系进行连接.以此实现多角度的查询.核心代码以下:stringls_filteriftrim(sle_5.text)=""thenls_filter=""elsels_filter="Pos(Dname,'"+sle_5.text+"',1)>0"+"orPos(Did,'"+sle_5.text+"',1)>0"+"orPos(Dpmtid,'"+sle_5.text+"',1)>0"+"orPos(Dgrade,'"+sle_5.text+"',1)>0"endifdw_1.setfilter(ls_filter)dw_1.filter()(3)编纂框的实时更新当顾客在数据窗口中选中了某条统计,并双击该条统计,其具体信息关联显示到各对应的编纂框,并变化删除,修改按钮的使用状态为True,顾客即可对信息进行编纂或删除stringch_dpmtid,ch_dpmtname,ch_dgenderifrow>0thensle_1.text=dw_1.object.dname[row]sle_2.text=dw_1.object.did[row]sle_3.text=dw_1.object.didcard[row]sle_4.text=dw_1.object
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026济钢集团有限公司社会招聘考试参考题库及答案解析
- 2026-湖北当阳政务服务中心招聘考试参考题库-含答案
- 2026献县公开招聘公安辅警50人笔试参考题库及答案解析
- 2026河南医药大学(含附属医院)公开招聘博士172人考试模拟试题及答案解析
- 2026年孙吴县教师招聘考试模拟试题及答案解析
- 2026年民勤县教师招聘笔试备考题库及答案解析
- 2026年稷山县教师招聘考试备考试题及答案解析
- 2026年安徽省通航控股集团有限公司社会招聘2人考试备考试题及答案解析
- 2026年其他软件开发行业技术路线图报告及未来五至十年龙头崛起与格局重塑
- 2027中国水利水电第六工程局有限公司秋季招聘考试参考题库及答案解析
- 钢板仓工程专项施工方案
- GB/T 45939-2025光伏组件封装用共挤胶膜
- NBT 11127-2023 在用钢丝绳芯输送带报废检测技术规范
- 母婴同室院感管理课件
- 农村初中生大五人格与生命意义感的内在关联探究
- 基层治保会培训课件
- 2025至2030年中国杭州房地产行业市场竞争现状及未来趋势研判报告
- TD/T 1024-2010县级土地利用总体规划编制规程
- 电网企业文化试题及答案
- 行业标准课题答辩
- 学生心理健康的监测与干预策略探讨
评论
0/150
提交评论