2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  一、系統(tǒng)需求與功能分析 </p><p><b>  1.系統(tǒng)需求分析</b></p><p>  醫(yī)院信息化是醫(yī)院應(yīng)用信息技術(shù)及其產(chǎn)品的過程,是信息技術(shù)由局部到全局、由戰(zhàn)術(shù)層次到戰(zhàn)略層次向醫(yī)院的全面滲透,運(yùn)用于流程管理、支持醫(yī)院經(jīng)營管理的過程。信息化的實(shí)施從自上而下的角度說,必須與醫(yī)院的制度創(chuàng)新、組織創(chuàng)新和管理創(chuàng)新結(jié)合;從自上而下的角度說,必須

2、以作為醫(yī)院主體的業(yè)務(wù)人員直接受益及其使用水平的逐步提高為基礎(chǔ)。</p><p><b>  調(diào)查用戶需求:</b></p><p>  本系統(tǒng)的最終用戶為醫(yī)院,我們根據(jù)從醫(yī)院方面取得的圖表資料、文字資料以及其他細(xì)節(jié)方面的信息,根據(jù)我們?nèi)粘I钪械慕?jīng)驗(yàn),根據(jù)我們所做的其他詢問和調(diào)查,得出用戶的下列實(shí)際要求:</p><p><b>  

3、用戶對(duì)系統(tǒng)的要求:</b></p><p><b>  信息要求:</b></p><p>  由于系統(tǒng)的使用主體是醫(yī)院的管理人員,因此對(duì)系統(tǒng)的信息要求可分為以下方面:</p><p><b> ?。?)病人信息</b></p><p> ?、伲菏紫仁遣∪说幕拘畔ⅲ饕ú∪说男彰?,

4、性別,出生年月,年齡,家庭住址,聯(lián)系方式等;</p><p> ?、冢簩?duì)于住院病人,還需要入院時(shí)間,所在病區(qū),所在醫(yī)科,床位等。</p><p><b> ?。?)處理要求:</b></p><p>  系統(tǒng)應(yīng)當(dāng)完成以下的信息處理:</p><p> ?、伲捍鎯?chǔ)病人信息,供相應(yīng)的人員查詢;</p><

5、p> ?、冢簩?duì)病人信息進(jìn)行及時(shí)的更新和統(tǒng)計(jì);</p><p><b> ?。?)安全性要求:</b></p><p>  系統(tǒng)應(yīng)設(shè)置訪問用戶的標(biāo)識(shí)以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用。</p><p><b>  2. 功能分析</b></p><p>  (1

6、)信息錄入處理:住院病人信息錄入、住院病人治療費(fèi)用錄入、住院病人藥品費(fèi)用錄入。</p><p>  住院病人信息錄入就是將源數(shù)據(jù)庫中沒有的病人信息重新錄入進(jìn)去,并且可以錄入病人姓名。住院病人費(fèi)用錄入和住院病人藥品錄入功能相近,都是將 病人在住院期間的所花的費(fèi)用進(jìn)行錄入保存,方便以后進(jìn)行查詢。</p><p> ?。?)信息查詢處理:住院病人信息查詢和住院病人費(fèi)用查詢。</p&g

7、t;<p>  住院病人信息查詢和住院病人費(fèi)用查詢功能相似,從數(shù)據(jù)庫中將病人信息和費(fèi)用顯示到前臺(tái),讓病人及時(shí)了解自己的個(gè)人信息和消費(fèi)情況。</p><p>  (3)信息統(tǒng)計(jì)處理:住院病人總費(fèi)用統(tǒng)計(jì)</p><p>  按大類科、專科、病區(qū)及指定的病人進(jìn)行查詢統(tǒng)計(jì)</p><p> ?。?)信息打印處理:住院病人信息打印</p><

8、p>  住院病人信息報(bào)表打印用于顯示病人的住院號(hào)、床位號(hào)、床位費(fèi)、病人姓名、性別編碼出生日期、民族、籍貫和病癥等詳細(xì)信息。</p><p> ?。?)系統(tǒng)維護(hù)處理:病人信息維護(hù)、大類科編碼維護(hù)、??凭幋a維護(hù)、病區(qū)編碼維護(hù)、治療項(xiàng)目編碼維護(hù)、藥品編碼維護(hù)醫(yī)生編碼維護(hù)和用戶編碼維護(hù)。</p><p>  系統(tǒng)編碼維護(hù)時(shí)分別對(duì)病人信息、大類科、???、病區(qū)、治療項(xiàng)目、藥品信息、醫(yī)生信息和用戶

