畢業(yè)論文--寢室管理系統(tǒng)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(jì)</p><p>  姓 名: XXXX </p><p>  班 級: 08級軟件技術(shù)(2)班 </p><p>  設(shè)計(jì)題目: 寢室管理系統(tǒng) </p><p>  指導(dǎo)教師: XXXX </p><

2、;p><b>  二○一○年十一月</b></p><p><b>  目錄</b></p><p><b>  目錄2</b></p><p><b>  引 言3</b></p><p><b>  摘 要4</b&

3、gt;</p><p>  第一章 需求分析5</p><p><b>  1.1功能需求5</b></p><p>  1.1.1 基本功能需求5</p><p>  1.1.2 用戶界面需求5</p><p><b>  1.2性能需求6</b></p&

4、gt;<p>  1.2.1系統(tǒng)安全性6</p><p>  第二章 宿舍管理系統(tǒng)詳細(xì)設(shè)計(jì)7</p><p>  2.1系統(tǒng)功能模塊圖7</p><p>  2.2數(shù)據(jù)庫設(shè)計(jì)8</p><p>  第三章 創(chuàng)建數(shù)據(jù)庫12</p><p>  3.1數(shù)據(jù)庫的創(chuàng)建:12</p>&l

5、t;p>  3.1.1數(shù)據(jù)庫的創(chuàng)建:12</p><p>  3.1.1 表的創(chuàng)建:13</p><p>  3.2數(shù)據(jù)庫關(guān)系圖14</p><p>  第四章 界面設(shè)計(jì)和代碼實(shí)現(xiàn)15</p><p>  4.1 登陸界面15</p><p>  4.2 主界面設(shè)計(jì)16</p><

6、;p>  4.3 主界面功能實(shí)現(xiàn)17</p><p>  4.3.1 管理員修改密碼17</p><p>  4.3.2 添加管理員19</p><p>  4.3.3 顯示管理員20</p><p>  第五章 軟件測試27</p><p><b>  結(jié) 論28</b>

7、</p><p><b>  致 謝29</b></p><p><b>  參考文獻(xiàn)30</b></p><p><b>  引 言</b></p><p>  寢室管理系統(tǒng)對于一個學(xué)校來說是必不可少的組成部分。目前好多學(xué)校還停留在寢室管理人員手工記錄數(shù)據(jù)的最初階

8、段,手工記錄對于規(guī)模小的學(xué)校來說還勉強(qiáng)可以接受,但對于學(xué)生信息量比較龐大,需要記錄存檔的數(shù)據(jù)比較多的高校來說,人工記錄是相當(dāng)麻煩的。而且當(dāng)查找某條記錄時,由于數(shù)據(jù)量龐大,還只能靠人工去一條條的查找,這樣不但麻煩還浪費(fèi)了許多時間,效率也比較低。當(dāng)今社會是飛速進(jìn)步的世界,原始的記錄方式已經(jīng)被社會所淘汰了,計(jì)算機(jī)化管理正是適應(yīng)時代的產(chǎn)物。信息世界永遠(yuǎn)不會是一個平靜的世界,當(dāng)一種技術(shù)不能滿足需求時,就會有新的技術(shù)誕生并取代舊技術(shù)。</p&

9、gt;<p>  21世紀(jì)的今天,信息社會占著主流地位,計(jì)算機(jī)在各行各業(yè)中的運(yùn)用已經(jīng)得到普及,自動化、信息化的管理越來越廣泛應(yīng)用于各個領(lǐng)域。我們針對如此,設(shè)計(jì)了一套學(xué)生寢室管理系統(tǒng)。學(xué)生寢室管理系統(tǒng)采用的是計(jì)算機(jī)化管理,系統(tǒng)做的盡量人性化,使用者會感到操作非常方便,管理人員需要做的就是將數(shù)據(jù)輸入到系統(tǒng)的數(shù)據(jù)庫中去。由于數(shù)據(jù)庫存儲容量相當(dāng)大,而且比較穩(wěn)定,適合較長時間的保存,也不容易丟失。這無疑是為信息存儲量比較大的學(xué)校提供

10、了一個方便、快捷的操作方式。本系統(tǒng)具有運(yùn)行速度快、安全性高、穩(wěn)定性好的優(yōu)點(diǎn),并且具備修改功能,能夠快速的查詢學(xué)校所需的住宿信息。</p><p><b>  摘 要</b></p><p>  高校學(xué)生宿舍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),我們使用微軟公司辦公軟件SQL Server 2005,是一個關(guān)系管理數(shù)據(jù)庫管理系統(tǒng),而且是一個面向?qū)ο蟮?、采用事件?qū)動

