住院病人管理系統(tǒng)方案_第1頁
住院病人管理系統(tǒng)方案_第2頁
住院病人管理系統(tǒng)方案_第3頁
住院病人管理系統(tǒng)方案_第4頁
住院病人管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..XX航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:軟件綜合課程設(shè)計(jì)課程設(shè)計(jì)題目:病人住院管理院〔系:計(jì)算機(jī)學(xué)院專業(yè):班級(jí):學(xué)號(hào):__指導(dǎo)完成日期:2011年09月09日..目錄1系統(tǒng)分析11.1需求分析11.2開發(fā)工具11.2.1VisualBasic6.011.2.2MicrosoftOfficeAccess22概要設(shè)計(jì)42.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)42.2系統(tǒng)模塊設(shè)計(jì)63詳細(xì)設(shè)計(jì)73.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)73.2系統(tǒng)子模塊設(shè)計(jì)8編寫全局變量和通用過程8用戶管理模塊10病人資料管理模塊10費(fèi)用輸入模塊134調(diào)試分析155測(cè)試及運(yùn)行結(jié)果165.1用戶登陸界面165.2用戶管理界面175.3病人資料管理界面18參考文獻(xiàn)21附錄22..1系統(tǒng)分析1.1需求分析實(shí)現(xiàn)一個(gè)病人住院管理系統(tǒng),系統(tǒng)可以連接數(shù)據(jù)庫。病人入院時(shí),住在指定科室的病房〔如外科、內(nèi)科、兒科等,到每個(gè)病人有一個(gè)主治醫(yī)生負(fù)責(zé),可以選擇單人間和三人間病房,如果選擇三人間病房,床位由系統(tǒng)分配。入院時(shí)通過該系統(tǒng)將病人的信息添加數(shù)據(jù)庫中。當(dāng)病人出院時(shí)計(jì)算住院期間的費(fèi)用〔藥費(fèi)、床費(fèi)、餐費(fèi)等。系統(tǒng)能夠按照病人、病房、主治醫(yī)生進(jìn)行查詢,所以查詢模塊至少有三個(gè)界面分別顯示相關(guān)信息。1.2開發(fā)工具VisualBasic6.0VisualBasic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)編程語言。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語言——不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面〔GUI和快速應(yīng)用程序開發(fā)〔RAD系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序。VB使用了可以簡(jiǎn)單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)相當(dāng)復(fù)雜的程序。VB的程序是一種基于窗體的可視化組件安排的聯(lián)合,并且增加代碼來指定組件的屬性和方法。因?yàn)槟J(rèn)的屬性和方法已經(jīng)有一部分定義在了組件內(nèi),所以程序員不用寫多少代碼就可以完成一個(gè)簡(jiǎn)單的程序。過去的版本里面VB程序的性能問題一直被放在了桌面上,但是隨著計(jì)算機(jī)速度的飛速增加,關(guān)于性能的爭(zhēng)論已經(jīng)越來越少。窗體控件的增加和改變可以用拖放技術(shù)實(shí)現(xiàn)。一個(gè)排列滿控件的工具箱用來顯示可用控件〔比如文本框或者按鈕>。每個(gè)控件都有自己的屬性和事件。默認(rèn)的屬性值會(huì)在控件創(chuàng)建的時(shí)候提供,但是程序員也可以進(jìn)行更改。很多的屬性值可以在運(yùn)行時(shí)候隨著用戶的動(dòng)作和修改進(jìn)行改動(dòng),這樣就形成了一個(gè)動(dòng)態(tài)的程序。舉個(gè)例子來說:窗體的大小改變事件中加入了可以改變控件位置的代碼,在運(yùn)行時(shí)候每當(dāng)用戶更改窗口大小,控件也會(huì)隨之改變位置。在文本框中的文字改變事件中加入相應(yīng)的代碼,程序就能夠在文字輸入的時(shí)候自動(dòng)翻譯或者阻止某些字符的輸入。VB的程序可以包含一個(gè)或多個(gè)窗體,或者是一個(gè)主窗體和多個(gè)子窗體,類似于操作系統(tǒng)的樣子。有很少功能的對(duì)話框窗口〔比如沒有最大化和最小化按鈕的窗體可以用來提供彈出功能。VB的組件既可以擁有用戶界面,也可以沒有。這樣一來服務(wù)器端程序就可以處理增加的模塊。VB使用參數(shù)計(jì)算的方法來進(jìn)行垃圾收集,這個(gè)方法中包含有大量的對(duì)象,提供基本的面向?qū)ο笾С?。因?yàn)樵絹碓蕉嘟M建的出現(xiàn),程序員可以選用自己需要的擴(kuò)展庫。和有些語言不一樣,VB對(duì)大小寫不敏感,但是能自動(dòng)轉(zhuǎn)換關(guān)鍵詞到標(biāo)準(zhǔn)的大小寫狀態(tài),以及強(qiáng)制使得符號(hào)表入口的實(shí)體的變量名稱遵循書寫規(guī)則。默認(rèn)情況下字符串的比較是對(duì)大小寫敏感的,但是可以關(guān)閉這個(gè)功能。MicrosoftOfficeAccessMicrosoftOfficeAccess〔前名MicrosoftAccess是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了MicrosoftJetDatabaseEngine和圖形用戶界面兩項(xiàng)特點(diǎn),是MicrosoftOffice的成員之一。其實(shí)Access也是微軟公司另一個(gè)通訊程序的名字,想與ProComm以及其他類似程序來競(jìng)爭(zhēng)。可是事后微軟證實(shí)這是個(gè)失敗計(jì)劃,并且將它中止。數(shù)年后他們把名字重新命名于數(shù)據(jù)庫軟件。Access在20XX的時(shí)候成為了計(jì)算機(jī)等級(jí)考試中的計(jì)算機(jī)二級(jí)的一種數(shù)據(jù)庫語言并且因?yàn)樗囊讓W(xué)易用的特點(diǎn)正逐步取代傳統(tǒng)的VFP成為二級(jí)中最受歡迎的數(shù)據(jù)庫語言。Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)〔RDBMS,即RelationalDatabaseManagementSystem,是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模?把數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access能夠存取Access/Jet、MicrosoftSQLServer、Oracle<甲骨文軟件公司>,或者任何ODBC兼容數(shù)據(jù)庫內(nèi)的資料。熟練的軟件設(shè)計(jì)師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來開發(fā)簡(jiǎn)單的應(yīng)用軟件。雖然它支援部分面向?qū)ο蟆睴OP技術(shù),但是未能成為一種完整的面向?qū)ο箝_發(fā)工具。與一般的RDBMS完全不同,它缺乏數(shù)據(jù)庫觸發(fā)和預(yù)存程序。自從MSAccess2000<Jet4.0>,開發(fā)人員可以在查詢中設(shè)定參數(shù),這跟預(yù)存程序很相似的,但這些"預(yù)存程序"只能處理一個(gè)程序.當(dāng)資料表內(nèi)數(shù)據(jù)發(fā)生變化時(shí),它確實(shí)允許形式包含被引發(fā)的代碼,使用是普通的透過查詢和其他技術(shù)在進(jìn)入營運(yùn)儲(chǔ)存的程序在方面RDBMS支援這些的。進(jìn)入可提供的編程語言,當(dāng)時(shí)在另一個(gè)內(nèi)產(chǎn)品MicrosoftOffice家具,微軟公司應(yīng)用的VisualBasic。兩個(gè)數(shù)據(jù)庫進(jìn)入信息庫COM組成部分被提供:這筆遺產(chǎn)數(shù)據(jù)存取物體<DAO>,用進(jìn)入和新只可提供ActiveX數(shù)據(jù)對(duì)象<忙亂>。MicrosoftAccess容易被應(yīng)用于小的工程,但是如果設(shè)計(jì)的不好對(duì)大工程是無用的。全部數(shù)據(jù)庫質(zhì)問,形式和報(bào)告被儲(chǔ)存在數(shù)據(jù)庫里,并且與相關(guān)的模型的理想?yún)f(xié)調(diào),沒有與他們做一個(gè)身體上組織的階層的可能性。一種設(shè)計(jì)技術(shù)是把進(jìn)入應(yīng)用在數(shù)據(jù)和計(jì)劃之間進(jìn)行分發(fā)。一個(gè)數(shù)據(jù)庫應(yīng)該只包含桌子和關(guān)系,當(dāng)另一個(gè)將有全部計(jì)劃時(shí),形式,報(bào)告和質(zhì)問和對(duì)第一個(gè)數(shù)據(jù)庫桌子的連接。令人遺憾,當(dāng)連結(jié)時(shí),進(jìn)入允許沒有有關(guān)的道路,因此那些發(fā)展環(huán)境作為這種生產(chǎn)環(huán)境有相同的道路應(yīng)該<雖然你寫你們自己的能"動(dòng)態(tài)連接程序"常規(guī)在里VBA那搜出能一定背面結(jié)束檔案以透過這個(gè)目錄樹搜尋,如果它發(fā)現(xiàn)這條電流通路它不能>。這種技術(shù)也允許開發(fā)者在不同的檔案中分申請(qǐng),因此一些架構(gòu)是可能的。2概要設(shè)計(jì)2.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)包括的實(shí)體主要有病人、科室、病房、醫(yī)生、費(fèi)用等。下面分別介紹各實(shí)體的E-R圖,通過E-R圖可以了解各實(shí)體的屬性??剖覍?shí)體的屬性圖如圖2.1所示。科室科室開始科室名稱編號(hào)圖2.1科室實(shí)體的屬性圖病房實(shí)體的屬性圖如圖2.2所示。病房病房開始編號(hào)病房類型床費(fèi)圖2.2病房實(shí)體的屬性圖醫(yī)生實(shí)體的屬性圖如圖2.3所示。醫(yī)生醫(yī)生開始編號(hào)醫(yī)生姓名圖2.3醫(yī)生實(shí)體的屬性圖病人實(shí)體的屬性圖如圖2.4所示。病人病人開始編號(hào)姓名身份證性別備注圖2.2病人實(shí)體的屬性圖費(fèi)用實(shí)體的E-R圖如圖2.5所示。費(fèi)用費(fèi)用開始藥費(fèi)總計(jì)結(jié)算床費(fèi)餐費(fèi)日期基本費(fèi)用編號(hào)圖2.5費(fèi)用實(shí)體的屬性圖實(shí)體間的E-R圖如圖2.6所示。病人入院時(shí),根據(jù)病人情況選擇科室和病房,每個(gè)科室有多個(gè)病人就診,每個(gè)病房可以住多個(gè)病人。一個(gè)病人由一個(gè)醫(yī)生負(fù)責(zé),作為該病人的主治醫(yī)生,每個(gè)醫(yī)生可能負(fù)責(zé)多個(gè)病人。病人住院期間的費(fèi)用根據(jù)時(shí)間日期來計(jì)算。病人病人開始科室開始醫(yī)生開始費(fèi)用開始病房開始花費(fèi)屬于屬于治療日期1n1nmnmn圖2.6實(shí)體間的E-R圖2.2系統(tǒng)模塊設(shè)計(jì)整個(gè)系統(tǒng)可分為三個(gè)模塊進(jìn)行設(shè)計(jì),主要包括病人基本信息管理,費(fèi)用數(shù)據(jù)錄入、查詢,病人、病房、主治醫(yī)生查詢,系統(tǒng)管理等部分,系統(tǒng)模塊圖如圖2.7所示。病人住院管理系統(tǒng)病人住院管理系統(tǒng)開始數(shù)據(jù)處理模塊開始查詢模塊開始系統(tǒng)功能模塊費(fèi)用輸入病人資料管理用戶管理數(shù)據(jù)備份數(shù)據(jù)恢復(fù)病房查詢病人查詢主治醫(yī)生查詢圖2.7系統(tǒng)模塊圖..3詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)共建立六張表:科室表、病房表、醫(yī)生表、病人表、費(fèi)用表、操作員表。以下分別列出各表的字段說明??剖冶恚河糜诒4驷t(yī)院中各科室的信息。在系統(tǒng)中只使用科室編號(hào)和名稱,將其單獨(dú)列出一張表可方便用戶修改科室。各字段參數(shù)如表3.1所示。表3.1科室表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是科室編號(hào)科室文本20否科室名稱病房表:用于保存病房信息。包括病房編號(hào)、類型,以及不同類型病房床費(fèi)。其中病房類型分為單人間和三人間,且不同房間所需床費(fèi)不同。各字段參數(shù)如表3.2所示。表3.2病房表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是病房編號(hào)病房文本20否病房類型床費(fèi)貨幣否床費(fèi)醫(yī)生表:用于醫(yī)院所有醫(yī)生的信息。病人需要醫(yī)生開藥來計(jì)算藥費(fèi),所以將藥費(fèi)作為醫(yī)生的一個(gè)屬性。各字段參數(shù)如表3.3所示。表3.3醫(yī)生表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是醫(yī)生編號(hào)醫(yī)生文本15否醫(yī)生姓名藥費(fèi)貨幣否開藥藥費(fèi)病房表:用于保存病人基本信息。包括病人編號(hào)、姓名、性別、身份證號(hào)碼、入院時(shí)間、科室、病房、主治醫(yī)生及入院時(shí)所需繳納的基本費(fèi)用。其中科室、病房和醫(yī)生均是各實(shí)體的編號(hào)。各字段參數(shù)如表3.4所示。表3.4病人表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是病人編號(hào)姓名文本10否病人姓名身份證文本15否身份證性別文本2否性別入院時(shí)間日期/時(shí)間否入院時(shí)間科室數(shù)字否科室編號(hào)病房數(shù)字否病房編號(hào)醫(yī)生數(shù)字否醫(yī)生編號(hào)基本費(fèi)用貨幣否基本費(fèi)用備注備注備注信息費(fèi)用表:用于保存病人住院期間的費(fèi)用。由于需要按病人查詢費(fèi)用,所以包含了病人ID。各字段參數(shù)如表3.5所示。表3.5費(fèi)用表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明ID自動(dòng)編號(hào)是序號(hào)病人ID長整型否病人編號(hào)日期日期/時(shí)間否費(fèi)用日期基本費(fèi)用貨幣否基本費(fèi)用床費(fèi)貨幣否床費(fèi)藥費(fèi)貨幣否藥費(fèi)餐費(fèi)貨幣否餐費(fèi)總計(jì)貨幣否總計(jì)結(jié)算貨幣否結(jié)算操作員表:用于保存操作本系統(tǒng)人員的登錄名、密碼等信息。各字段參數(shù)如表3.6所示。表3.6操作員表〔User字段名稱數(shù)據(jù)類型字段大小是否主鍵說明Name文本15是登錄名PWD文本16否登錄密碼UserClass字節(jié)否用戶類型3.2系統(tǒng)子模塊設(shè)計(jì)編寫全局變量和通用過程在由應(yīng)用程序向?qū)?chuàng)建的程序框架中,創(chuàng)建了一個(gè)模塊文件"Module1.bas",在該模塊中有一個(gè)名為"SubMain"的過程,用來啟動(dòng)應(yīng)用程序。在該模塊中還定義了一下全局變量和通用過程,供其他模塊使用。下面的過程用來執(zhí)行針對(duì)數(shù)據(jù)庫的操作,如創(chuàng)建/釋放數(shù)據(jù)庫連接,運(yùn)行查詢等。PublicSubConnect<>'連接數(shù)據(jù)庫IfIsConnect=TrueThen'如果連接標(biāo)記為真,則返回。否則會(huì)出錯(cuò)ExitSubEndIfSetcnn=NewADODB.Connection'關(guān)鍵New用于創(chuàng)建新對(duì)象cnncnn.ConnectionString=Conn'設(shè)置連接字符串ConnectionString屬性cnn.Open'打開到數(shù)據(jù)庫的連接Ifcnn.State<>adStateOpenThen'判斷連接的狀態(tài)MsgBox"數(shù)據(jù)庫連接失敗",vbOKOnly+vbCritical,"警告"'如果連接不成功,則顯示提示信息,退出程序EndEndIfIsConnect=True'設(shè)置連接標(biāo)記,表示已經(jīng)連接到數(shù)據(jù)庫EndSubPublicSubDisconnect<>'斷開與數(shù)據(jù)庫的連接DimrcAsLongIfIsConnect=FalseThenExitSub'如果連接標(biāo)記為假,標(biāo)明已經(jīng)斷開連接,則直接返回cnn.Close'關(guān)閉連接Setcnn=NothingIsConnect=FalseEndSubPublicSubSQLExt<ByValstrSQLstmtAsString>'執(zhí)行數(shù)據(jù)庫操作語句DimcmdAsNewADODB.Command'創(chuàng)建Command對(duì)象cmdConnect'連接到數(shù)據(jù)庫Setcmd.ActiveConnection=cnn'設(shè)置cmd的ActiveConnection屬性,指定與其關(guān)聯(lián)的數(shù)據(jù)庫連接cmd.CommandText=strSQLstmt'設(shè)置要執(zhí)行的命令文本cmd.ExecuteSetcmd=NothingDisconnectEndSub用戶管理模塊用戶管理是大多數(shù)信息管理系統(tǒng)中都需要的功能,將用戶管理的功能設(shè)置為一個(gè)類,可提高代碼的可重用性。用戶管理類模塊名稱為"clsUser",基本流程如圖3.1。開始開始初始化數(shù)據(jù)調(diào)用SQLExt過程執(zhí)行SQL語句結(jié)束查找指定用戶圖3.1用戶管理模塊流程圖病人資料管理模塊病人資料管理模塊是本系統(tǒng)的核心,包括病人資料的增加、修改、刪除等功能的實(shí)現(xiàn),可以在對(duì)話框中對(duì)病人資料進(jìn)行管理并連接到數(shù)據(jù)庫中。"增加"按鈕有兩種狀態(tài),當(dāng)該按鈕病人入院時(shí),進(jìn)入該模塊點(diǎn)擊"增加"按鈕,可以增加一個(gè)病人,將病人的基本信息輸入,并添加到數(shù)據(jù)庫的病人表中,其流程如圖3.2。從科室表中獲取數(shù)據(jù)從科室表中獲取數(shù)據(jù)從病房表中獲取數(shù)據(jù)SQL語句結(jié)束從醫(yī)生表中獲取數(shù)據(jù)定義SQL語句SQL語句刷新ADO控件數(shù)據(jù)SQL語句設(shè)置DataGrid1控件顯示ADO控件中的數(shù)據(jù)SQL語句數(shù)據(jù)是否讀取完畢設(shè)置ADO控件連接字符串為全局變量SQL語句計(jì)數(shù)器加1SQL語句是程序停止運(yùn)行,返回false否開始圖3.2病人資料管理模塊增加事件流程圖病人入院后可能會(huì)更換病房或者出現(xiàn)其他變動(dòng),所以在該模塊還需要實(shí)現(xiàn)病人資料的即時(shí)更新。當(dāng)在DataGrid表格中選中一個(gè)病人記錄時(shí),"增加"按鈕的標(biāo)題將改變?yōu)?修改",此時(shí)單擊該按鈕將修改選中記錄的數(shù)據(jù),具體流程如圖3.3。開始開始禁止使用"刪除"按鈕調(diào)用Status過程允許用戶操作窗體各控件SQL語句結(jié)束清除數(shù)據(jù)檢查用戶輸入或修改的數(shù)據(jù)SQL語句刷新ADO控件數(shù)據(jù)SQL語句調(diào)用Status過程禁止用戶操作窗體中的控件SQL語句輸入數(shù)據(jù)SQL語句數(shù)據(jù)是否輸入完畢是否圖3.3病人資料管理模塊修改事件流程圖為了方便查詢,只顯示住院病人資料,若病人出院,需要將該病人的資料刪除,及時(shí)更新數(shù)據(jù)庫,進(jìn)入該模塊點(diǎn)擊"刪除"按鈕,可以將病人的基本信息刪除,其流程如圖3.4。開始開始結(jié)束顯示提示信息SQL語句刷新數(shù)據(jù)SQL語句病人編號(hào)大于0是否為添加狀態(tài)刪除SQL語句SQL語句執(zhí)行SQL語句SQL語句是是否否圖3.4病人資料管理模塊刪除事件流程圖費(fèi)用輸入模塊費(fèi)用輸入模塊主要用來錄入病人指定時(shí)間的費(fèi)用。為減少錄入工作量,減少錄入錯(cuò)誤,使用列表框顯示病人姓名,系統(tǒng)將自動(dòng)填充病人的基本費(fèi)用、床費(fèi)、藥費(fèi),用戶也可以修改這些自動(dòng)填充的數(shù)據(jù)。對(duì)于最終的結(jié)算數(shù)據(jù),既可手工輸入,也可單擊右側(cè)的"C"〔計(jì)算按鈕自動(dòng)計(jì)算。其主要流程如圖3.5。開始開始從病房表中獲取數(shù)據(jù)從病人表中獲取數(shù)據(jù)SQL語句結(jié)束從醫(yī)生表中獲取數(shù)據(jù)調(diào)用status過程禁止用戶操作窗體控件SQL語句將當(dāng)前記錄中"病人ID"保存到變量id中SQL語句在病人數(shù)組中逐個(gè)判斷SQL語句數(shù)據(jù)是否讀取完畢設(shè)置ADO控件連接字符串SQL語句將病人姓名添加到組合框中SQL語句是否圖3.5費(fèi)用輸入模塊流程圖4調(diào)試分析<1>信息不能全部顯示問題描述:數(shù)據(jù)文件輸出到text控件中輸出數(shù)據(jù)不能全部顯示。問題分析:text控件中且數(shù)據(jù)量比較大,窗體不夠大,所以不能全部顯示。解決方法:比較簡(jiǎn)單的方法就是把數(shù)據(jù)放到一個(gè)文本框〔text里,并在其中加上水平和垂直滾動(dòng)條。具體實(shí)現(xiàn)步驟為:先在窗體〔form里加入一個(gè)文本框,采用默認(rèn)名text1;然后,設(shè)置文本框text1的屬性:text屬性設(shè)置為空,multiline屬性設(shè)置為true,scrollbars屬性設(shè)置為3-both;接著添加一段vb代碼即可。<2>運(yùn)行出錯(cuò)問題描述:運(yùn)行點(diǎn)擊病人資料時(shí)出錯(cuò),調(diào)試時(shí)在設(shè)置ADO控件連接字符串為全局變量Conn一行出錯(cuò)。問題分析:指示出錯(cuò)行并未有問題,可能原因是前面定義SQL語句時(shí)出錯(cuò)。經(jīng)檢查分析,SELECT語句中醫(yī)生表中并未出現(xiàn)"主治醫(yī)生"這一參數(shù)。解決方法:將SELECT語句中"主治醫(yī)生"改為"醫(yī)生"。修改后的SELECT語句如下:strSQL2="SELECTa.ID,姓名,d.科室,性別,身份證,入院時(shí)間,b.病房,c.醫(yī)生,基本費(fèi)用,備注"strSQL2=strSQL2&"FROM病人表a,病房表b,醫(yī)生表c,科室表d"strSQL2=strSQL2&"WHEREa.病房=b.IDANDa.醫(yī)生=c.IDANDa.科室=d.ID"5測(cè)試及運(yùn)行結(jié)果5.1用戶登陸界面在VB6開發(fā)環(huán)境中,選擇菜單"運(yùn)行/啟動(dòng)"命令,將顯示登陸窗體,如圖5.1所示。圖5.1用戶登陸窗體在登錄窗體中單擊"確定"按鈕,即可進(jìn)入系統(tǒng)主窗體,如圖5.2所示。圖5.2系統(tǒng)主窗體5.2用戶管理界面在系統(tǒng)主窗體中"系統(tǒng)/用戶管理"或點(diǎn)擊"用戶"按鈕,可以進(jìn)入用戶管理界面,如圖5.3所示。圖5.3用戶管理窗體單擊"添加用戶"按鈕,管理員和操作員都可以添加新用戶,如圖5.4所示。圖5.4添加用戶窗體單擊"修改用戶"按鈕,管理員可以修改用戶,如圖5.5所示。圖5.5修改用戶窗體5.3病人資料管理界面在系統(tǒng)主窗體中"數(shù)據(jù)/病人資料",可以進(jìn)入病人資料管理界面。操作員可以對(duì)病人資料進(jìn)行添加、修改、刪除等操作,并且可以直觀顯示在界面的表格中。如圖5.6所示。圖5.6病人資料管理界面輸入新的入院病人資料,單擊"添加"按鈕,添加時(shí)界面顯示如圖5.7所示。圖5.7添加病人資料顯示界面新入院病人資料已添加到數(shù)據(jù)庫中,添加后界面顯示如圖5.8所示。圖5.8添加后病人資料顯示界面單擊"刪除"按鈕,彈出對(duì)話框如圖5.9所示。圖5.9彈出對(duì)話框選擇"是",可將該用戶從數(shù)據(jù)庫中刪除,刪除后顯示界面如圖5.10所示。圖5.10刪除后病人資料顯示界面..參考文獻(xiàn)[1]VisualBasic課程設(shè)計(jì)案例精編[M].北京:清華大學(xué)出版社,2007[2]VisualBasic項(xiàng)目案例開發(fā)實(shí)例自學(xué)手冊(cè)[M].北京:人民郵電出版社,2008[3]VisualBasic完全自學(xué)手冊(cè)[M].北京:機(jī)械工業(yè)出版社,2009[4]30天學(xué)通VisualBasic項(xiàng)目案例開發(fā)[M].北京:電子工業(yè)出版社,2009[5]VisualBasic從入門到精通[M].北京:人民郵電出版社,2010..附錄主要源程序清單:PrivateSubMDIForm_Load<>Me.Left=GetSetting<App.Title,"Settings","MainLeft",1000>Me.Top=GetSetting<App.Title,"Settings","MainTop",1000>Me.Width=GetSetting<App.Title,"Settings","MainWidth",6500>Me.Height=GetSetting<App.Title,"Settings","MainHeight",6500>'LoadNewDocEndSubPrivateSubMDIForm_Unload<CancelAsInteger>IfMe.WindowState<>vbMinimizedThenSaveSettingApp.Title,"Settings","MainLeft",Me.LeftSaveSettingApp.Title,"Settings","MainTop",Me.TopSaveSettingApp.Title,"Settings","MainWidth",Me.WidthSaveSettingApp.Title,"Settings","MainHeight",Me.HeightEndIfEndSubPrivateSubmnuDataEmp_Click<>frmEmp.ShowEndSubPrivateSubmnuDataInput_Click<>frmInput.ShowEndSubPrivateSubmnuDataRef_Click<>frmDataRef.ShowEndSubPrivateSubmnuQueryFind_Click<>frmSearchName.ShowEndSubPrivateSubmnuReportEmp_Click<>frmReportEmp.ShowEndSubPrivateSubmnuReportPay_Click<>frmReportPay.ShowEndSubPrivateSubmnuSysBack_Click<>DimstrSoureFileAsString,strDestFileAsString,iRetAsIntegerOnErrorResumeNextstrSoureFile=App.Path&strDB'源數(shù)據(jù)庫文件strDestFile=App.Path&"\BAK\DATA.BAK"'備份文件IfTrim<strDestFile>=""ThenExitSubIfDir<strDestFile><>""Then'文件存在iRet=MsgBox<Dir<strDestFile>&"文件已經(jīng)存在,是否替換?",vbYesNo,"警告">IfiRet=vbNoThenExitSubEndIfEndIfDimbuff<>AsByte,iAsLong'定義緩沖區(qū)i=FileLen<strSoureFile>ReDimbuff<i-1>OpenstrSoureFileForBinaryAs#1'打開源文件Get#1,,buff'讀取數(shù)據(jù)到緩沖區(qū)Close#1'關(guān)閉文件OpenstrDestFileForBinaryAs#1'打開目標(biāo)文件Put#1,,buff'輸入緩沖區(qū)到目標(biāo)文件Close#1MsgBox"數(shù)據(jù)庫備份完成!",vbInformation+vbOKOnly,"提示"EndSubPrivateSubmnuSysPWD_Click<>WithfrmUserEdit.Caption="修改密碼".strOldUser=CurUser.strName.txtUserName.Text=CurUser.strNameIfCurUser.iUserClass=1Then.cmbUserClass.AddItem"管理員"Else.cmbUserClass.AddItem"操作員"EndIf.cmbUserClass.ListIndex=0.cmbUserClass.Enabled=False.txtUserName.Enabled=False'不允許修改用戶名.bModify=True.ShowEndWithEndSubPrivateSubmnuSysQuit_Click<>DimynAsStringyn=MsgBox<"確定要退出系統(tǒng)嗎?",vbYesNo,"退出確定">Ifyn=vbYesThenUnloadMeEndSubPrivateSubmnuSysRest_Click<>DimstrSoureFileAsString,strDestFileAsStringDimbuff<>AsByte,iAsLong,iRetAsIntegerOnErrorResumeNextstrSoureFile=App.Path+"\BAK\DATA.BAK"strDestFile=App.Path+strDBIfDir<strSoureFile>=""ThenMsgBox"沒有發(fā)現(xiàn)可以恢復(fù)的數(shù)據(jù)庫!",vbOKOnly+vbCritical,"警告"ElseIfDir<strSoureFile><>""TheniRet=MsgBox<"恢復(fù)數(shù)據(jù)庫可能會(huì)丟失最近的數(shù)據(jù),確定要恢復(fù)備份文件嗎?",vbQuestion+vbYesNo,"確認(rèn)">IfiRet=vbYes

溫馨提示

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

評(píng)論

0/150

提交評(píng)論