版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE11一、系統(tǒng)需求與功能分析1.系統(tǒng)需求分析醫(yī)院信息化是醫(yī)院應(yīng)用信息技術(shù)及其產(chǎn)品的過程,是信息技術(shù)由局部到全局、由戰(zhàn)術(shù)層次到戰(zhàn)略層次向醫(yī)院的全面滲透,運(yùn)用于流程管理、支持醫(yī)院經(jīng)營(yíng)管理的過程。信息化的實(shí)施從自上而下的角度說,必須與醫(yī)院的制度創(chuàng)新、組織創(chuàng)新和管理創(chuàng)新結(jié)合;從自上而下的角度說,必須以作為醫(yī)院主體的業(yè)務(wù)人員直接受益及其使用水平的逐步提高為基礎(chǔ)。調(diào)查用戶需求:本系統(tǒng)的最終用戶為醫(yī)院,我們根據(jù)從醫(yī)院方面取得的圖表資料、文字資料以及其他細(xì)節(jié)方面的信息,根據(jù)我們?nèi)粘I钪械慕?jīng)驗(yàn),根據(jù)我們所做的其他詢問和調(diào)查,得出用戶的下列實(shí)際要求:用戶對(duì)系統(tǒng)的要求:信息要求:由于系統(tǒng)的使用主體是醫(yī)院的管理人員,因此對(duì)系統(tǒng)的信息要求可分為以下方面:(1)病人信息①:首先是病人的基本信息,主要包括病人的姓名,性別,出生年月,年齡,家庭住址,聯(lián)系方式等;②:對(duì)于住院病人,還需要入院時(shí)間,所在病區(qū),所在醫(yī)科,床位等。(2)處理要求:系統(tǒng)應(yīng)當(dāng)完成以下的信息處理:①:存儲(chǔ)病人信息,供相應(yīng)的人員查詢;②:對(duì)病人信息進(jìn)行及時(shí)的更新和統(tǒng)計(jì);(3)安全性要求:系統(tǒng)應(yīng)設(shè)置訪問用戶的標(biāo)識(shí)以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用.2.功能分析?(1)信息錄入處理:住院病人信息錄入、住院病人治療費(fèi)用錄入、住院病人藥品費(fèi)用錄入。?住院病人信息錄入就是將源數(shù)據(jù)庫(kù)中沒有的病人信息重新錄入進(jìn)去,并且可以錄入病人姓名。住院病人費(fèi)用錄入和住院病人藥品錄入功能相近,都是將病人在住院期間的所花的費(fèi)用進(jìn)行錄入保存,方便以后進(jìn)行查詢。?(2)信息查詢處理:住院病人信息查詢和住院病人費(fèi)用查詢。?住院病人信息查詢和住院病人費(fèi)用查詢功能相似,從數(shù)據(jù)庫(kù)中將病人信息和費(fèi)用顯示到前臺(tái),讓病人及時(shí)了解自己的個(gè)人信息和消費(fèi)情況。?(3)信息統(tǒng)計(jì)處理:住院病人總費(fèi)用統(tǒng)計(jì)按大類科、專科、病區(qū)及指定的病人進(jìn)行查詢統(tǒng)計(jì)(4)信息打印處理:住院病人信息打印住院病人信息報(bào)表打印用于顯示病人的住院號(hào)、床位號(hào)、床位費(fèi)、病人姓名、性別編碼出生日期、民族、籍貫和病癥等詳細(xì)信息。?(5)系統(tǒng)維護(hù)處理:病人信息維護(hù)、大類科編碼維護(hù)、??凭幋a維護(hù)、病區(qū)編碼維護(hù)、治療項(xiàng)目編碼維護(hù)、藥品編碼維護(hù)醫(yī)生編碼維護(hù)和用戶編碼維護(hù).系統(tǒng)編碼維護(hù)時(shí)分別對(duì)病人信息、大類科、???、病區(qū)、治療項(xiàng)目、藥品信息、醫(yī)生信息和用戶信息進(jìn)行錄入、查詢與修改等操作,數(shù)據(jù)編碼表維護(hù)是對(duì)各類數(shù)據(jù)編碼表中的記錄進(jìn)行錄入、查詢與修改等操作。3.系統(tǒng)功能菜單由此方案設(shè)計(jì)的系統(tǒng)功能菜單如下表所示。信息錄入信息查詢信息統(tǒng)計(jì)數(shù)據(jù)打印系統(tǒng)維護(hù)信息復(fù)制病人信息錄入病人信息查詢病人總費(fèi)用統(tǒng)計(jì)病人信息打印系統(tǒng)維護(hù)批量復(fù)制病人治療費(fèi)用錄入病人費(fèi)用查詢大類科編碼維護(hù)病人藥品費(fèi)用錄入??凭幋a維護(hù)病區(qū)編碼維護(hù)治療項(xiàng)目維護(hù)藥品編碼維護(hù)醫(yī)生編碼維護(hù)用戶編碼維護(hù)表學(xué)生成績(jī)管理功能菜單二、數(shù)據(jù)庫(kù)設(shè)計(jì)設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)、數(shù)據(jù)表結(jié)構(gòu)包含序號(hào)、數(shù)據(jù)項(xiàng)名、含義、數(shù)據(jù)項(xiàng)類型、長(zhǎng)度、非空、索引、主鍵、外鍵、引用字段、數(shù)據(jù)來源等。1。大類科編碼表Category表1大類科編碼表tblCat(yī)egory序號(hào)字段名含義類型寬度小數(shù)主/外鍵1Cat(yī)e_Id大類科編碼Varchar10PK2Cat(yī)e_Name大類科名稱Varchar203Cat(yī)e_Dean大類科主任Varchar102。??凭幋a表Spec表2專科編碼表tblSpec序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Spec_Id專科編碼Varchar10PK2Spec_Name??泼QVarchar303Spec_Cate所屬大類科編碼Varchar10FKtblCategory/Cat(yī)e_ID3。病區(qū)編碼表Ward表3病區(qū)編碼表tblWard序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Ward_Id病區(qū)編碼Varchar10PK2Ward_Name病區(qū)名稱Varchar203Ward_Pos病區(qū)位置Varchar204Ward_Beds總床位數(shù)Int5Ward_Used已用床位數(shù)Int6Ward_Rest剩余床位數(shù)flaot7Ward_Head病區(qū)主任Varchar108Ward_Spec所屬??凭幋aVarchar2FKtblSpec/Spec_ID4.病人信息表Patient表4病人信息表tblPatient序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Pat_Id住院號(hào)Varchar10PK2Pat_Bed床位號(hào)Varchar503Pat_BedFee(cuò)床位費(fèi)money24Pat_Name病人姓名Varchar85Pat_Sex性別編碼Varchar1tblSex/Sex_ID6Pat_Birth出生日期Datetime7Pat_Nation民族Varchar2tblNation/Nation_ID8Pat_NtvPlc籍貫Varchar6tblNtvPlc/NtvPlc_ID9Pat_Sympton病癥Varchar2010Pat_Work工作單位Varchar2011Pat_CharId身份證號(hào)Varchar4012Pat_Ward病區(qū)編碼Varchar10tblWard/Ward_ID13Pat_ZipCode住宅郵編Varchar614Pat_Phone住宅電話Varchar2015Pat_Addr戶口地址Varchar5016Pat_Admit入院日期Dat(yī)etime17Pat_Leave出院日期Datetime18Pat_PayAd預(yù)交費(fèi)money219Pat_PaySum費(fèi)用總額money220Pat_PayRest費(fèi)用結(jié)余money221Pat_Image病人照片Image5.性別編碼表Sex表5性別編碼表tblSex序號(hào)字段名含義類型寬度小數(shù)主/外鍵1Sex_Id性別編碼Varchar1PK2Sex_Name性別Varchar106.民族編碼表Nat(yī)ion表6民族編碼表tblNation序號(hào)字段名含義類型寬度小數(shù)主外鍵1Nation_Id民族編碼Varchar2PK2Nation_Name民族名稱Varchar207。籍貫編碼表NtvPlc表7籍貫編碼表tblNtvPlc序號(hào)字段名含義類型寬度小數(shù)主/外鍵1NtvPlc_Id籍貫編碼Varchar6PK2NtvPlc_Name籍貫名稱Varchar208.治療項(xiàng)目編碼表Item表8治療項(xiàng)目編碼表tblItem序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Item_Id項(xiàng)目編碼Varchar10PK2Item_Name項(xiàng)目名稱Varchar63Item_Type項(xiàng)目類別Varchar64Item_Wbm五筆碼Varchar305Item_Pym拼音碼Varchar106Item_PerPrice項(xiàng)目單價(jià)float(yī)27Item_Mark備注Varchar209。病人治療項(xiàng)目費(fèi)用表MedItem表9病人治療項(xiàng)目費(fèi)用表tblMedItem序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Mi_PatId住院號(hào)Varchar10PKtblPatient/Pat_Id2Mi_ItemId項(xiàng)目編碼Varchar10tblItem/Item_ID3Mi_Quantity數(shù)量float4Mi_Amount金額int5Mi_Date使用日期Varchar106Mi_Time使用時(shí)間Varchar507Mi_DocId醫(yī)生編碼Varchar10tblDoctor/Doct_Id8Mi_Advice醫(yī)囑號(hào)Varchar1010。藥品編碼表Medicine表10藥品編碼表tblMedicine序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Med_Id藥品編碼Varchar17PK2Med_Wbm五筆編碼Varchar63Med_Pym拼音編碼Varchar64Med_Name藥品名稱Varchar305Med_Spec藥品規(guī)格Varchar166Med_Unit計(jì)量單位Varchar67Med_PerPrice藥品單價(jià)float28Med_Expirydate藥品有效期Varchar11.病人藥品費(fèi)用表MedFee表11病人藥品費(fèi)用表tblMedFee序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Mf_Pat(yī)Id住院號(hào)Varchar10PKtblPat(yī)ient/Pat_Id2Mf_ItemId藥品編碼Varchar17tblMedicine/Med_Id3Mf_Unit藥品單位Varchar44Mf_Quantity數(shù)量float5Mf_Amount金額float(yī)6Mf_Date使用日期Varchar107Mf_Time使用時(shí)間Varchar58Mf_DocId醫(yī)生編碼Varchar5tblDoctor/Doct_Id9Mf_Advice醫(yī)囑號(hào)Varchar1012.醫(yī)生編碼表Doctor序號(hào)字段名含義類型寬度小數(shù)主鍵表12醫(yī)生編碼表tblDoctor序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1Doct_ID醫(yī)生編碼Varchar5PK2Doct_Name醫(yī)生名稱Varchar83Doct_Spec所屬專科編碼Varchar8tblSpec/Spec_Id4Doct_Ward所屬病區(qū)編碼Varchar10tblWard/Ward_Id13。用戶表User表13用戶表tblUser序號(hào)字段名含義類型寬度小數(shù)主/外鍵關(guān)聯(lián)表/字段1User_ID用戶名Varchar10PK2User_Psw用戶密碼Varchar203User_Flag用戶權(quán)限標(biāo)志Varchar1三、程序設(shè)計(jì)1。系統(tǒng)登錄(主)圖1用戶登錄界面在登錄界面的設(shè)計(jì)中,我采用的是有連接訪問數(shù)據(jù)庫(kù),這樣數(shù)據(jù)并發(fā)性問題更容易控制,數(shù)據(jù)也是當(dāng)前的和及時(shí)更新的;此外還設(shè)有用戶權(quán)限,權(quán)限不同登錄成功后呈現(xiàn)出的主界面也不同;并且使用DataReader組件來以只讀和僅轉(zhuǎn)發(fā)的方式從數(shù)據(jù)源檢索數(shù)據(jù);核心代碼如下://有連接訪問staticstringstr=”Dat(yī)aSource=ASUS—PC\\SQLEXPRESS;InitialCat(yī)alog=Hospital;UserId=sa;Password=sa”;SqlConnectioncon=newSqlConnection(str);privatevoidbtn_Login_Click(objectsender,EventArgse){stringcmdStr="Select*FromtblLoginWhereUser_Name=@aandUser_Pwd=@b";SqlCommandcmd=newSqlCommand(cmdStr,con);SqlParameters1,s2;s1=cmd.Parameters。Add(”@a",SqlDbType.VarChar,20);s2=cmd.Parameters.Add("@b”,SqlDbType.VarChar,20);s1。Value=txt_UserName.Text;s2。Value=txt_UserPwd.Text;//打開連接con。Open();//定義SqlDataReader對(duì)象SqlDataReaderdr=cmd。ExecuteReader();??//只讀的方式從數(shù)據(jù)源檢索數(shù)據(jù)if(dr。Read()){//用戶權(quán)限登錄Common.User_Flag=dr[”User_Flag"]。ToString();//顯示主窗體Form_M(jìn)ainfrm=newForm_Main();frm.Show();}else{MessageBox.Show("用戶名或密碼錯(cuò)誤?。ⅲ?}//關(guān)閉連接con.Close();}2.主界面(主)圖2醫(yī)院住院信息管理系統(tǒng)在主界面設(shè)計(jì),為了將所有界面以整體的方式全部實(shí)現(xiàn)出來,即執(zhí)行一次就能看到全部效果,我在主界面添加了MenuStrip控件并且在MenuStrip控件上添加了MeauItem控件,雙擊MeauItem控件添加代碼實(shí)現(xiàn)主/子窗體連接;而且把界面設(shè)計(jì)的漂亮、規(guī)范,我把Form窗體的IsMdiContainer屬性設(shè)置為True,BackgroundImage屬性導(dǎo)入一張圖片,加入一個(gè)timer控件在statusStrip顯示時(shí)間;此外涉及到用戶權(quán)限問題,我在Form_Load事件中添加代碼,用戶權(quán)限不同登錄后訪問的主界面也不同。核心代碼如下://單擊主界面上住院病人藥品費(fèi)用錄入時(shí),將顯示出住院病人藥品費(fèi)用錄入的Form子窗體privatevoidtsmiMfInput_Click(objectsender,EventArgse){Form_M(jìn)edFeefrm=newForm_MedFee(cuò)();frm.MdiParent=this;frm.Show();slbl_window.Text="當(dāng)前窗體:"+frm。Text;}//用戶權(quán)限設(shè)置privatevoidForm_Main_Load(objectsender,EventArgse){?//調(diào)用Common類的靜態(tài)變量User_Flag,當(dāng)用戶權(quán)限為0時(shí),系統(tǒng)維護(hù)界面失效,但可見if(Common.User_Flag=="0”){ ?//系統(tǒng)維護(hù)界面失效MenuMaintain.Enabled=false;}}//timer控件顯示時(shí)間privat(yī)evoidtimer1_Tick(objectsender,EventArgse){slbl_time.Text="日期:時(shí)間:"+Convert.ToString(Dat(yī)eTime.Now);}//單擊主界面上住院病人總費(fèi)用錄入時(shí),將顯示出住院病人總費(fèi)用錄入的Form子窗體privatevoid住院病人總費(fèi)用統(tǒng)計(jì)ToolStripMenuItem_Click(objectsender,EventArgse){Form_FeeStatfrm=newForm_Fee(cuò)Stat();frm。MdiParent=this;frm.Show();slbl_window.Text="當(dāng)前窗體:”+frm。Text;}//單擊主界面上批量復(fù)制時(shí),將顯示出批量復(fù)制的Form子窗體privatevoidtoolStripButton1_Click(objectsender,EventArgse){Form_Copyfrm=newForm_Copy();frm。MdiParent=this;frm.Show();slbl_window。Text="當(dāng)前窗體:"+frm。Text;}//單擊主界面上住院病人信息打印時(shí),將顯示出住院病人信息打印的Form子窗體privatevoidtsmiPatPint_Click(objectsender,EventArgse){Form_PatBbfrm=newForm_Pat(yī)Bb();frm.MdiParent=this;frm.Show();slbl_window。Text="當(dāng)前窗體:"+frm.Text;}3。病人信息錄入(次)圖3病人信息錄入?病人信息用于對(duì)病人信息的錄入、查詢和顯示等操作,并且可以插入病人照片。主要代碼如下:while(myReader。Read()){file=newFileStream(savedImageName,F(xiàn)ileMode。OpenOrCreate,FileAccess。Write);bw=newBinaryWriter(file);startIndex=0;//讀取的起點(diǎn)位置retval=myReader.GetBytes(0,startIndex,outbyte,0,bufferSize);//返回實(shí)際讀取的字節(jié)數(shù)//當(dāng)圖片大小大于或等于數(shù)組大小時(shí),需分塊寫入到文件中while(retval==bufferSize){bw.Write(outbyte);bw.Flush();startIndex+=bufferSize;//重置讀取的起點(diǎn)位置retval=myReader.GetBytes(0,startIndex,outbyte,0,bufferSize);}bw.Write(outbyte,0,(int)retval—1);bw.Flush();bw。Close();file.Close();}4。住院病人信息查詢(次)圖4住院病人信息查詢從數(shù)據(jù)庫(kù)中將病人信息和費(fèi)用顯示到前臺(tái),讓病人及時(shí)了解自己的個(gè)人信息。代碼:privatevoidcbo_Cate_SelectedIndexChanged(objectsender,EventArgse){?//無連接訪問實(shí)現(xiàn)??票砗痛箢惪票淼慕壎ǎ髏ringcmdStr=”Select*FromtblSpecwhereSpec_Cat(yī)e=@a";SqlCommandcmd=newSqlCommand(cmdStr,con);SqlParameters1;s1=cmd.Parameters.Add(”@a",SqlDbType.VarChar,2);s1.Value=cbo_Cate.SelectedValue。ToString();SqlDataAdapterdp=newSqlDataAdapter();dp.SelectCommand=cmd;DataSetds=newDataSet();dp.Fill(ds,"Spec");cbo_Spec。DataSource=ds。Tables[”Spec"];if(ds.Tables["Spec”].Rows.Count==0){cbo_Spec。DisplayMember=”";cbo_Spec。ValueMember="";}else{cbo_Spec.DisplayMember="Spec_Name";cbo_Spec。ValueMember="Spec_Id”;}}5.住院病人總費(fèi)用統(tǒng)計(jì)(次)圖5住院病人總費(fèi)用統(tǒng)計(jì) 住院病人總費(fèi)用統(tǒng)計(jì)時(shí)用于統(tǒng)計(jì)病人住院治療等項(xiàng)目的總費(fèi)用,及其消費(fèi)藥品名稱、數(shù)量、金額、使用時(shí)間等,都會(huì)相信的顯示出來,一目了然.主要代碼如下:while(rd_Cate.Read()){//定義樹結(jié)點(diǎn)TreeNodenode_Cate=newTree(cuò)Node(rd_Cat(yī)e.GetValue(0)。ToString());if(rd_Cate.GetValue(1).ToString()!=string.Empty){stringstrSpec="selectSpec_Name,Spec_IdfromtblSpecwhereSpec_Cate='";strSpec+=rd_Cate。GetValue(1).ToString();strSpec+="'”;SqlCommandcmd_Spec=newSqlCommand(strSpec,con);SqlDataReaderrd_Spec=cmd_Spec.ExecuteReader();while(rd_Spec.Read()){TreeNodenode_Spec=newTreeNode(rd_Spec.GetValue(0).ToString());if(rd_Spec.GetValue(1).ToString()!=string。Empty){stringstrWard="selectWard_Name,Ward_IdfromtblWardwhereWard_Spec='";strWard+=rd_Spec。GetValue(1)。ToString();strWard+=”'”;SqlCommandcmd_Ward=newSqlCommand(strWard,con);SqlDataReaderrd_Ward=cmd_Ward.ExecuteReader();while(rd_Ward.Read()){Tree(cuò)Nodenode_Ward=newTree(cuò)Node(rd_Ward。GetValue(0).ToString());if(rd_Ward.GetValue(1).ToString()!=string.Empty){stringstrPat="selectPat(yī)_NamefromtblPatientwherePat_Ward=’";strPat+=rd_Ward.GetValue(1).ToString();strPat+=”’”;SqlCommandcmd_Pat=newSqlCommand(strPat,con);SqlDataReaderrd_Pat=cmd_Pat。ExecuteReader();while(rd_Pat.Read()){TreeNodenode_Pat=newTreeNode(rd_Pat.GetValue(0)。ToString());node_Ward.Nodes.Add(node_Pat(yī));}rd_Pat。Close();}node_Spec.Nodes.Add(node_Ward);}rd_Ward。Close();}node_Cat(yī)e.Nodes.Add(node_Spec);}rd_Spec.Close();}treeView_Pat(yī)ient.Nodes.Add(node_Cat(yī)e);}6.住院病人報(bào)表打印(主)圖6病人信息報(bào)表打印病人信息報(bào)表打印是我們組的重頭戲,在HISDataSet內(nèi)存數(shù)據(jù)集中添加一個(gè)內(nèi)存表,相比其他內(nèi)存數(shù)據(jù)表,這個(gè)內(nèi)存數(shù)據(jù)表不是建立連接從外存數(shù)據(jù)庫(kù)中拉入的,而是我用Select語句編寫的即Patient;在解決方案資源管理器中新建Crystal報(bào)表并且從HISDataSet內(nèi)存數(shù)據(jù)集中導(dǎo)入用Patient內(nèi)存表的數(shù)據(jù)信息;另外在Form窗體上添加crystalReportViewer窗體,作用是在運(yùn)行時(shí),使From窗體上查詢的信息顯示在crystalReportViewer窗體上,形成報(bào)表的格式;此外在代碼上也有做修改,當(dāng)具體不知道病人的姓名時(shí)可采用模糊查詢,當(dāng)點(diǎn)擊顯示和預(yù)覽兩個(gè)按鈕時(shí)出現(xiàn)的界面,這些都是通過代碼實(shí)現(xiàn)的,具體代碼如下://預(yù)覽按鈕privatevoidtsBtn_Preview_Click(objectsender,EventArgse){//顯示crystalReportViewercrystalReportViewer1.Visible=true;//定義一個(gè)CrystalReport_Patient對(duì)象crCrystalReport_Patientcr=newCrystalReport_Patient();cr。SetDataSource(ds.Tables[”Patient"]);crystalReportViewer1.ReportSource=cr;}//顯示按鈕privatevoidtsBtn_Display_Click(objectsender,EventArgse){//不顯示crystalReportViewer控件crystalReportViewer1。Visible=false;}privatevoidForm_PatBb_Load(objectsender,EventArgse){cmd。CommandType=CommandType.Text;cmd。Connection=con;cmd.CommandTimeout=15;//不顯示crystalReportViewer控件crystalReportViewer1。Visible=false;}//寫一個(gè)私有的BindingPatient()方法privatevoidBindingPatient(){//打開連接con.Open();//使用Select語句從內(nèi)存數(shù)據(jù)集HISDataSet中的Patient數(shù)據(jù)表中選擇信息stringcmdStr="SelectPat_Id,Pat_Bed,Pat_BedFee,";cmdStr+="Pat_Name,Pat_Sex,Pat(yī)_Birth,Pat_Nation,Pat(yī)_NtvPl(wèi)c,Pat_Sympton";cmdStr+="fromPatient";//模糊查詢cmdStr+="Pat_Namelike’”+textBox1.Text+”%’";cmd。CommandText=cmdStr;da.SelectCommand=cmd;//關(guān)閉連接con。Close();da.Fill(ds,”Patient");//定義一個(gè)臨時(shí)保存數(shù)據(jù)的HYPERLINK"http://baike.baidu.com/view/10755.htm"網(wǎng)格虛擬表的對(duì)象table_PatientDataTabletable_Patient=newDataTable();table_Patient=ds.Tables[”Patient"];dataGridView1.DataSource=ds.Tables["Patient"];txt_Id。DataBindings。Clear();txt_Id.DataBindings.Add(”Text”,table_Patient,”Pat_Id");txt_Bed.DataBindings.Clear();txt_Bed。DataBindings.Add(”Text”,table_Patient,"Pat_Bed”);txt_BedFee.Dat(yī)aBindings.Clear();txt_BedFee.Dat(yī)aBindings。Add("Text",table_Patient,"Pat_BedFee”);txt_Name.Dat(yī)aBindings.Clear();txt_Name.DataBindings。Add("Text”,table_Pat(yī)ient,"Pat_Name");txt_Sex。Dat(yī)aBindings.Clear();txt_Sex.DataBindings。Add("Text",table_Patient,”Pat_Sex");txt_Birth.DataBindings.Clear();txt_Birth.DataBindings.Add("Text”,table_Patient,”Pat(yī)_Birth”);txt_Nation。DataBindings.Clear();txt_Nat(yī)ion.DataBindings.Add(”Text",table_Patient,”Pat_Nation”);txt_NtvPlc。DataBindings.Clear();txt_NtvPlc。DataBindings.Add(”Text",table_Patient,"Pat(yī)_NtvPl(wèi)c”);txt_Svmpton.DataBindings.Clear();txt_Svmpton.DataBindings。Add("Text”,table_Patient,"Pat_Sympton");}//查詢按鈕privatevoidBtn_Find_Click(objectsender,EventArgse){con。Open();//打開連接//使用Select語句從內(nèi)存數(shù)據(jù)集HISDataSet中的Patient數(shù)據(jù)表中選擇信息stringcmdStr="SelectPat_Id,Pat_Bed,Pat_BedFee,Pat_Name,Sex_Name,Pat(yī)_Birth,Nat(yī)ion_Name,NtvPlc_Name,Pat_Sympton";cmdStr+=”fromPatient”;cmdStr+="wherePat(yī)_Namelike'”+textBox1.Text+"%'”;cmd。CommandText=cmdStr;da.SelectCommand=cmd;con。Close();//關(guān)閉連接//再次查詢時(shí)原來顯示信息將被清除if(ds。Tables.Contains("Patient")){ds.Tables[”Pat(yī)ient"]。Clear();}//調(diào)用Fill方法將外存數(shù)據(jù)庫(kù)中的信息填充到內(nèi)存數(shù)據(jù)集中da。Fill(ds,"Patient”);//定義一個(gè)臨時(shí)保存數(shù)據(jù)的HYPERLINK”http://baike.baidu.com/view/10755。htm"\t"_blank”網(wǎng)格虛擬表的對(duì)象table_PatientDat(yī)aTabletable_Patient=newDat(yī)aTable();table_Pat(yī)ient=ds.Tables["Patient”];dataGridView1。DataSource=ds。Tables["Patient"];txt_Id.Dat(yī)aBindings.Clear();txt_Id。DataBindings.Add(”Text”,table_Patient,"Pat_Id");txt_Bed.DataBindings。Clear();txt_Bed.DataBindings.Add("Text",table_Patient,"Pat_Bed");txt_BedFee。DataBindings.Clear();txt_BedFee(cuò).DataBindings.Add("Text",table_Patient,"Pat_BedFee");txt_Name。DataBindings。Clear();txt_Name。Dat(yī)aBindings。Add(”Text",table_Patient,"Pat_Name");txt_Sex.Dat(yī)aBindings.Clear();txt_Sex.DataBindings.Add("Text",table_Pat(yī)ient,”Sex_Name");txt_Birth.Dat(yī)aBindings。Clear();txt_Birth。DataBindings.Add(”Text",table_Patient,”Pat(yī)_Birth”);txt_Nation。DataBindings.Clear();txt_Nation.DataBindings。Add("Text”,table_Patient,"Nation_Name");txt_NtvPlc.DataBindings.Clear();txt_NtvPl(wèi)c。DataBindings。Add("Text",table_Patient,"NtvPlc_Name”);txt_Svmpton.DataBindings.Clear();txt_Svmpton.Dat(yī)aBindings。Add(”Text",table_Patient,"Pat_Sympton");}7.病人編碼維護(hù)(主)圖7病人編碼維護(hù)病人編碼維護(hù)窗體是通過控件綁定實(shí)現(xiàn)起功能的;其功能有:保存病人的住院號(hào)、病人姓名、性別和出生日期等信息,還設(shè)有查詢病人信息功能;首先在Form窗體添加BindingSource窗體,重命名為BindingSource_Pat,將BindingSource的DataSource屬性與內(nèi)存數(shù)據(jù)集HISDataSet綁定、DataMember屬性與內(nèi)存數(shù)據(jù)表tblPatient綁定;其次因?yàn)門extBox綁定屬于簡(jiǎn)單數(shù)據(jù)綁定,所以只要將基本信息(GroupBox)中的TextBox控件的(DataBindings)--Text屬性分別與BindingSource_Pat(yī)對(duì)應(yīng)綁定即可,例子:【txtPat_Id(住院號(hào))的(Dat(yī)aBindings)—Text屬性與BindingSource_Pat-Pat_Id綁定】;此外將病人編碼維護(hù)的From窗體上的DataGridView控件的DataSource屬性與BindingSource_Pat進(jìn)行綁定、column屬性改為對(duì)應(yīng)的中文漢字;最后保存、退出和查詢是由代碼實(shí)現(xiàn)的,代碼如下://保存按鈕privatevoidtsBtn_Save_Click(objectsender,EventArgse){this.tblPatientTableAdapter.Update(this。hISDat(yī)aSet。tblPatient);}//退出按鈕privatevoidtsBtn_Exit__Click(objectsender,EventArgse){this。Close();}//查詢按鈕privatevoidBtn_Check_Click(objectsender,EventArgse){bindingSource_Pat.Filter=”Pat(yī)_namelike'"+txt_Pat。Text+”%'";}8。大類科編碼維護(hù)(主)圖8大類科編碼維護(hù)大類科編碼維護(hù)的實(shí)現(xiàn)功能也是通過編碼綁定實(shí)現(xiàn)的,同樣在大類科編碼維護(hù)Form窗體上添加BindingSource窗體name屬性改為BindingSource_Cat(yī)e、Dat(yī)aSource屬性與內(nèi)存數(shù)據(jù)集HISDataSet綁定和Dat(yī)aMember?qū)傩耘c內(nèi)存數(shù)據(jù)表tblCategory綁定;我還添加了bindingNavigator控件name屬性命名為bindingNavigator_Cate,目的是為了用戶一目了然,并且將其的BindingSource屬性與BindingSource_Cate綁定,這樣運(yùn)行時(shí)就直接點(diǎn)擊bindingNavigat(yī)or的關(guān)鍵幀就可以查看信息,方便;另外窗體上還添加listBox控件,其數(shù)據(jù)綁定是屬于復(fù)雜數(shù)據(jù)綁定,因此其DataSource屬性與BindingSource_Cate綁定、DisplayMember?qū)傩?/p>
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中教師期末個(gè)人工作總結(jié)
- 2024年-2025年海船船員考試-船舶人員管理考試題庫(kù)
- 供電所個(gè)人三年工作總結(jié)
- 聯(lián)營(yíng)合作協(xié)議合同
- 項(xiàng)目承包施工合同
- 醫(yī)學(xué)統(tǒng)計(jì)學(xué)-(C)-2023秋季學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- Monostearyl-maleate-Standard-生命科學(xué)試劑-MCE
- 職場(chǎng)英語(理工)-2024春學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 有限公司工程公司應(yīng)收賬款管理制度
- 安全隱患整改實(shí)施方案
- 中石油反恐培訓(xùn)課件
- 中國(guó)經(jīng)濟(jì)增長(zhǎng)現(xiàn)狀及未來前景分析報(bào)告
- 2024年國(guó)家電網(wǎng)招聘之通信類題庫(kù)附答案(輕巧奪冠)
- 國(guó)防共同條令教育與訓(xùn)練
- 校長(zhǎng)與分管安全責(zé)任書(通用17篇)
- 北師大版數(shù)學(xué)六年級(jí)上冊(cè)第一單元《圓》 大單元作業(yè)設(shè)計(jì)
- 2024初中數(shù)學(xué)課程標(biāo)準(zhǔn)測(cè)試題(含答案)精華版
- 影視短劇推廣方案策劃
- 幼兒園課件:手機(jī)本領(lǐng)大-大班-社會(huì)
- 藥-疹護(hù)理查房
- 2024屆高考語文復(fù)習(xí):小說敘述視角及其作用 課件
評(píng)論
0/150
提交評(píng)論