課程設計報告醫(yī)院住院部信息管理系統(tǒng)_第1頁
課程設計報告醫(yī)院住院部信息管理系統(tǒng)_第2頁
課程設計報告醫(yī)院住院部信息管理系統(tǒng)_第3頁
課程設計報告醫(yī)院住院部信息管理系統(tǒng)_第4頁
課程設計報告醫(yī)院住院部信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 專業(yè)課程設計報告題 目:醫(yī)院住院部信息管理系統(tǒng) 專 業(yè)軟件工程 學生姓名班級學號指導教師指導單位南京郵電大學計算機學院日 期2014-6-9至2014-6-20 評 分 細 則評分項優(yōu)秀良好中等差遵守機房規(guī)章制度上機時的表現(xiàn)學習態(tài)度程序準備情況程序設計能力團隊合作精神課題功能實現(xiàn)情況算法設計合理性用戶界面設計報告書寫認真程度內容詳實程度文字表達熟練程度回答問題準確度簡 短 評 語教師簽名: 年 月 日評分等級備注評分等級有五種:優(yōu)秀、良好、中等、及格、不及格23 / 23文檔可自由編輯打印一課題名稱:醫(yī)院住院部信息管理系統(tǒng)二設計目標:按照軟件工程的規(guī)范,以SQL Server 2000為后臺

2、數據庫,建議以delphi為前端開發(fā)工具,設計并實現(xiàn)一個醫(yī)院住院部信息管理系統(tǒng)。三需求描述:醫(yī)院的住院部管理非常復雜,它涉及眾多諸如病人的信息、每天的具體費用、住院期間的總費用等問題,因此,設計本系統(tǒng),完成病人住院登記、每天費用錄入、費用查詢、總費用統(tǒng)計等功能,具體需求如下:1 住院登記,用于錄入住院病人的信息,包括編號、姓名、性別、年齡、病房號、床號、住院日期、工作單位、病因、預交押金等信息,同時可瀏覽、添加、刪除、編輯記錄。2 費用錄入,用于錄入病人每天費用清單,包括編號、姓名、護理等級、結算日期、護理費、床位費、注射費、藥費、治療費、手術費等,同時可瀏覽、添加、刪除、編輯記錄。3 費用查

3、詢,提供主從界面,當在主表中瀏覽病人信息時,從表中將顯示當前對應記錄病人的所有費用記錄。4 總費用統(tǒng)計,在此頁面中單擊“開始統(tǒng)計”按鈕,表格中將依次顯示各病人的預交押金、總費用以及剩余或賒欠的費用,同時,文本框將顯示催款名單,若無人欠款,將顯示“沒有任何病人賒欠費用”。四具體設計本次實驗以SQL Server 2000為后臺數據庫,以delphi7.0為前端開發(fā)工具,OS為WinXP sp1系統(tǒng)。住院部信息管理系統(tǒng)用一個數據庫和兩張表進行存儲兩張表的內容如下:數據庫:醫(yī)院住院管理表:1、基本信息表 基本信息 用于錄入存儲住院病人的信息,包括編號、姓名、性別、年齡、病房號、床號、住院日期、工作單

4、位、病因等信息 具體設置如下 2醫(yī)院信息表醫(yī)院信息 用于錄入病人每天費用清單,包括編號、姓名、護理等級、預交押金,結算日期、護理費、床位費、注射費、藥費、治療費、手術費等具體設置如下 其中,總費用=(手術費 + 治療費 + 護理費 + 床位費 + 注射費 + 藥費) 剩余費用=(預約金 - 總費用)(當為-的時候為賒欠)在前端Delphi開發(fā)中最終用到了5個form。分別為登錄,導航,住院登記,費用錄入,信息查詢和總攬統(tǒng)計。五詳細設計系統(tǒng)自動生成的:1.program Project1;uses Forms, Unit1 in 'Unit1.pas' Form1, Unit3

5、in 'Unit3.pas' Form3, Unit4 in 'Unit4.pas' Form4, Unit5 in 'Unit5.pas' Form5, Unit7 in 'Unit7.pas' Form7, Unit2 in 'Unit2.pas' Form2;$R *.resbegin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm3, Form3); Application

6、.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,進入普通用戶界面僅支持查詢procedure TForm1.Button1Click(Sender: TObject);beg

7、in if edit1.Text = '' then begin showmessage('賬號不能為空'); exit; end; if edit2.Text = '' then begin showmessage('密碼不能為空'); exit; end; if (Edit1.Text = 'admin') and (Edit2.Text = 'admin') then begin Form4.Button1.Enabled := True; /from4下的空間Button1屬性Enabled

8、為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.En

9、abled := False; Form4.Button2.Enabled := False; Form7.Button2.Enabled := false; Form4.Show; exit; End /判斷帳號密碼是否正確 else begin showmessage('賬號密碼不正確'); endend;3.導航界面ForM4procedure TForm4.Button1Click(Sender: TObject);begin Form5.show;end;procedure TForm4.Button2Click(Sender: TObject);begin Form