11、機(jī)制的新型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。使用SQL Server 2005時,用戶可以不需編寫任何代碼,僅通過簡單直觀的可視化操作,就可以創(chuàng)建數(shù)據(jù)庫和完成大部分?jǐn)?shù)據(jù)庫管理任務(wù),也可以編寫代碼實(shí)現(xiàn)建立數(shù)據(jù)庫和數(shù)據(jù)表及對數(shù)據(jù)庫的管理。舊的手工紀(jì)錄的宿舍管理方式已經(jīng)不能適應(yīng)高速發(fā)展的信息化時代,新的宿舍管理系統(tǒng)開發(fā)出來之后,學(xué)校的現(xiàn)有的宿舍信息管理將有很大的改觀,由過去的人工方式轉(zhuǎn)變?yōu)橛?jì)算機(jī)方式,由效率低、數(shù)據(jù)冗余、易產(chǎn)生錯誤轉(zhuǎn)變?yōu)闄z索迅速、查找方便、

12、可靠性高、存儲量大。這些優(yōu)點(diǎn)能夠極大地提高效率,也是學(xué)??茖W(xué)化、正規(guī)化管理的重要條件。</p><p>  論文關(guān)鍵詞: 宿舍管理系統(tǒng) 數(shù)據(jù)庫 (DBMS)</p><p><b>  第一章 需求分析</b></p><p>  目前,我們學(xué)校的宿舍管理采用的還是人工來進(jìn)行管理的, 面對目前學(xué)校發(fā)展的實(shí)際狀況,我們通過實(shí)地調(diào)研之后,對宿舍管

13、理系統(tǒng)的設(shè)計(jì)開發(fā)做了一個詳細(xì)的概述。</p><p><b>  1.1功能需求 </b></p><p>  1.1.1 基本功能需求 </p><p>  本系統(tǒng)主要要實(shí)現(xiàn)的是寢室管理系統(tǒng),在設(shè)計(jì)時要盡可能貼近寢室問題,方便用戶操作。具體基本功能如下:</p><p>  1.系統(tǒng)要求用戶必須輸入正確的用戶名和密碼才

14、能進(jìn)入系統(tǒng)。</p><p>  2.系統(tǒng)應(yīng)該提供添加用戶和用戶的修改,刪除和查詢功能。</p><p>  3.系統(tǒng)應(yīng)提供學(xué)生入住寢室的功能和查詢,修改和刪除功能。</p><p>  4.系統(tǒng)應(yīng)提供人員來訪登記及時間登記,條件查詢,刪除。</p><p>  5.系統(tǒng)應(yīng)提供寢室里學(xué)生夜不歸宿的登記,條件查詢,修改,刪除。</p>

15、;<p>  6.系統(tǒng)應(yīng)提供寢室衛(wèi)生登記,條件查詢,修改,刪除。</p><p>  7.系統(tǒng)應(yīng)提供寢室問題登記,查詢,刪除等。</p><p>  8.在添加用戶時應(yīng)提供是否存在此用戶,不存在則添加,否則不予添加。</p><p>  1.1.2 用戶界面需求 </p><p>  學(xué)生宿舍管理系統(tǒng)應(yīng)提供簡單、層次關(guān)系明了、清

16、晰的操作界面,使用戶一目了然。盡可能的為用戶的錄入、查詢等功能操作提供方便,盡可能減少用戶輸入。最好能讓用戶不用看系統(tǒng)說明就能很好的使用本系統(tǒng)。</p><p>  1.2性能需求   </p><p>  1.2.1系統(tǒng)安全性</p><p>  寢室管理系統(tǒng)中的增加用戶、學(xué)生學(xué)期注冊(交住宿費(fèi)方能注冊)、學(xué)生畢業(yè)離校等的某些模塊都是和學(xué)生住宿

17、費(fèi)相聯(lián)系在一起的,只有每年度的住宿費(fèi)用交納完畢才準(zhǔn)許該生離校,所以在系統(tǒng)的管理權(quán)限上應(yīng)當(dāng)進(jìn)行嚴(yán)格控制,具體思想如下:</p><p>  1.要想對該學(xué)生宿舍管理系統(tǒng)進(jìn)行操作就應(yīng)當(dāng)具有某些操作權(quán)限。沒有權(quán)限的用戶將不能通過任何渠道來登錄該系統(tǒng),查看該系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴(yán)密性和安全性。</p><p>  2.在添加管理員時要保證用戶名不能重復(fù),只有正確輸入用戶和密碼才能進(jìn)入

18、本系統(tǒng)。沒有管理員用戶和密碼的不能進(jìn)入本系統(tǒng)。</p><p>  3.在添加信息時要提示一些必須填寫的數(shù)據(jù)必須填,否則不予添加。</p><p>  4.退出系統(tǒng)應(yīng)該是安全退出,不出現(xiàn)任何意外。</p><p>  5.確保再對數(shù)據(jù)進(jìn)行操作時不會出息任何錯誤。</p><p>  第二章 宿舍管理系統(tǒng)詳細(xì)設(shè)計(jì) </p><