9、信息進(jìn)行錄入、查詢與修改等操作,數(shù)據(jù)編碼表維護(hù)是對(duì)各類數(shù)據(jù)編碼表中的記錄進(jìn)行錄入、查詢與修改等操作。</p><p><b>  3.系統(tǒng)功能菜單</b></p><p>  由此方案設(shè)計(jì)的系統(tǒng)功能菜單如下表所示。</p><p>  表 學(xué)生成績管理功能菜單</p><p><b>  二、數(shù)據(jù)庫設(shè)計(jì)<

10、/b></p><p>  設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)表結(jié)構(gòu)包含序號(hào)、數(shù)據(jù)項(xiàng)名、含義、數(shù)據(jù)項(xiàng)類型、長度、非空、索引、主鍵、外鍵、引用字段、數(shù)據(jù)來源等。</p><p>  1.大類科編碼表Category</p><p>  表1 大類科編碼表tblCategory</p><p>  2.??凭幋a表Spec</p>&

11、lt;p>  表2 ??凭幋a表tblSpec</p><p>  3.病區(qū)編碼表Ward</p><p>  表3 病區(qū)編碼表tblWard</p><p>  4.病人信息表Patient</p><p>  表4 病人信息表tblPatient</p><p>  5.性別編碼表Sex</p&g

12、t;<p>  表5 性別編碼表tblSex</p><p>  6.民族編碼表Nation</p><p>  表6 民族編碼表tblNation</p><p>  7.籍貫編碼表NtvPlc</p><p>  表7 籍貫編碼表tblNtvPlc</p><p>  8.治療項(xiàng)目編碼表Item

13、</p><p>  表8 治療項(xiàng)目編碼表tblItem</p><p>  9.病人治療項(xiàng)目費(fèi)用表MedItem</p><p>  表9 病人治療項(xiàng)目費(fèi)用表tblMedItem</p><p>  10.藥品編碼表Medicine</p><p>  表10 藥品編碼表tblMedicine</p

14、><p>  11.病人藥品費(fèi)用表MedFee</p><p>  表11 病人藥品費(fèi)用表tblMedFee</p><p>  12.醫(yī)生編碼表Doctor</p><p>  表12 醫(yī)生編碼表tblDoctor</p><p>  13.用戶表User</p><p>  表13 用戶

15、表tblUser</p><p><b>  三、程序設(shè)計(jì)</b></p><p><b>  1.系統(tǒng)登錄(主)</b></p><p>  圖1 用戶登錄界面</p><p>  在登錄界面的設(shè)計(jì)中,我采用的是有連接訪問數(shù)據(jù)庫,這樣數(shù)據(jù)并發(fā)性問題更容易控制,數(shù)據(jù)也是當(dāng)前的和及時(shí)更新的;此外還設(shè)

16、有用戶權(quán)限,權(quán)限不同登錄成功后呈現(xiàn)出的主界面也不同;并且使用DataReader組件來以只讀和僅轉(zhuǎn)發(fā)的方式從數(shù)據(jù)源檢索數(shù)據(jù);核心代碼如下:</p><p><b>  //有連接訪問</b></p><p>  static string str = "Data Source=ASUS-PC\\SQLEXPRESS;Initial Catalog=Hospi

17、tal;User Id=sa;Password=sa";</p><p>  SqlConnection con = new SqlConnection(str);</p><p>  private void btn_Login_Click(object sender, EventArgs e)</p><p><b>  {</b>

18、;</p><p>  string cmdStr = "Select * From tblLogin Where User_Name=@a and User_Pwd=@b";</p><p>  SqlCommand cmd = new SqlCommand(cmdStr, con);</p><p>  SqlParameter s1, s2

19、;</p><p>  s1 = cmd.Parameters.Add("@a", SqlDbType.VarChar, 20);</p><p>  s2 = cmd.Parameters.Add("@b", SqlDbType.VarChar, 20);</p><p>  s1.Value = txt_UserName.

20、Text;</p><p>  s2.Value = txt_UserPwd.Text;</p><p><b>  //打開連接</b></p><p>  con.Open();</p><p>  //定義SqlDataReader對(duì)象</p><p>  SqlDataReader dr

21、= cmd.ExecuteReader();</p><p>  //只讀的方式從數(shù)據(jù)源檢索數(shù)據(jù)</p><p>  if (dr.Read())</p><p><b>  {</b></p><p><b>  //用戶權(quán)限登錄</b></p><p>  Common.

