版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
成果:之老陽三干創(chuàng)作創(chuàng)作時間:六月三十日數(shù)據(jù)庫技術(shù)與應(yīng)用課程設(shè)計題目:醫(yī)院門診掛號系統(tǒng)班級:軟件2班姓名:林苾湲學(xué)號:2723日期:評語:簽字:1系統(tǒng)總體設(shè)計方案本系統(tǒng)是一種功效強年夜、把持使用簡樸、智能化、可擴展性、集成有效性和垮平臺的醫(yī)院門診掛號系統(tǒng).醫(yī)院門診掛號系統(tǒng)醫(yī)院門診掛號系統(tǒng)信息維護門診管理院長查詢醫(yī)生信息維護科室信息維護初次掛號就診卡掛號科室掛號量后臺信息維護圖1.2.1功效模塊其中各模塊的信息維護還涉及對各類信息的增刪改查把持.后臺管理(權(quán)限管理)若為超級管理員,則可進行顧客的增刪改查由于多組合查詢功效比力簡樸,只需輸入有關(guān)查詢的條件即可進行多組合含糊查詢,因此在此并沒有畫出查詢子系統(tǒng)的總體構(gòu)造.數(shù)據(jù)庫表的命名是用表名的英文或英文縮寫,編程實現(xiàn)簡樸易記.(1)顧客信息表Tuser:保管系統(tǒng)使用者的信息,涉及顧客名及其密碼.(2)醫(yī)生資料表TDoctor:保管醫(yī)生信息,涉及醫(yī)生所屬的科室.(3)科室資料表TDepartment:保管科室分類信息,如分為內(nèi)科、外科.(4)病人信息表TPatient:保管病人的基本信息,后來能夠重復(fù)使用.(5)門診掛號表TRegister:保管門診病人掛號的信息.(6)門診掛號類型表TRegisterType:保管門診掛號類型分類信息及其掛號價格,如普通號、專家號.在前章介紹的實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中表以及各個表之間的關(guān)系.醫(yī)院門診管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計成果以下面的幾個表格所示.每個表格暗示在數(shù)據(jù)庫中的一種表.表1-1顧客信息表Tuser編號字段名字段代碼字段類型允許為空主鍵外鍵1顧客名UidVarchar(50)NY2姓名UnameVarchar(50)Y3密碼UpwdVarchar(50)N4身份證UIDcardVarchar(50)Y表1-2醫(yī)生資料表TDoctor編號字段名字段代碼字段類型允許為空主鍵外鍵1醫(yī)生編號DidVarchar(10)NY2姓名DnameVarchar(50)Y3性別DgenderVarchar(10)Y4身份證DidcardVarchar(20)Y5出身日期DbirthdaydateY6所屬科室編號DpmtidVarchar(5)YY7德律風(fēng)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德律風(fēng)PtelVarchar(11)Y表1-5門診掛號表TRegister編號字段名字段代碼字段類型允許為空主鍵外鍵1掛號RidVarchar(20)NY2病人編號PidVarchar(20)YY3掛號類型編號RtypeidVarchar(10)YY4科室編號DpmtidVarchar(5)YY5醫(yī)生編號DidVarchar(10)YY6掛號日期RegistDateDatetimeY表1-6門診掛號類型表TRegisterType編號字段名字段代碼字段類型允許為空主鍵外鍵1類型編號RtypeidVarchar(10)NY2類型名稱Rtypenamevarchar(50)Y3價格RegpriceMoneyY2系統(tǒng)實現(xiàn)2.1PB11.5和SQLSERVER連接PB11.5和SQLSERVER連接方式有兩種,一種是通過ODBC數(shù)據(jù)源連接數(shù)據(jù)庫,另一種是MSSSQLSERVER專用接口連接數(shù)據(jù)庫.前者首先在計算機ODBC數(shù)據(jù)源管理器中創(chuàng)立新的數(shù)據(jù)源,設(shè)立好DataSourceName(數(shù)據(jù)源名稱)和DataBase(數(shù)據(jù)庫文獻名),然后在PB中建立數(shù)據(jù)庫配備文獻(配備文獻就是命名了的一組連接到特定命據(jù)源或數(shù)據(jù)庫的參數(shù)),輸入ProfileName(配備文獻的名字)和DataSource(界說好的ODBC數(shù)據(jù)源),點擊Connect按鈕即可.另外,在通過專用接口連接數(shù)據(jù)庫時還能夠使用配備參數(shù)文獻連接數(shù)據(jù)庫.配備參數(shù)文獻重要涉及數(shù)據(jù)庫名,服務(wù)器地址,登錄名,登錄密碼等外容.在應(yīng)使用方法式對象的Open事件中輸入以下代碼:SQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseSQLCA.DBParm="ConnectString='DSN=hmis;UID=hisl;PWD=123456'"http://連接數(shù)據(jù)庫ConnectusingSQLCA;ifsqlca.sqlcode<>0THEN messagebox("數(shù)據(jù)庫連接出錯",SQLCA.SQLerrtext)else open(w_login)endif應(yīng)使用方法式運行后連接數(shù)據(jù)庫,數(shù)據(jù)庫連接好后就呈現(xiàn)系統(tǒng)登錄界面,否則退出系統(tǒng),直至數(shù)據(jù)庫連接勝利.在應(yīng)使用方法式對象的變量界說窗口中,界說全局變量用于應(yīng)使用方法式分歧對象間參數(shù)的傳遞.顧客登錄系統(tǒng)窗口是顧客進入系統(tǒng)的唯一通道,它是進入應(yīng)用系統(tǒng)的喉舌,在平安保密、系統(tǒng)維護中占有重要的位置,登錄系統(tǒng)在外觀界面上一定要美觀、和諧,登錄系統(tǒng)就是要驗證后來的顧客名與否與該顧客密碼一致,顧客類型與否對的,限制顧客登錄出錯的次數(shù),保管登錄痕跡等工作.(1)保管登錄痕跡根據(jù)把持局部性原理,普通狀況下顧客上次登錄之后還會繼續(xù)登錄,因此在法式中能夠根據(jù)人機交互界面和諧性原則保管顧客登錄時的顧客名,控件sle_1用來顯示顧客名,profilestring是一種函數(shù),用來讀取profile文獻中一組參數(shù),核心代碼以下://將登錄名寫入配備文獻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醫(yī)院門診掛號系統(tǒng)的主窗口是信息管理系統(tǒng)的重要部份,勾勒出整個應(yīng)使用方法式的概況,系統(tǒng)的重要功效為:病人初次就診(即需要填寫病人信息來規(guī)畫就診卡)、就診卡就診、后來科室掛號量以及掛號信息的查詢醫(yī)生信息管理(涉及增刪查改)、科室信息管理(涉及增刪查改)、顧客信息管理,注銷(能夠切換顧客).(1)對主窗口中的功效按鍵進行了權(quán)限管理在本系統(tǒng)中實現(xiàn)的是當(dāng)?shù)卿浀念櫩筒皇浅壒芾韱T,即顧客名為000的顧客使,顧客無法使用后臺信息管理功效.核心代碼以下:stringuseruser=profilestring("user.ini","user","username","")ifuser="000"thenm_main.m_后臺管理.enabled=trueelse m_main.m_后臺管理.enabled=falseendif(2)界說了計時器,能夠隨系統(tǒng)顯示后來時間和后來使用這個系統(tǒng)的顧客名核心代碼以下datetimed1selectgetdate()into:d1fromTuser;this.title="醫(yī)院門診掛號系統(tǒng)"+""+gs_username+""+string(d1)初次就診卡就診是門診掛號管理中比力重要的模塊,由于病人沒有就診卡號故先進行信息錄入,并賦予一種就診卡號,隨之,即可進行掛號,選擇掛號科室,類型,醫(yī)生,還能夠查詢后來該科室的掛號人數(shù),全部這些信息均會在一種框內(nèi)打印出來,顧客能夠檢查這些信息.(1)掛號功效由于該功效是將錄入病人信息和掛號結(jié)合合在一起,故使得把持更為簡便.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掛號醫(yī)生:"+ddlb_3.text+"~r~n掛號費用:"+regprice+"~r~n~r~n前面尚有"+string(num)+"人掛號"+"~r~n~r~n時間:~r~n"+string(regdt)該功效也是門診掛號系統(tǒng)的重要功效,顧客只需要輸入就診卡號就可獲得,該病人的重要信息,然后再進行掛號科室,掛號類型,掛號醫(yī)生的選擇,掛號的功效與初次掛號的功效類似.(1)輸入就診卡號獲得病人信息輸入就診卡號獲得病人信息的功效是通過數(shù)據(jù)庫查詢技術(shù)實現(xiàn)的.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)游標(biāo)技術(shù)調(diào)入基本信息掛號科室,醫(yī)生等值是通過游標(biāo)技術(shù)來實現(xiàn),掛號科室是在窗口的open事件中從數(shù)據(jù)庫讀取業(yè)務(wù)系統(tǒng)名,醫(yī)生再通過科室信息那個ddlb的selectchange事件中從數(shù)據(jù)庫根據(jù)選擇科室的類型讀取該科室下的醫(yī)生的姓名.核心代碼以下: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)實現(xiàn)數(shù)據(jù)窗口對象的靜態(tài)加載在檢查界面中只有一種數(shù)據(jù)窗口,而數(shù)據(jù)窗口對象根據(jù)分歧的查詢方式實時靜態(tài)地加載.核心代碼以下:dw_1.settransobject(SQLCA)ifddlb_1.text<>"[全部]"thendw_1.retrieve(ls_did)else dw_1.retrieve("%")endif實現(xiàn)在datasourse設(shè)立了查詢功效SELECTtregister.rid,tregister.pid,tregister.rtypeid,tregister.dpmtid,tregister.did,tregister.registdateFROMtregisterWHEREtregister.dpmtidlike:dpmtid(2)總的掛號量的統(tǒng)計通過SQL語句中的Count(*)子句來統(tǒng)計全部科室的掛號量以及各個科室的掛號量stringls_didselectDpmtidinto:ls_didfromTDeptmentwhereDpmtname=:ddlb_1.text; intnumselectcount(*)into:numfromTRegisterwhereDpmtid=:ls_did;st_5.text=string(num)該功效模塊涉及對醫(yī)生信息的添加和修改,刪除以及查詢.查詢能夠通過輸入任何有關(guān)醫(yī)生信息的子集,通過含糊查找即可查找跟該檢索信息有關(guān)的醫(yī)生信息(1)添加,修改,刪除的數(shù)據(jù)庫把持在本應(yīng)用中采納數(shù)據(jù)庫SQL語句的INSERT子句,UPDATE子句,DELETE子句,并且實現(xiàn)了數(shù)據(jù)窗口的實時更新,當(dāng)作了諸如增刪改的把持后.核心代碼以下:stringreg_genderifrb_1.checked=truethen//將復(fù)選框中的選中轉(zhuǎn)換為可輸入數(shù)據(jù)庫的字符串 reg_gender="男"endififrb_2.checked=truethen reg_gender="女"endifdatedtdt=date(dp_1.text)stringreg_deptid//醫(yī)生信息拔出數(shù)據(jù)庫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);//更新數(shù)據(jù)窗口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)信息的含糊查詢數(shù)據(jù)窗口的過濾條件是能夠?qū)ψ址偷淖侄芜M行過濾的.對多個字段的過濾條件是通過OR邏輯關(guān)系進行連接.以此實現(xiàn)多角度的查詢.核心代碼以下: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)編纂框的實時更新當(dāng)顧客在數(shù)據(jù)窗口中選中了某條統(tǒng)計,并雙擊該條統(tǒng)計,其具體信息關(guān)聯(lián)顯示到各對應(yīng)的編纂框,并變化刪除,修改按鈕的使用狀態(tài)為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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智慧城市規(guī)劃設(shè)計與應(yīng)用技術(shù)服務(wù)合同3篇
- 2025年度人工智能教育機構(gòu)勞動合同協(xié)議書范本3篇
- 2025年70米煙囪拆除工程施工用電安全管理與監(jiān)督合同3篇
- 2025年美甲美睫店兼職美甲師合作協(xié)議
- 2025年度體育賽事活動場地租用及保障服務(wù)協(xié)議3篇
- 二零二五年度廠房租賃安全生產(chǎn)責(zé)任書3篇
- 2025年度智能建筑項目分包勞務(wù)協(xié)議補充合同
- 2025年建筑工程施工合同模板:綠色建筑性能檢測與認(rèn)證3篇
- 二零二五年度汽車維修配件供應(yīng)鏈合同樣本3篇
- 2025年度幕墻工程綠色施工與節(jié)能減排合同4篇
- 服務(wù)器報價表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 世界近代史-對接選擇性必修 課件-高考統(tǒng)編版歷史一輪復(fù)習(xí)
- 2024-2029年中國制漿系統(tǒng)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 大門封條模板
- 【“凡爾賽”網(wǎng)絡(luò)流行語的形成及傳播研究11000字(論文)】
- ppr管件注塑工藝
- 液化氣站其他危險和有害因素辨識及分析
- 高中語文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
- 市政道路建設(shè)工程竣工驗收質(zhì)量自評報告
評論
0/150
提交評論