19、;p>  2.1系統(tǒng)功能模塊圖 </p><p>  圖2.1  系統(tǒng)功能模塊UML用例圖</p><p>  系統(tǒng)功能模塊中,主要有四大功能。管理員登陸,管理員管理,學(xué)生管理,寢室管理 。每個模塊都實(shí)現(xiàn)不同的功能,下面將分別介紹。</p><p>  管理員登陸:登陸后方進(jìn)行操作。只有正確的用戶名和密碼才能進(jìn)去。</p><p&

20、gt;  管理員管理:管理員的添加,修改,刪除,查看。</p><p>  學(xué)生管理:學(xué)生入住寢室,入住查詢,修改,刪除。</p><p>  寢室管理:寢室管理又分為四個主要模塊。分別是寢室衛(wèi)生管理,寢室夜不歸宿管理,寢室來訪人管理,寢室問題管管理。這些模塊的功能有:</p><p>  寢室衛(wèi)生管理:寢室衛(wèi)生查分的登記,寢室衛(wèi)生條件查詢,刪除和修改等。</

21、p><p>  寢室夜不歸宿管理:夜不歸宿學(xué)生登記,查詢,修改,刪除。</p><p>  寢室來訪人管理:來訪人的信息登記,查看,修改,刪除。</p><p>  寢室問題管理:問題登記,查詢,刪除。</p><p><b>  2.2數(shù)據(jù)庫設(shè)計(jì) </b></p><p>  數(shù)據(jù)庫中應(yīng)該有管理員表

22、,寢室表,寢室樓表,學(xué)生表,系表,專業(yè)表,學(xué)生入住寢室表,夜不歸宿表,寢室衛(wèi)生表,來訪人表,寢室問題登記表,寢室物品表。每個表的字段在下面將詳細(xì)介紹。</p><p>  管理員表(admin)</p><p><b>  宿舍樓表</b></p><p><b>  宿舍表</b></p><p>

23、;<b>  學(xué)生表</b></p><p><b>  寢室物品表</b></p><p><b>  寢室用電表</b></p><p><b>  寢室夜不歸宿表</b></p><p><b>  寢室問題登記表 </b>&l

24、t;/p><p><b>  6S表</b></p><p><b>  來訪人員表</b></p><p><b>  入住信息表</b></p><p><b>  系別表</b></p><p><b>  專業(yè)表<

25、;/b></p><p><b>  2.3邏輯設(shè)計(jì)</b></p><p>  打開本系統(tǒng)時首先要管理員登錄才能進(jìn)入,否則不予進(jìn)入。登錄成功后方可對學(xué)生和寢室管理,也可以修改自己的密碼。然后才對信息進(jìn)行操作。在管理員里有個超級管理員,其他的都是普通管理員,超級管理員可以對管理員進(jìn)行添加修改和刪除,其他的用戶只可以對自己的秘密進(jìn)行修,和添加管理員。每個數(shù)據(jù)表間有

26、關(guān)系。數(shù)據(jù)庫中管理員表是獨(dú)立存在的,寢室表,寢室樓表,學(xué)生入住寢室表,夜不歸宿表,寢室衛(wèi)生表,來訪人表,寢室問題登記表,寢室物品表都是圍繞寢室表,以寢室表中的寢室號為中心的。學(xué)生表和學(xué)生入住表有聯(lián)系,學(xué)生表還和專業(yè)表有聯(lián)系,專業(yè)表和系別表有關(guān)系。在查詢的時候提供條件查詢,讓用戶能很好的操作。為了以防數(shù)據(jù)庫出錯,大多數(shù)字段都是varchar類型的。</p><p><b>  第三章 創(chuàng)建數(shù)據(jù)庫</

27、b></p><p>  3.1數(shù)據(jù)庫的創(chuàng)建:</p><p>  創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表,我們采用SQL Server 2005 創(chuàng)建,使用代碼創(chuàng)建。</p><p>  3.1.1數(shù)據(jù)庫的創(chuàng)建:</p><p>  create database hostel</p><p>  on primary</p

28、><p><b>  (</b></p><p>  name=hostel,</p><p>  filename='E:\Study\畢業(yè)設(shè)計(jì)\hostel.mdf',</p><p><b>  size=10,</b></p><p>  maxsize=

29、50,</p><p>  filegrowth=10%</p><p><b>  )</b></p><p><b>  log on</b></p><p><b>  (</b></p><p>  name=hostel_log,</p&

30、gt;<p>  filename='E:\Study\畢業(yè)設(shè)計(jì)\hostel_log.ldf',</p><p><b>  size=10,</b></p><p>  maxsize=50,</p><p>  filegrowth=10%</p><p><b>  )&l