22、User_Flag = dr["User_Flag"].ToString();</p><p><b>  //顯示主窗體</b></p><p>  Form_Main frm = new Form_Main();</p><p>  frm.Show();</p><p><b>  }

23、</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("用戶名或密碼錯(cuò)誤!");</p><p><b>  }</b></p><

24、p><b>  //關(guān)閉連接</b></p><p>  con.Close();</p><p><b>  }</b></p><p><b>  2.主界面(主)</b></p><p>  圖2 醫(yī)院住院信息管理系統(tǒng)</p><p>  

25、在主界面設(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í)間;此外涉及到用

26、戶權(quán)限問題,我在Form_Load事件中添加代碼,用戶權(quán)限不同登錄后訪問的主界面也不同。核心代碼如下:</p><p>  //單擊主界面上住院病人藥品費(fèi)用錄入時(shí),將顯示出住院病人藥品費(fèi)用錄入的Form子窗體</p><p>  private void tsmiMfInput_Click(object sender, EventArgs e)</p><p>&l

27、t;b>  {</b></p><p>  Form_MedFee frm = new Form_MedFee();</p><p>  frm.MdiParent = this;</p><p>  frm.Show();</p><p>  slbl_window.Text = " 當(dāng)前窗體:"

28、+ frm.Text;</p><p><b>  }</b></p><p><b>  //用戶權(quán)限設(shè)置</b></p><p>  private void Form_Main_Load(object sender, EventArgs e)</p><p><b>  {</

29、b></p><p>  //調(diào)用Common類的靜態(tài)變量User_Flag,當(dāng)用戶權(quán)限為0時(shí),系統(tǒng)維護(hù)界面失效,但可見</p><p>  if (Common.User_Flag == "0")</p><p><b>  {</b></p><p>  //系統(tǒng)維護(hù)界面失效</p&g

30、t;<p>  MenuMaintain.Enabled = false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //timer控件顯示時(shí)間</p><p>  private void timer1_Tick(object

31、 sender, EventArgs e)</p><p><b>  {</b></p><p>  slbl_time.Text = "日期:時(shí)間:" + Convert.ToString(DateTime.Now); </p><p><b>  }</b></p><p>

32、;  //單擊主界面上住院病人總費(fèi)用錄入時(shí),將顯示出住院病人總費(fèi)用錄入的Form子窗體</p><p>  private void 住院病人總費(fèi)用統(tǒng)計(jì)ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Form_FeeStat fr

33、m = new Form_FeeStat();</p><p>  frm.MdiParent = this;</p><p>  frm.Show();</p><p>  slbl_window.Text = " 當(dāng)前窗體:" + frm.Text;</p><p><b>  }</b>&l

34、t;/p><p>  //單擊主界面上批量復(fù)制時(shí),將顯示出批量復(fù)制的Form子窗體</p><p>  private void toolStripButton1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Form_Copy frm = n

35、ew Form_Copy();</p><p>  frm.MdiParent = this;</p><p>  frm.Show();</p><p>  slbl_window.Text = " 當(dāng)前窗體:" + frm.Text;</p><p><b>  } </b></p>

36、;<p>  //單擊主界面上住院病人信息打印時(shí),將顯示出住院病人信息打印的Form子窗體</p><p>  private void tsmiPatPint_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Form_PatBb frm = new

37、Form_PatBb();</p><p>  frm.MdiParent = this;</p><p>  frm.Show();</p><p>  slbl_window.Text = " 當(dāng)前窗體:" + frm.Text;</p><p><b>  }</b></p>

38、<p>  3.病人信息錄入(次)</p><p>  圖3 病人信息錄入</p><p>  病人信息用于對(duì)病人信息的錄入、查詢和顯示等操作,并且可以插入病人照片。主要代碼如下:</p><p>  while (myReader.Read())</p><p><b>  {</b></p>

39、<p>  file = new FileStream(savedImageName, FileMode.OpenOrCreate, FileAccess.Write);</p><p>  bw = new BinaryWriter(file);</p><p>  startIndex = 0;//讀取的起點(diǎn)位置</p><p>  retval =

40、 myReader.GetBytes(0, startIndex, outbyte, 0, bufferSize);//返回實(shí)際讀取的字節(jié)數(shù)</p><p>  //當(dāng)圖片大小大于或等于數(shù)組大小時(shí),需分塊寫入到文件中</p><p>  while (retval == bufferSize)</p><p><b>  {</b></p

41、><p>  bw.Write(outbyte);</p><p>  bw.Flush();</p><p>  startIndex += bufferSize;//重置讀取的起點(diǎn)位置</p><p>  retval = myReader.GetBytes(0, startIndex, outbyte, 0, bufferSize);<

42、;/p><p><b>  }</b></p><p>  bw.Write(outbyte, 0, (int)retval - 1);</p><p>  bw.Flush();</p><p>  bw.Close();</p><p>  file.Close();</p><