10、7.show;end;procedure TForm4.Button3Click(Sender: TObject);begin Form2.show;end;procedure TForm4.Button4Click(Sender: TObject);begin Form3.Show;end;單擊不同按鈕則進入不同的界面進行操作(普通用戶按鈕124不可用)4.Form5住院登記文本框輸入相符內容,點登記則完成登記登記按鈕代碼如下procedure TForm5.Button2Click(Sender: TObject);begin /先做好保護工作 if edit1.Text = '&

11、#39; then begin showmessage('編號不能為空!'); exit; end; /先查看是否已經有病人信息 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select *'); ADOQuery1.SQL.Add('from 醫(yī)院信息'); ADOQuery1.SQL.Add('where 編號='''+Edit1.Text+ ''''); ADOQuery1.Prepared; ADOQuer

12、y1.Open; ADOQuery1.Active:=true; if ADOQuery1.RecordCount>0 then begin /有該信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0,'已有該病人的信息','Error!',mb_OK); exit; end; /當不存在該病人信息時 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('insert into 基本信息 values('); ADOQuery1.SQL.Add(''

13、''+Edit1.Text+''''+','); /編號 ADOQuery1.SQL.Add(''''+Edit2.Text+''''+','); /姓名 ADOQuery1.SQL.Add(''''+Edit3.Text+''''+','); /性別 ADOQuery1.SQL.Add(''''+Edit4.Text+''&

14、#39;'+','); /年齡 ADOQuery1.SQL.Add(''''+Edit5.Text+''''+','); /工作單位 ADOQuery1.SQL.Add(''''+Edit7.Text+''''+','); /病房號 ADOQuery1.SQL.Add(''''+Edit8.Text+''''+','); /床號 AD

15、OQuery1.SQL.Add(''''+edit10.text+''''+','); /住院日期 ADOQuery1.SQL.Add(''''+Edit9.Text+''''+')'); /病因 ADOQuery1.ExecSQL; /把DBGrid框的內容進行更新 ADOQuery2.Close; ADOQuery2.Open; ADOQuery2.Active:=true;end;查詢功能:輸入對應編號,在文本框中顯示相應信息;p

16、rocedure TForm5.Button6Click(Sender: TObject);begin if edit1.Text = '' then begin showmessage('編號不能為空!'); exit; end; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select *'); ADOQuery1.SQL.Add('from 基本信息'); ADOQuery1.SQL.Add('where 編號='''+Ed

17、it1.Text+ ''''); ADOQuery1.Prepared; ADOQuery1.Open; ADOQuery1.Active:=true; if ADOQuery1.RecordCount=0 then begin /有該信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0,'沒有該病人的信息','Error!',mb_OK); exit; end; ADOQuery1.Close; Adoquery1.sql.clear; Adoquery1.sql.add('select 編號 from

18、基本信息 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

19、; 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; Adoqu

20、ery1.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 編號=''&#

21、39; + 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:=adoquer

22、y1.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; A

23、doquery1.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 +

24、''''); Adoquery1.Open; Edit9.text:=adoquery1.fieldbyname('病因').AsString;end;(同樣能將信息輸出到右邊的DBGrid1里)修改按鈕:功能:先查詢,將要修改的數據填寫到對面文本框,點修改即可,對應DBGRID也會修改并顯示修改后的內容。代碼實現(xiàn)如下:procedure TForm5.Button4Click(Sender: TObject);begin if application.MessageBox('您確定要修改數據嘛?','危險',MB

25、_OKCANCEL) =IDCANCEL then 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:=tr

26、ue; if ADOQuery1.RecordCount=0 then begin /沒有該航班信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0,'無該病人的信息','Error!',mb_OK); exit; end; /當該信息存在時則可以將其信息更新到表中 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('update 基本信息 set' ); ADOQuery1.SQL.Add('編號='+''''+Edit

27、1.Text+''''+','); ADOQuery1.SQL.Add('姓名='+''''+Edit2.Text+''''+','); ADOQuery1.SQL.Add('性別='+''''+Edit3.Text+''''+','); ADOQuery1.SQL.Add('年齡='+''''+Edit4.T

28、ext+''''+','); ADOQuery1.SQL.Add('工作單位='+''''+Edit5.Text+''''+','); ADOQuery1.SQL.Add('住院日期='+''''+edit10.text+''''+','); ADOQuery1.SQL.Add('病房號='+''''+Edit

29、7.Text+''''+','); ADOQuery1.SQL.Add('床號='+''''+Edit8.Text+''''+','); ADOQuery1.SQL.Add('病因='+''''+Edit9.Text+''''); ADOQuery1.SQL.Add(' where '); ADOQuery1.SQL.Add('編號='+&#

30、39;'''+Edit1.Text+'''');ADOQuery1.ExecSQL;ADOQuery2.Close; ADOQuery2.Open; ADOQuery2.Active:=true;刪除按鈕:功能,輸入對應編號刪除代碼如下procedure TForm5.Button3Click(Sender: TObject);begin if application.MessageBox('您確定要修改數據嘛?','危險',MB_OKCANCEL) =IDCANCEL then exit; /先做好保護工

31、作 if edit6.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.Prepare

32、d; ADOQuery1.Open; ADOQuery1.Active:=true; if ADOQuery1.RecordCount=0 then begin /有該信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0,'沒有該病人的信息','Error!',mb_OK); exit; end; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('delete from 基本信息'); ADOQuery1.SQL.Add('where 編號=''

33、;'+Edit6.Text+ ''''); /編號 ADOQuery1.ExecSQL; /把DBGrid框的內容進行更新 ADOQuery2.Close; ADOQuery2.Open; ADOQuery2.Active:=true; end;刷新按鈕只是重置下表格內容,代碼省略5.費用錄入FORM7和住院登記一樣,插入文本框的數據,通過費用錄入可以將對應數據插入數據庫中費用錄入代碼如下:procedure TForm7.Button4Click(Sender: TObject);begin if edit3.Text = '' the

34、n begin showmessage('編號不能為空!'); exit; end; /先查看是否已經有病人信息 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select *'); ADOQuery1.SQL.Add('from 醫(yī)院信息'); ADOQuery1.SQL.Add('where 編號='''+Edit3.Text+ ''''); ADOQuery1.Prepared; ADOQuery1.Open;

35、 ADOQuery1.Active:=true; if ADOQuery1.RecordCount>0 then begin /有該信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0,'已有該病人的信息','Error!',mb_OK); exit; end; /當該航班信息不存在時則可以將其信息插入flight表中 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('insert into 醫(yī)院信息 values('); ADOQuery1.SQL.Add(&

36、#39;'''+Edit3.text+''''+','); /編號 ADOQuery1.SQL.Add(''''+Edit4.Text+''''+','); /護理等級 ADOQuery1.SQL.Add(Edit12.Text+','); /預約金 ADOQuery1.SQL.Add(''''+Edit2.Text+''''+','); /結算日期

37、 ADOQuery1.SQL.Add(Edit5.Text+','); /護理費 ADOQuery1.SQL.Add(Edit7.Text+','); /床位費 ADOQuery1.SQL.Add(Edit8.Text+','); /注射費 ADOQuery1.SQL.Add(Edit10.Text+','); /藥費 ADOQuery1.SQL.Add(Edit6.Text+','); /治療費 ADOQuery1.SQL.Add(Edit9.Text+')'); /手術費 ADOQuery1.E

38、xecSQL; /把DBGrid框的內容進行更新 ADOQuery2.Close; ADOQuery2.Open; ADOQuery2.Active:=true;end;修改按鈕同住院修改功能:代碼如下procedure TForm7.Button1Click(Sender: TObject);begin if application.MessageBox('您確定要修改數據嘛?','危險',MB_OKCANCEL) =IDCANCEL then exit; /先查看是否已經有改航班信息 ADOQuery1.Close; ADOQuery1.SQL.Clear;

39、 ADOQuery1.SQL.Add('select *'); ADOQuery1.SQL.Add('from 醫(yī)院信息'); ADOQuery1.SQL.Add('where 編號='''+Edit1.Text+''''); ADOQuery1.Prepared; ADOQuery1.Open; ADOQuery1.Active:=true; if ADOQuery1.RecordCount=0 then begin /沒有該航班信息就彈出一個提示框,然后推出該函數的執(zhí)行 messageBox(0

40、,'無該病人的信息','Error!',mb_OK); exit; end; /當該航班信息存在時則可以將其信息更新到flight表中 ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('update 醫(yī)院信息 set' ); ADOQuery1.SQL.Add('結算日期='+''''+Edit2.Text+''''+','); ADOQuery1.SQL.Add('編號='

41、;+''''+Edit3.Text+''''+','); ADOQuery1.SQL.Add('護理等級='+''''+Edit4.Text+''''+','); ADOQuery1.SQL.Add('護理費='+Edit5.Text+','); ADOQuery1.SQL.Add('治療費='+Edit6.Text+','); ADOQuery1.SQL.

42、Add('床位費='+Edit7.Text+','); ADOQuery1.SQL.Add('注射費='+Edit8.Text+','); ADOQuery1.SQL.Add('手術費='+Edit9.Text+','); ADOQuery1.SQL.Add('藥費='+Edit10.Text+','); ADOQuery1.SQL.Add('預約金='+Edit12.Text); ADOQuery1.SQL.Add(' where '); ADOQuery1.SQL.Add('編號='+''''+Edit1.Text+'''');ADOQuery1.ExecSQL;/把DBGrid框的內容進行更新 ADOQuery2.Close; ADOQuery2.Open; ADOQuery2.Active:=true; Form7.Button1.Enabled :=true; Form7.Button2.Enabled :

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論