31、t;/b></p><p><b>  go</b></p><p>  use hostel</p><p><b>  go</b></p><p>  3.1.1 表的創(chuàng)建:</p><p>  1.管理員表

32、 </p><p>  create table [Admin](</p><p>  id int identity not null primary key,</p><p>  name varchar(20) not null,</p><p>  password varchar(20) not null&l

33、t;/p><p><b>  )</b></p><p><b>  2.寢室表</b></p><p>  create table [bedroom](</p><p>  bedroomID int not null primary key,</p><p>  floor

34、ID int not null,</p><p>  price money not null ,</p><p>  remark varchar(200)</p><p><b>  )</b></p><p><b>  3.學(xué)生表</b></p><p>  crea

35、te table[student](</p><p>  stuname varchar(50) not null,</p><p>  stuid varchar(50) not null primary key,</p><p>  birthday datetime,</p><p>  checkschuool datetime,&l

36、t;/p><p>  sex nchar(2) check(sex='男'or sex='女'),</p><p>  teleph varchar(50) null,</p><p>  department varchar(50) not null,</p><p>  specialty varchar(50

37、) not null,</p><p>  coach varchar(50) not null,</p><p>  remark varchar(200)</p><p><b>  )</b></p><p><b>  4.寢室夜不歸宿表</b></p><p>  

38、create table[night](</p><p>  floorID int not null ,</p><p>  bedroomID int not null ,</p><p>  stuname varchar(50) not null,</p><p>  date datetime,</p><p&g

39、t;  cause varchar(200),</p><p>  remark varchar(200)</p><p><b>  )</b></p><p><b>  3.2數(shù)據(jù)庫關(guān)系圖</b></p><p><b>  3.1數(shù)據(jù)庫關(guān)系圖</b></p>

40、<p>  第四章 界面設(shè)計(jì)和代碼實(shí)現(xiàn)</p><p><b>  4.1 登陸界面</b></p><p>  所有的窗體都是用Visual Studio 2005設(shè)計(jì)的,首先啟動Micorosoft Visual Studio 2005.在【文件】菜單中,選擇【新建】,單擊【項(xiàng)目】,新建C#應(yīng)用程序。再引入命名空間:using System.Dat

41、a.SqlClient;</p><p>  提示:每個窗體要進(jìn)行數(shù)據(jù)操作時都有引入命名空間:using System.Data.SqlClient ;下面將不再提示。每個連接數(shù)據(jù)庫字符串都是調(diào)用dbconnection里的strconn方法。</p><p><b>  窗體控件如下圖:</b></p><p><b>  4.1登

42、陸界面</b></p><p>  具體代碼如下: </p><p>  //登陸按鈕 </p><p>  string strname = tbxname.Text.Trim();</p><p>  string strpwd = tbxpwd.Text.Trim();</p>&

43、lt;p>  SqlConnection conn = new SqlConnection();</p><p>  conn.ConnectionString = dbconnection.strconn; </p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand

44、();</p><p>  cmd.Connection = conn;</p><p>  cmd.CommandText = "select * from Admin where name='" + strname + "' and password='" + strpwd + "'";<

45、/p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  if (dr.Read())</p><p><b>  {</b></p><p>  MessageBox.Show("登錄成功!歡迎登陸本系統(tǒng)!");</p><

46、p>  mainForm mf = new mainForm(strname, strpwd);</p><p>  mf.ShowDialog ();</p><p>  updatepassword upswd = new updatepassword(strname, strpwd);</p><p>  this.Close();

47、 </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("登錄失敗,請重新登錄!");</p><p&

48、gt;  this.tbxname.Clear();</p><p>  this.tbxpwd.Clear();</p><p><b>  }</b></p><p>  conn.Close(); </p><p><b>  4.2 主界面設(shè)計(jì)</b></p>&l

49、t;p>  成功登陸后進(jìn)入主界面,主界面如圖4.2所示:</p><p><b>  4.2主界面</b></p><p>  在制作主窗體菜單時,在主窗體里拖一個menuStrip控件,一個label控件。在menuStrip里面分別寫上管理員,學(xué)生,寢室;然后在管理員菜單里寫上“修改密碼”、“添加管理員”、“顯示所有管理員”等菜單項(xiàng),如圖4.3所示;在學(xué)生菜