43、;p><b>  }</b></p><p>  4.住院病人信息查詢(次)</p><p>  圖4 住院病人信息查詢</p><p>  從數(shù)據(jù)庫中將病人信息和費(fèi)用顯示到前臺(tái),讓病人及時(shí)了解自己的個(gè)人信息。代碼:</p><p>  private void cbo_Cate_SelectedIndexCha

44、nged(object sender, EventArgs e)</p><p>  { //無連接訪問實(shí)現(xiàn)??票砗痛箢惪票淼慕壎?lt;/p><p>  string cmdStr = "Select * From tblSpec where Spec_Cate=@a";</p><p>  SqlCommand cmd = new SqlCom

45、mand(cmdStr, con);</p><p>  SqlParameter s1;</p><p>  s1 = cmd.Parameters.Add("@a", SqlDbType.VarChar, 2);</p><p>  s1.Value = cbo_Cate.SelectedValue.ToString();</p>

46、<p>  SqlDataAdapter dp = new SqlDataAdapter();</p><p>  dp.SelectCommand = cmd;</p><p>  DataSet ds = new DataSet();</p><p>  dp.Fill(ds, "Spec");</p><p

47、>  cbo_Spec.DataSource = ds.Tables["Spec"];</p><p>  if (ds.Tables["Spec"].Rows.Count == 0) </p><p><b>  {</b></p><p>  cbo_Spec.DisplayMember =

48、"";</p><p>  cbo_Spec.ValueMember = "";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><

49、p>  cbo_Spec.DisplayMember = "Spec_Name";</p><p>  cbo_Spec.ValueMember = "Spec_Id";</p><p><b>  } </b></p><p><b>  }</b></p&

50、gt;<p>  5.住院病人總費(fèi)用統(tǒng)計(jì)(次)</p><p>  圖5 住院病人總費(fèi)用統(tǒng)計(jì)</p><p>  住院病人總費(fèi)用統(tǒng)計(jì)時(shí)用于統(tǒng)計(jì)病人住院治療等項(xiàng)目的總費(fèi)用,及其消費(fèi)藥品名稱、數(shù)量、金額、使用時(shí)間等,都會(huì)相信的顯示出來,一目了然。主要代碼如下:</p><p>  while (rd_Cate.Read())</p><

51、;p><b>  {</b></p><p><b>  //定義樹結(jié)點(diǎn)</b></p><p>  TreeNode node_Cate = new TreeNode(rd_Cate.GetValue(0).ToString());</p><p>  if (rd_Cate.GetValue(1).ToStrin

52、g() != string.Empty)</p><p><b>  {</b></p><p>  string strSpec = "select Spec_Name,Spec_Id from tblSpec where Spec_Cate='";</p><p>  strSpec += rd_Cate.Ge

53、tValue(1).ToString();</p><p>  strSpec += "'";</p><p>  SqlCommand cmd_Spec = new SqlCommand(strSpec, con);</p><p>  SqlDataReader rd_Spec = cmd_Spec.ExecuteReader();&

54、lt;/p><p>  while (rd_Spec.Read())</p><p><b>  {</b></p><p>  TreeNode node_Spec = new TreeNode(rd_Spec.GetValue(0).ToString());</p><p>  if (rd_Spec.GetValue(

55、1).ToString() != string.Empty)</p><p><b>  {</b></p><p>  string strWard = "select Ward_Name,Ward_Id from tblWard whereWard_Spec='";</p><p>  strWard += rd

56、_Spec.GetValue(1).ToString();</p><p>  strWard += "'";</p><p>  SqlCommand cmd_Ward = new SqlCommand(strWard, con);</p><p>  SqlDataReader rd_Ward = cmd_Ward.ExecuteRe

57、ader();</p><p>  while (rd_Ward.Read())</p><p><b>  {</b></p><p>  TreeNode node_Ward = new TreeNode(rd_Ward.GetValue(0).ToString());</p><p>  if (rd_Ward.G

58、etValue(1).ToString() != string.Empty)</p><p><b>  {</b></p><p>  string strPat = "select Pat_Name from tblPatient where Pat_Ward='";</p><p>  strPat += r

59、d_Ward.GetValue(1).ToString();</p><p>  strPat += "'";</p><p>  SqlCommand cmd_Pat = new SqlCommand(strPat, con);</p><p>  SqlDataReader rd_Pat = cmd_Pat.ExecuteReader

60、();</p><p>  while (rd_Pat.Read())</p><p><b>  {</b></p><p>  TreeNode node_Pat =new TreeNode(rd_Pat.GetValue(0).ToString());</p><p>  node_Ward.Nodes.Add(n

61、ode_Pat);</p><p><b>  }</b></p><p>  rd_Pat.Close();</p><p><b>  }</b></p><p>  node_Spec.Nodes.Add(node_Ward);</p><p><b>  }

62、</b></p><p>  rd_Ward.Close();</p><p><b>  }</b></p><p>  node_Cate.Nodes.Add(node_Spec);</p><p><b>  }</b></p><p>  rd_Spec.

63、Close();</p><p><b>  }</b></p><p>  treeView_Patient.Nodes.Add(node_Cate);</p><p><b>  }</b></p><p>  6.住院病人報(bào)表打?。ㄖ鳎?lt;/p><p>  圖6 病人

64、信息報(bào)表打印</p><p>  病人信息報(bào)表打印是我們組的重頭戲,在HISDataSet內(nèi)存數(shù)據(jù)集中添加一個(gè)內(nèi)存表,相比其他內(nèi)存數(shù)據(jù)表,這個(gè)內(nèi)存數(shù)據(jù)表不是建立連接從外存數(shù)據(jù)庫中拉入的,而是我用Select語句編寫的即Patient;在解決方案資源管理器中新建Crystal報(bào)表并且從HISDataSet內(nèi)存數(shù)據(jù)集中導(dǎo)入用Patient內(nèi)存表的數(shù)據(jù)信息;另外在Form窗體上添加crystalReportViewer

65、窗體,作用是在運(yùn)行時(shí),使From窗體上查詢的信息顯示在crystalReportViewer窗體上,形成報(bào)表的格式;此外在代碼上也有做修改,當(dāng)具體不知道病人的姓名時(shí)可采用模糊查詢,當(dāng)點(diǎn)擊顯示和預(yù)覽兩個(gè)按鈕時(shí)出現(xiàn)的界面,這些都是通過代碼實(shí)現(xiàn)的,具體代碼如下:</p><p><b>  //預(yù)覽按鈕</b></p><p>  private void tsBtn_Pr

66、eview_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //顯示crystalReportViewer</p><p>  crystalReportViewer1.Visible = true;</p><p>  //定義一個(gè)Crys

67、talReport_Patient對(duì)象cr</p><p>  CrystalReport_Patient cr = new CrystalReport_Patient();</p><p>  cr.SetDataSource(ds.Tables["Patient"]);</p><p>  crystalReportViewer1.Repor

68、tSource = cr;</p><p><b>  }</b></p><p><b>  //顯示按鈕</b></p><p>  private void tsBtn_Display_Click(object sender, EventArgs e)</p><p><b>  {

69、</b></p><p>  //不顯示crystalReportViewer控件</p><p>  crystalReportViewer1.Visible = false;</p><p><b>  }</b></p><p>  private void Form_PatBb_Load(object