50、單里添加學(xué)生入住,學(xué)生查詢選項(xiàng),如圖4.4所示,點(diǎn)擊學(xué)生查詢可以對學(xué)生查詢,點(diǎn)擊學(xué)生入住,可以對學(xué)生入住信息的添加;在寢室菜單里添加夜不歸宿,寢室查分,來訪人,寢室問題菜單項(xiàng),如圖4.5所示;分別在夜不歸宿,寢室查分,來訪人,寢室問題選項(xiàng)里添加登記,查詢菜單項(xiàng),可以對以上選項(xiàng)進(jìn)行添加和修改,如下圖4.6所示:</p><p>  4.3 主界面功能實(shí)現(xiàn)</p><p>  4.3.1 管理

51、員修改密碼</p><p>  首先是管理員修改密碼,在管理員登陸時候記錄管理員的名字和密碼,傳遞到主界窗體,傳遞代碼如下:</p><p>  mainForm mf = new mainForm(strname, strpwd);</p><p>  mf.ShowDialog (); </p><p>  this.Close();

52、 </p><p>  這些是登陸界面?zhèn)鬟f到主窗體。</p><p>  在主窗體必須把strname,strpwd定義成全局變量,代碼如下:</p><p>  string strname = null; </p><p>  string strpwd = null;</p><p>  在雙擊主窗體里的【修改

53、密碼】時,代碼如下:</p><p>  updatepassword upswd = new updatepassword(strname, strpwd);</p><p>  upswd.ShowDialog ();</p><p>  然后跳到修改密碼界面,如圖4.7:</p><p><b>  圖 4.7</b&g

54、t;</p><p>  這時,登陸的用戶名已經(jīng)傳遞過來了,然后在修改密碼界面,在修改密碼時,首先要輸入舊密碼,再輸入新密碼,然后進(jìn)行修改,如果舊密碼輸入有錯,不予修改。雙擊修改,添加代碼。由于其他代碼在上面都有,這里都不寫了,只寫一下主要代碼:SQL語句。</p><p><b>  【修改】按鈕代碼:</b></p><p>  cmd.C

55、ommandText = "select * from Admin where name='" + strname + "' and password='" + stropwd + "'";</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p

56、>  if (dr.Read())</p><p><b>  {</b></p><p>  cmd.CommandText = "update Admin set password='" + strnpwd + "'" + " where name='" + strname

57、+ "'";</p><p>  conn.Close();</p><p>  conn.Open();</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!");</p><p>  thi

58、s.Close();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("密碼修改失??!請重新修改。");</p>

59、<p>  this.tbxpwd.Clear();</p><p>  this.tbnewpwd.Clear();</p><p><b>  } </b></p><p>  在這里修改密碼的時候首先判斷你的用戶名和密碼是否正確,只有正確輸入以前的密碼才能進(jìn)行修改,否則不予修改,此舉為防止他人惡意修改你的密碼。</p&g

60、t;<p><b>  【取消】按鈕代碼:</b></p><p>  private void concel_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p>&

61、lt;b>  }</b></p><p>  4.3.2 添加管理員</p><p>  在雙擊主窗體中的添加管理員時,在添加時要判斷用戶名有沒有重復(fù),如果重復(fù)了,不予添加,提示重新添加。代碼如下:</p><p>  【添加管理員】按鈕,顯示添加界面</p><p>  private void addadminTSMI_

62、Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  addadmin addadmin1 = new addadmin();</p><p>  addadmin1.Show();</p><p><b>  }</b>&l

63、t;/p><p>  添加管理員的窗體如圖4.8:</p><p><b>  圖 4.8</b></p><p><b>  【添加】按鈕代碼:</b></p><p>  cmd.CommandText = "select * from Admin where name='&quo