70、 sender, EventArgs e)</p><p><b>  {</b></p><p>  cmd.CommandType = CommandType.Text;</p><p>  cmd.Connection = con;</p><p>  cmd.CommandTimeout = 15;</p&

71、gt;<p>  //不顯示crystalReportViewer控件</p><p>  crystalReportViewer1.Visible = false; </p><p><b>  }</b></p><p>  //寫一個(gè)私有的BindingPatient()方法</p><p>  

72、private void BindingPatient()</p><p><b>  {</b></p><p><b>  //打開連接</b></p><p>  con.Open();</p><p>  //使用Select語句從內(nèi)存數(shù)據(jù)集HISDataSet中的Patient數(shù)據(jù)表中選擇

73、信息</p><p>  string cmdStr = "Select Pat_Id,Pat_Bed,Pat_BedFee, ";</p><p>  cmdStr += " Pat_Name,Pat_Sex,Pat_Birth,Pat_Nation,Pat_NtvPlc,Pat_Sympton ";</p><p>  c

74、mdStr += " from Patient ";</p><p><b>  //模糊查詢</b></p><p>  cmdStr += " Pat_Name like '" + textBox1.Text + "%'";</p><p>  cmd

75、.CommandText = cmdStr;</p><p>  da.SelectCommand = cmd;</p><p><b>  //關(guān)閉連接</b></p><p>  con.Close();</p><p>  da.Fill(ds, "Patient");</p>&

76、lt;p>  //定義一個(gè)臨時(shí)保存數(shù)據(jù)的網(wǎng)格虛擬表的對(duì)象table_Patient</p><p>  DataTable table_Patient = new DataTable();</p><p>  table_Patient = ds.Tables["Patient"];</p><p>  dataGridView1.Data

77、Source = ds.Tables["Patient"];</p><p>  txt_Id.DataBindings.Clear();</p><p>  txt_Id.DataBindings.Add("Text", table_Patient, "Pat_Id");</p><p>  txt_Be

78、d.DataBindings.Clear();</p><p>  txt_Bed.DataBindings.Add("Text", table_Patient, "Pat_Bed");</p><p>  txt_BedFee.DataBindings.Clear();</p><p>  txt_BedFee.DataBi

79、ndings.Add("Text", table_Patient, "Pat_BedFee");</p><p>  txt_Name.DataBindings.Clear();</p><p>  txt_Name.DataBindings.Add("Text", table_Patient, "Pat_Name&qu

80、ot;);</p><p>  txt_Sex.DataBindings.Clear();</p><p>  txt_Sex.DataBindings.Add("Text", table_Patient, "Pat_Sex");</p><p>  txt_Birth.DataBindings.Clear();</p&

81、gt;<p>  txt_Birth.DataBindings.Add("Text", table_Patient, "Pat_Birth");</p><p>  txt_Nation.DataBindings.Clear();</p><p>  txt_Nation.DataBindings.Add("Text"

82、;, table_Patient, "Pat_Nation");</p><p>  txt_NtvPlc.DataBindings.Clear();</p><p>  txt_NtvPlc.DataBindings.Add("Text", table_Patient, "Pat_NtvPlc");</p><

83、;p>  txt_Svmpton.DataBindings.Clear();</p><p>  txt_Svmpton.DataBindings.Add("Text", table_Patient, "Pat_Sympton");</p><p><b>  }</b></p><p><b

84、>  //查詢按鈕</b></p><p>  private void Btn_Find_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  con.Open();//打開連接</p><p>  //使用Select語句從內(nèi)

85、存數(shù)據(jù)集HISDataSet中的Patient數(shù)據(jù)表中選擇信息</p><p>  string cmdStr = "Select Pat_Id,Pat_Bed,Pat_BedFee,Pat_Name,Sex_Name,Pat_Birth,Nation_Name,NtvPlc_Name,Pat_Sympton ";</p><p>  cmdStr += "

86、from Patient ";</p><p>  cmdStr += " where Pat_Name like '" + textBox1.Text + "%'";</p><p>  cmd.CommandText = cmdStr;</p><p>  da.SelectCommand =

87、 cmd;</p><p>  con.Close();//關(guān)閉連接</p><p>  //再次查詢時(shí)原來顯示信息將被清除</p><p>  if (ds.Tables.Contains("Patient"))</p><p><b>  {</b></p><p>  d

88、s.Tables["Patient"].Clear();</p><p><b>  }</b></p><p>  //調(diào)用Fill方法將外存數(shù)據(jù)庫中的信息填充到內(nèi)存數(shù)據(jù)集中</p><p>  da.Fill(ds, "Patient");</p><p>  //定義一個(gè)臨時(shí)

89、保存數(shù)據(jù)的網(wǎng)格虛擬表的對(duì)象table_Patient</p><p>  DataTable table_Patient = new DataTable();</p><p>  table_Patient = ds.Tables["Patient"];</p><p>  dataGridView1.DataSource = ds.Tables

90、["Patient"];</p><p>  txt_Id.DataBindings.Clear();</p><p>  txt_Id.DataBindings.Add("Text", table_Patient, "Pat_Id");</p><p>  txt_Bed.DataBindings.Cle