64、t; + strname + "' ";</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  if (dr.Read())</p><p><b>  {</b></p><p>  MessageBox.Show("

65、;用戶名已存在,請換個名字!謝謝!");</p><p>  this.tbxname.Clear();</p><p>  this.tbxpwd.Clear();</p><p><b>  }</b></p><p><b>  else</b></p><p&g

66、t;<b>  {</b></p><p>  conn.Close();</p><p>  conn.Open();</p><p>  cmd.CommandText = "insert into Admin(name,password) values('" + strname + "',&#

67、39;" + strpwd + "')";</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("恭喜你添加成功!"); </p><p><b>  }</b></p><p>  4.3.3 顯

68、示管理員</p><p>  顯示管理員時,我選擇了在工具箱里拖一個datagridview 控件,然后點(diǎn)擊無(下拉箭頭),選擇添加項(xiàng)目數(shù)據(jù)源,如圖4.9:</p><p><b>  圖4.9</b></p><p>  然后彈出界面如圖4.10:</p><p><b>  圖 4.10</b>

69、;</p><p>  選擇下一步,彈出界面如圖4.11:</p><p><b>  圖4.11</b></p><p>  選擇新建連接,彈出界面如圖 4.12:</p><p><b>  圖 4.12</b></p><p>  在服務(wù)器名里輸入“.”,然后在”選擇或

70、輸入一個數(shù)據(jù)庫名”里選擇hostel數(shù)據(jù)庫。點(diǎn)擊測試連接。彈出連接成功后選擇確定,否則重新選擇。然后又回到【數(shù)據(jù)配置源向?qū)А拷缑妫缓筮x擇【下一步】,再選擇【下一步】,在界面中選擇要使用的Admin表的全部字段。如圖4.13:</p><p><b>  圖 4.13</b></p><p>  然后點(diǎn)擊【完成】即可。顯示管理員的窗體如圖4.14:</p>

71、<p><b>  圖 4.14</b></p><p>  在這里的返回和關(guān)閉的代碼是一樣的,關(guān)閉的代碼已經(jīng)在上面寫過了,就不重復(fù)寫了,【添加】按鈕和添加管理員是一樣的,也不寫在這里了。只有個刷新,【刷新】就是把顯示管理員密碼重新加載一下,所以代碼如下:</p><p>  this.adminTableAdapter.Fill(this.hostel

72、DataSet.Admin);</p><p>  在顯示管理員的窗體里添加一個contextSeunStrip控件,然后在contextSeunStrip控件里寫上修改和刪除,如圖4.15所示:</p><p><b>  圖 4.15</b></p><p>  雙擊刪除,進(jìn)行添加代碼,代碼如下:</p><p> 

73、 cmd.CommandText = "delete from Admin where id='" + id + "'";</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("記錄被刪除!", "", MessageBoxBut

74、tons.OK, MessageBoxIcon.Information);</p><p>  this.adminTableAdapter.Fill(this.hostelDataSet.Admin); </p><p>  【刪除】實(shí)現(xiàn)了,就該修改了。雙擊修改,在修改的時候要進(jìn)行窗體跳轉(zhuǎn),由當(dāng)前窗體跳到一個修改的窗體,中間必須傳值,從當(dāng)前窗體獲取管理員id傳到修改的窗體,顯示要修改

75、的信息。當(dāng)前窗體的【修改】代碼如下:</p><p>  int rowindex = dataGridView1.CurrentRow.Index;</p><p>  DataGridViewRow rowobj = dataGridView1.Rows[rowindex];</p><p>  string id = rowobj.Cells[0].Value

76、.ToString();</p><p>  string name =rowobj.Cells[1].Value.ToString(); </p><p>  string pwd = rowobj.Cells[2].Value.ToString();</p><p>  updateadmin updateadmin = new updateadmin(id,

77、name, pwd);</p><p>  傳遞值到要修改的窗體。</p><p>  updateadmin.Show(); </p><p>  修改管理員窗體如圖 4.16:</p><p><b>  圖 4.16</b></p><p>  此時把值都傳遞過來才可以修改,注意

78、序號不可用改,雙擊【修改】按鈕,添加代碼如下:</p><p>  cmd.CommandText = "update Admin set name='" + strname + "'" + ",password='" + strpwd + "'"+" where id='"

79、;+strid +"'";</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!");</p><p>  以上就是對管理員的所有操作,下面只對學(xué)生的操作進(jìn)行介紹,其他功能和學(xué)生的操作差不多,都是對數(shù)據(jù)的增,刪,改,查,就不一一介紹了。<

80、;/p><p>  學(xué)生的數(shù)據(jù)操作主要有增,刪,改,查功能,增加就是和添加管理員的代碼差不多,就不詳細(xì)介紹了。</p><p>  雙擊【學(xué)生查詢】,添加代碼如下:</p><p>  stuchecked stu = new stuchecked();</p><p>  stu.ShowDialog();</p><p&g

81、t;  跳轉(zhuǎn)到如圖4.17:</p><p><b>  圖 4.17</b></p><p>  在這個窗體中有Combobox控件,Textbox控件,三個Button控件,contextMeunStrip控件和一個DataGridView 控件。Combobox編輯里 有四個值,分別是學(xué)號,學(xué)生名,寢室號,樓號。contextMeunStrip 控件里有修改和刪

82、除兩個事件,和管理的修改和刪除代碼差不多,這里就不做介紹了。首先要在主窗體加入代碼,雙擊窗體進(jìn)行代碼添加,具體如下:</p><p>  dataGridView1.Columns.Add("dgvid", "學(xué)生號");</p><p>  dataGridView1.Columns.Add("dgvname", "姓

83、名");</p><p>  dataGridView1.Columns.Add("dgvfloor", "樓號");</p><p>  dataGridView1.Columns.Add("dgvroom", "寢室號");</p><p>  dataGridView1.

84、Columns.Add("dgvtime", "入住時間");</p><p>  dataGridView1.Columns.Add("dgvpay", "交費(fèi)");</p><p>  if (dataGridView1.Rows.Count > 0)</p><p><

85、b>  {</b></p><p>  dataGridView1.ContextMenuStrip = contextMenuStrip1;</p><p><b>  }</b></p><p>  雙擊查詢,進(jìn)行添加代碼,此查詢?yōu)闂l件查詢。具體代碼如下:</p><p><b>  【查

86、詢】按鈕代碼:</b></p><p>  string str = "";</p><p>  if (comboBox1.SelectedIndex == 0)</p><p>  str = "stuid='" + this.tbselect.Text.Trim() + "'&quo

87、t;;</p><p>  if (comboBox1.SelectedIndex == 1)</p><p>  str = "stuname='" + this.tbselect.Text.Trim() + "'";</p><p>  if (comboBox1.SelectedIndex == 2)&l

88、t;/p><p>  str = "bedroomID='" + this.tbselect.Text.Trim() + "'";</p><p>  if (comboBox1.SelectedIndex == 3)</p><p>  str = "floorID='" + this

89、.tbselect.Text.Trim() + "'";</p><p>  dataGridView1.Rows.Clear();</p><p>  SqlConnection conn = new SqlConnection();</p><p>  conn.ConnectionString = dbconnection.strc

90、onn;</p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand();</p><p>  cmd.Connection = conn;</p><p>  cmd.CommandText = "select stuid,stuname,floorID,bed

91、roomID,checktime,pay from checkin where ";</p><p>  cmd.CommandText = cmd.CommandText + str;</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  while (dr.Read())</p&g

92、t;<p><b>  {</b></p><p>  int i = this.dataGridView1.Rows.Add();</p><p>  this.dataGridView1.Rows[i].Cells[0].Value = dr.GetValue(0).ToString();</p><p>  this.dat

93、aGridView1.Rows[i].Cells[1].Value = dr.GetString(1);</p><p>  this.dataGridView1.Rows[i].Cells[2].Value = dr.GetValue(2).ToString();</p><p>  this.dataGridView1.Rows[i].Cells[3].Value = dr.GetVa

94、lue(3).ToString();</p><p>  this.dataGridView1.Rows[i].Cells[4].Value = dr.GetValue(4).ToString();</p><p>  this.dataGridView1.Rows[i].Cells[5].Value = dr.GetValue(5).ToString();</p><

95、p><b>  }</b></p><p>  以上的查詢可以根據(jù)學(xué)號,姓名,寢室號,樓號查詢,實(shí)現(xiàn)多功能查詢。方便用戶使用。學(xué)生入住和添加功能一樣,就不介紹了。下面就是【顯示全部】,雙擊【顯示全部】,進(jìn)行代碼添加,具體代碼如下:</p><p>  cmd.CommandText = "select stuid,stuname,floorID,bed

96、roomID,checktime,pay from checkin ";</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  while (dr.Read())</p><p><b>  {</b></p><p>  int i = thi

97、s.dataGridView1.Rows.Add();</p><p>  this.dataGridView1.Rows[i].Cells[0].Value = dr.GetValue(0).ToString();</p><p>  ………………………….}</p><p><b>  第五章 軟件測試</b></p>&l

98、t;p>  由于本系統(tǒng)都是本人自己做的,測試可以算是白盒測試。這里就全部采用白盒測試,也就是讓每個語句都執(zhí)行一次。首先就是登陸,在登錄時,輸入正確的用戶名和密碼進(jìn)行登陸,然后再輸入錯誤的密碼和用戶進(jìn)行登錄,看看錯誤的能不能登錄進(jìn)去。然后就是數(shù)據(jù)的操作,首先用正確的數(shù)據(jù)進(jìn)行操作,然后再用錯誤的數(shù)據(jù)進(jìn)行操作,看看有沒有什么異常,這樣反復(fù)測試多次。直到用任何數(shù)據(jù)操作都不會出現(xiàn)軟件異常為止。在進(jìn)行操作時遇到了像添加或修改管理員時密碼不小心

99、輸入錯誤而不能記住的問題,解決辦法就是在添加和修改管理員時,密碼必須重復(fù)輸入一次,判斷是否一致,如果不一致就不予操作。其次就是對數(shù)據(jù)的操作,如:對學(xué)生入住寢室的添加,查看,修改和刪除。先用合法的數(shù)據(jù)進(jìn)行學(xué)生入住,然后用非法的數(shù)據(jù)進(jìn)行學(xué)生入住,合法的數(shù)據(jù)可以添加,非法的則不可以,證明在學(xué)生入住是沒有錯誤的。還有就是看學(xué)生管理里的數(shù)據(jù)的修改,刪除和查詢,在修改數(shù)據(jù)的時候有沒有錯,結(jié)果是沒錯誤,刪除數(shù)據(jù)都可以成功刪除。查詢就是根據(jù)學(xué)生名,學(xué)號

100、,寢室號查詢,結(jié)果沒有發(fā)現(xiàn)什么明顯錯誤。</p><p>  其他的測試和上面差不多。就不一一介紹了。 </p><p><b>  結(jié) 論</b></p><p>  在我的設(shè)計(jì)中遇到了很多以前沒有遇到過的東西,可以說對我是很大的挑戰(zhàn),但是我通過努力,克服了不少難題,很多的問題都是要靠我們的教材來解決的,所以說課本還是要好好努力學(xué)的。從開

101、始設(shè)計(jì),到目前為止功能基本上都已經(jīng)實(shí)現(xiàn)了。我的設(shè)計(jì)程序中有管理員管理、寢室管理、學(xué)生管理、信息查詢、寢室衛(wèi)生信息管理、寢室問題管理、夜不歸宿管理的寢室管理系統(tǒng)。在設(shè)計(jì)過程中常常會遇到建立表與表之間關(guān)系時考慮的不完善而引起重復(fù)字段、索引約束等無法實(shí)現(xiàn)自己想要實(shí)現(xiàn)的設(shè)計(jì)在這樣的情況下,只有一個辦法,那就是不斷的修改,不斷的嘗試,但也不是所有的錯誤都可以更改的了。在我的設(shè)計(jì)程序中,還有很欠缺的地方,這也是我還要努力的方向。</p>

102、<p>  我的程序有以下特點(diǎn):</p><p>  (1)我使用微軟公司的SQL Server 2005數(shù)據(jù)庫管理系統(tǒng),而且是一個面向?qū)ο蟮?、采用事件?qū)動機(jī)制的新型關(guān)系數(shù)據(jù)庫管理系統(tǒng)通過簡單直觀的可視化操作,就可以創(chuàng)建數(shù)據(jù)庫和完成大部分?jǐn)?shù)據(jù)庫管理任務(wù)。</p><p>  (2)系統(tǒng)界面簡單易懂,方便操作,易于管理。</p><p> ?。?)系統(tǒng)的

103、某些設(shè)計(jì)的可擴(kuò)展性并不十分理想,在以后的修改過程中,我將會想方法對系統(tǒng)進(jìn)行完善,使系統(tǒng)的設(shè)計(jì)日益趨于更好的可擴(kuò)展性。</p><p><b>  致 謝</b></p><p>  本次畢業(yè)設(shè)計(jì)的時間是我學(xué)生生涯中最有價值的一段時光,讓我從中學(xué)到很多東西。這里有耐心輔導(dǎo)我的老師,也有努力幫助我的同學(xué),更有勤奮好學(xué)的學(xué)習(xí)氛圍。借此論文之際,我想向所有老師,同學(xué)表示我

104、的謝意。</p><p>  首先感謝XXX老師。本論文是在XXX老師精心指導(dǎo)下修改完成的。在此,要對他的細(xì)心幫助和指導(dǎo)表示由衷的感謝。在這段時間里,我從他的身上不僅學(xué)到了許多的專業(yè)知識,更感受到了X老師在工作中的兢兢業(yè)業(yè),生活中的平易近人。此外,他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和勤勞工作的精神很值得我去學(xué)習(xí)。</p><p>  非常感謝我的室友XXX,在我的畢業(yè)設(shè)計(jì)中,他的指導(dǎo)給予了我極大的幫助,使我