91、ar();</p><p>  txt_Bed.DataBindings.Add("Text", table_Patient, "Pat_Bed");</p><p>  txt_BedFee.DataBindings.Clear();</p><p>  txt_BedFee.DataBindings.Add("T

92、ext", table_Patient, "Pat_BedFee");</p><p>  txt_Name.DataBindings.Clear();</p><p>  txt_Name.DataBindings.Add("Text", table_Patient, "Pat_Name");</p>&

93、lt;p>  txt_Sex.DataBindings.Clear();</p><p>  txt_Sex.DataBindings.Add("Text", table_Patient, "Sex_Name");</p><p>  txt_Birth.DataBindings.Clear();</p><p>  t

94、xt_Birth.DataBindings.Add("Text", table_Patient, "Pat_Birth");</p><p>  txt_Nation.DataBindings.Clear();</p><p>  txt_Nation.DataBindings.Add("Text", table_Patient,

95、 "Nation_Name");</p><p>  txt_NtvPlc.DataBindings.Clear();</p><p>  txt_NtvPlc.DataBindings.Add("Text", table_Patient, "NtvPlc_Name");</p><p>  txt_Svm

96、pton.DataBindings.Clear();</p><p>  txt_Svmpton.DataBindings.Add("Text", table_Patient, "Pat_Sympton");</p><p><b>  }</b></p><p>  7.病人編碼維護(hù)(主)</p&

97、gt;<p>  圖7 病人編碼維護(hù)</p><p>  病人編碼維護(hù)窗體是通過控件綁定實(shí)現(xiàn)起功能的;其功能有:保存病人的住院號(hào)、病人姓名、性別和出生日期等信息,還設(shè)有查詢病人信息功能;首先在Form窗體添加BindingSource窗體,重命名為BindingSource_Pat,將BindingSource的DataSource屬性與內(nèi)存數(shù)據(jù)集HISDataSet綁定、DataMember屬性

98、與內(nèi)存數(shù)據(jù)表tblPatient綁定;其次因?yàn)門extBox綁定屬于簡單數(shù)據(jù)綁定,所以只要將基本信息(GroupBox)中的TextBox控件的(DataBindings)--Text屬性分別與BindingSource_Pat對(duì)應(yīng)綁定即可,例子:【txtPat_Id(住院號(hào))的(DataBindings)-Text屬性與BindingSource_Pat-Pat_Id綁定】;此外將病人編碼維護(hù)的From窗體上的DataGridView

99、控件的DataSource屬性與BindingSource_Pat進(jìn)行綁定、column屬性改為對(duì)應(yīng)的中文漢字;最后保存、退出和查詢是由代碼實(shí)現(xiàn)的,代碼如下:</p><p><b>  //保存按鈕</b></p><p>  private void tsBtn_Save_Click(object sender, EventArgs e)</p>&

100、lt;p><b>  {</b></p><p>  this.tblPatientTableAdapter.Update(this.hISDataSet.tblPatient);</p><p><b>  }</b></p><p><b>  //退出按鈕</b></p>&

101、lt;p>  private void tsBtn_Exit__Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>

102、  //查詢按鈕</b></p><p>  private void Btn_Check_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  bindingSource_Pat.Filter = "Pat_name like '"

103、; + txt_Pat.Text + "%'";</p><p><b>  }</b></p><p>  8.大類科編碼維護(hù)(主)</p><p>  圖8 大類科編碼維護(hù)</p><p>  大類科編碼維護(hù)的實(shí)現(xiàn)功能也是通過編碼綁定實(shí)現(xiàn)的,同樣在大類科編碼維護(hù)Form窗體上添加Bind

104、ingSource窗體name屬性改為BindingSource_Cate、DataSource屬性與內(nèi)存數(shù)據(jù)集HISDataSet綁定和DataMember屬性與內(nèi)存數(shù)據(jù)表tblCategory綁定;我還添加了bindingNavigator控件name屬性命名為bindingNavigator_Cate,目的是為了用戶一目了然,并且將其的BindingSource屬性與BindingSource_Cate綁定,這樣運(yùn)行時(shí)就直接點(diǎn)擊&

105、lt;/p><p>  bindingNavigator的關(guān)鍵幀就可以查看信息,方便;另外窗體上還添加listBox控件,其數(shù)據(jù)綁定是屬于復(fù)雜數(shù)據(jù)綁定,因此其DataSource屬性與BindingSource_Cate綁定、DisplayMember屬性與Cate_Name綁定和ValueMember屬性與Cate_Id綁定;此外其他控件都屬于簡單數(shù)據(jù)綁定;最后,退出和保存是代碼實(shí)現(xiàn),代碼如下:</p>

106、<p><b>  //退出按鈕</b></p><p>  private void tsBtn_Exit_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p>&l

107、t;b>  }</b></p><p><b>  //保存按鈕</b></p><p>  private void tsBtn_Save_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.t

108、blCategoryTableAdapter.Update(this.hISDataSet.tblCategory);</p><p><b>  }</b></p><p><b>  9.批量復(fù)制(次)</b></p><p><b>  圖9 批量復(fù)制</b></p><p