105、對整個畢業(yè)設(shè)計(jì)的思路有了總體的把握,并耐心的幫我解決了許多實(shí)際問題,使我有了很大收獲。</p><p>  還要感謝給與我?guī)椭钠渌瑢W(xué),他們在我的畢業(yè)設(shè)計(jì)過程中經(jīng)常給我提出許多關(guān)鍵性的問題,使我受益匪淺。 </p><p>  感謝三年來傳授我知識的老師們,更要感謝我的家人對我學(xué)業(yè)上的支持和鼓勵,感謝所有關(guān)心幫助過我的人。同時感謝滁州職業(yè)技術(shù)學(xué)院,感謝ATA軟件學(xué)院。</p>

106、<p>  總之,在以后的學(xué)習(xí)生活中我將以加倍的努力作為對給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報(bào)。謝謝大家!</p><p><b>  參考文獻(xiàn)</b></p><p>  1.2.《SQL Server 2005實(shí)例教程》2008 《ADO.NET數(shù)據(jù)庫訪問技術(shù)案例式教程》 2006柴晟</p><p><b>  

107、李立功</b></p><p>  3.《C# 2.0 程序設(shè)計(jì)教程》 2005 鄭宇軍</p><p>  畢業(yè)設(shè)計(jì)指導(dǎo)教師評價:</p><p><b>  年 月 日</b></p><p>  畢業(yè)設(shè)計(jì)指導(dǎo)系部評定:</p><p><b>  年 月

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論