109、>  用于對(duì)數(shù)據(jù)庫中數(shù)據(jù)表的備份,防止數(shù)據(jù)庫出現(xiàn)意外,導(dǎo)致源數(shù)據(jù)信息丟失,主要代碼如下:</p><p>  private void Btn_Copy_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //連接到源服務(wù)器獲取要復(fù)制的數(shù)據(jù)</p>

110、<p>  con1.Open();</p><p>  SqlCommand cmd = new SqlCommand("select * from tblPatient_Bk", con1);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  //連接到目標(biāo)服務(wù)器

111、</p><p>  con2.Open();</p><p>  //創(chuàng)建SqlBulkCopy對(duì)象</p><p>  SqlBulkCopy bulkcopy = new SqlBulkCopy(con2);</p><p>  //設(shè)置SqlBulkCopy對(duì)象的目標(biāo)表屬性</p><p>  bulkcopy

112、.DestinationTableName = "tblPatient";</p><p>  //調(diào)用方法,實(shí)現(xiàn)復(fù)制</p><p>  bulkcopy.WriteToServer(dr);</p><p>  dr.Close();</p><p>  con2.Close();</p><p&g

113、t;  con1.Close();</p><p>  MessageBox.Show("數(shù)據(jù)批量復(fù)制完成!");</p><p><b>  }</b></p><p><b>  四、系統(tǒng)使用說明書</b></p><p>  要想了解如何使用醫(yī)院系統(tǒng)維護(hù),首先需要知道我們醫(yī)

114、院信息管理系統(tǒng)的主要功能和次要功能,分清楚主次點(diǎn),逐個(gè)進(jìn)行熟悉。</p><p>  1.登錄界面:用戶輸入用戶名和密碼——點(diǎn)擊登錄,在密碼和用戶名正確的情況下可以進(jìn)入我們的主界面,當(dāng)然由于用戶權(quán)限的問題,登錄成功后出現(xiàn)的主界面也不不同,主要功能也在主界面。</p><p>  2.主界面:在主界面上面有兩排工具欄,用戶可以根據(jù)自己的需求點(diǎn)擊工具欄上面的菜單,以解決自己的問題和自己需要了解

115、的情況,熟悉我們項(xiàng)目的功能。</p><p> ?、?信息錄入:信息錄入包括3個(gè)子程序,分別是住院病人信息錄入、住院病人治療費(fèi)用錄入和住院病人藥品費(fèi)用錄入。</p><p>  · 病人信息錄入,瀏覽圖片——顯示圖片——輸入病人信息——保存——顯示——退出;</p><p>  · 住院病人治療費(fèi)用錄入,按要求輸如信息——保存——顯示——退出;&

116、lt;/p><p>  · 住院病人藥品費(fèi)用錄入,信息錄入——保存——顯示——退出。</p><p> ?、?信息查詢:信息查詢包括2個(gè)子程序,分別是住院病人信息查詢和住院病人費(fèi)用查詢。</p><p>  · 住院病人信息查詢,選擇大類科——選擇??啤x擇病區(qū)——查詢——查看顯示信息——退出;</p><p>  

117、3; 住院病人費(fèi)用查詢,選擇病人——查詢——查看治療費(fèi)用——點(diǎn)擊藥品費(fèi)用——查看藥品費(fèi)用——切換病人姓名重復(fù)上面操作——退出。</p><p>  ③.信息統(tǒng)計(jì):住院病人總費(fèi)用統(tǒng)計(jì),選擇大類科——選擇??啤x擇病區(qū)——選擇病人——點(diǎn)擊統(tǒng)計(jì)按鈕——窗體下面查看費(fèi)用信息——切換病人姓名重復(fù)操作——退出。</p><p> ?、?信息打?。翰∪诵畔?bào)表打印,輸入病人姓名——點(diǎn)擊查詢——點(diǎn)擊預(yù)覽

118、——點(diǎn)擊打印——點(diǎn)擊顯示——查看信息——退出。</p><p> ?、?系統(tǒng)維護(hù):病人編碼維護(hù)、病區(qū)編碼維護(hù)和醫(yī)生編碼維護(hù),輸入病人信息——點(diǎn)擊查詢——查看信息;在顯示信息欄添加病人信息——保存——退出;</p><p>  · 大類科編碼維護(hù)、??凭幋a維護(hù)、治療項(xiàng)目編碼維護(hù)和藥品編碼維護(hù),點(diǎn)擊淺藍(lán)色箭頭——顯示大類科信息——點(diǎn)擊黃色加號(hào)——輸入大類科信息——保存——查看——退出

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論