版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計論文</b></p><p> 賓館管理系統(tǒng)的設(shè)計與實現(xiàn)(論文)</p><p><b> 摘 要</b></p><p> 賓館管理信息系統(tǒng)面對強(qiáng)大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于賓館提高工作效率和賓館效益。面對龐大的信息量,賓館在正常運營中需要對客房
2、資源、顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。采用VisualC++6.0程序來編寫,一個系統(tǒng)的開發(fā)建立數(shù)據(jù)庫是至關(guān)重要的。本課題數(shù)據(jù)庫采用的是SQL Server2000,通過建立數(shù)據(jù)源,VC++與后臺的數(shù)據(jù)庫連接來運行。</p><p> 論文主要介紹了本課題
3、的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設(shè)計的重點。</p><p> 關(guān)鍵詞:數(shù)據(jù)庫,Visual C++6.0,SQL Server2000,賓館管理信息系統(tǒng)</p><p><b> Abtract</b></p><p> The management information system of the hotel
4、 faces the strong amount of information, the management that can be light. Reduce the material resources and manpower in managing, help the hotel to improve working efficiency and hotel benefit. Adopt VC++6. 0 procedures
5、 come to write, it is essential to set up the database in development of a system, subject this SQL Server2000, through set up data source, VC++database in backstage supporter is it is it run to come to join</p>&
6、lt;p> Thesis this introduce copies of development background of subject mainly, course that function develop even that finish wanted. Prove the focal point that the system is designed especially.</p><p>
7、 Keyword: The database , Visual C++ 6. 0, SQL server 2000, the management information system of</p><p><b> 目錄</b></p><p><b> 第一章 引言6</b></p><p> 1.1 編寫
8、目的6</p><p><b> 1.2 背景6</b></p><p> 1.2.1 系統(tǒng)名稱7</p><p> 1.2.2指導(dǎo)老師,開發(fā)者7</p><p> 第二章 任務(wù)概述7</p><p> 2.1設(shè)計的原則7</p><p> 2.2
9、 用戶和軟件的特點7</p><p> 第三章 系統(tǒng)功能分析8</p><p> 3.1 系統(tǒng)功能分析8</p><p> 3.2系統(tǒng)功能模塊設(shè)計8</p><p> 第四章 數(shù)據(jù)庫設(shè)計10</p><p> 4.1數(shù)據(jù)庫需求分析10</p><p> 4.2數(shù)據(jù)庫概念
10、結(jié)構(gòu)設(shè)計11</p><p> 4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計13</p><p> 第五章 賓館管理信息系統(tǒng)主窗體的創(chuàng)建14</p><p> 5.1 創(chuàng)建工程項目14</p><p> 5.2 創(chuàng)建主窗體的菜單17</p><p> 5.3 創(chuàng)建公用模塊18</p><p
11、> 第六章 系統(tǒng)各個管理模塊的創(chuàng)建與實現(xiàn)19</p><p> 6.1 用戶管理模塊的19</p><p> 6.1.1用戶登錄框的設(shè)計19</p><p> 6.1.2添加用戶窗口設(shè)計21</p><p> 6.1.3修改用戶密碼窗口設(shè)計22</p><p> 6.2 客房標(biāo)準(zhǔn)管理模塊
12、的創(chuàng)建22</p><p> 6.2.1添加客房標(biāo)準(zhǔn)對話框的創(chuàng)建23</p><p> 6.2.2修改客房標(biāo)準(zhǔn)窗體的創(chuàng)建24</p><p> 6.2.3刪除客房標(biāo)準(zhǔn)25</p><p> 6.3客房信息管理模塊的創(chuàng)建26</p><p> 6.3.1添加客房信息對話框的創(chuàng)建26</p>
13、;<p> 6.3.2修改客房信息27</p><p> 6.3.3查詢客房信息28</p><p> 6.4訂房信息管理模塊的創(chuàng)建29</p><p> 6.4.1查詢剩余客房信息對話框的創(chuàng)建29</p><p> 6.4.2修改訂房信息30</p><p> 6.4.3修改訂房信
14、息31</p><p> 6.4.4 查詢訂房信息32</p><p> 6.5結(jié)算信息管理模塊的創(chuàng)建32</p><p> 6.5.1添加結(jié)算信息對話框的創(chuàng)建32</p><p> 6.5.2修改結(jié)算信息33</p><p> 6.5.3出現(xiàn)結(jié)算信息33</p><p>
15、; 第七章 系統(tǒng)調(diào)試及運行34</p><p> 7.1 軟件測試34</p><p> 7.1.1軟件測試的定義34</p><p> 7.1.2 軟件測試的目的和原則34</p><p> 7.1.3 該系統(tǒng)進(jìn)行軟件測試方法35</p><p> 7.1.4 該系統(tǒng)的測試結(jié)果35</
16、p><p> 第七章 小結(jié)35</p><p><b> 致謝36</b></p><p><b> 參考文獻(xiàn)37</b></p><p><b> 第一章 引言</b></p><p> 賓館的基本內(nèi)涵就是為旅客提供住宿服務(wù),之所以這樣
17、講是因為賓館最原始、最基本的功能是為過往旅客提供住宿及服務(wù)。顯然,今天的賓館與過去的旅館相比已經(jīng)有了很大的不同。隨著社會的進(jìn)步,經(jīng)濟(jì)的發(fā)展,當(dāng)今社會人員流動越來越頻繁,賓館管理工作也變得越來越復(fù)雜。旅游者對賓館的需求量越來越大,對賓館的要求也越來越高。如果能夠?qū)崿F(xiàn)賓館管理的自動化,無疑將給賓館管理部門帶來很大的方便。以前中國賓館企業(yè)管理方面還主要是憑經(jīng)驗.賓館管理整體的科技含量低,還有許多與時代脫節(jié)、落后的表現(xiàn):操作隨意性大,容易波動,
18、管理漏洞多,物質(zhì)損耗大,經(jīng)濟(jì)效益低等明顯地成為制約行業(yè)發(fā)展的關(guān)鍵性因素。如何利用現(xiàn)代社會賦予我們的新觀念、新手段向管理要效益,為賓館管理注入新的活力,從而在激烈的市場競爭中站穩(wěn)腳跟,是擺在每個賓館管理人士面前的重要課題。我認(rèn)為,先進(jìn)的賓館管理系統(tǒng)應(yīng)是將我國多年來賓館管理積累的成功經(jīng)驗與現(xiàn)代化信息處理技術(shù)結(jié)合起來,相互呼應(yīng),通過完美的功能設(shè)置,建立一個自動化管理信息系統(tǒng),以提高賓館管理的效率和質(zhì)量。</p><p>
19、;<b> 1.1 編寫目的</b></p><p> 本報告編寫的目的是為了說明系統(tǒng)需求概述、設(shè)計概要情況和設(shè)計思路,為系統(tǒng)的詳細(xì)設(shè)計提供基礎(chǔ),同時作為開發(fā)人員在系統(tǒng)分析設(shè)計階段的工作成果和本階段的結(jié)束標(biāo)志。使用戶和軟件開發(fā)者,對系統(tǒng)的總體設(shè)計規(guī)定有一個共同的認(rèn)識,使之成為今后整個開發(fā)工作的基礎(chǔ)和依據(jù)。</p><p><b> 1.2 背景<
20、/b></p><p> 在我國,賓館分成五星級、四星級、三星級、二星級和一星級。客房和餐飲方面的管理也隨著酒店的星級不同有所區(qū)別,但大體上是相同的。賓館在正常的運營中需要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。信息社會的高科技,商品經(jīng)濟(jì)化的高效益,使計算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。計算機(jī)雖然與人類的關(guān)系愈來愈密切,還有人
21、由于計算機(jī)操作不方便繼續(xù)用手工勞動。為了適應(yīng)現(xiàn)代社會人們高度強(qiáng)烈的時間觀念,賓館管理系統(tǒng)軟件為管理人員帶來了極大的方便。通過操作手冊,使用者可以了解本軟件的基本工作原理。操作人員只需輸入一些簡單的漢字、數(shù)字,即可達(dá)到自己的目標(biāo)。對于大中型賓館來說,利用計算機(jī)支持高效率完成日常事務(wù),是適應(yīng)現(xiàn)代要求、推動管理走向科學(xué)化、規(guī)范化的必要條件;而且賓館管理又是一項非常煩瑣的事情,數(shù)量之大,核算極其不便。同時計算機(jī)具有手工管理所無法比擬的優(yōu)點。例如
22、:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高賓館管理的效率,也是賓館的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。賓館管理需要對客人</p><p> 1.2.1 系統(tǒng)名稱</p><p><b> 賓館管理信息系統(tǒng)</b></p><p> 1.2.2指導(dǎo)老師,開發(fā)者</p>
23、<p><b> 指導(dǎo)老師:徐松林</b></p><p><b> 開發(fā)者:趙雪梅</b></p><p><b> 第二章 任務(wù)概述</b></p><p> 在分析現(xiàn)行手工操作的基礎(chǔ)上,進(jìn)一步研究餐飲管理的處理流程,確定系統(tǒng)的總體結(jié)構(gòu)及功能模塊,研究各個模塊之間的聯(lián)系,確定模塊
24、之間的接口方案。依照實用性、可靠性、可擴(kuò)充性、經(jīng)濟(jì)性的原則,設(shè)計有關(guān)的各類碼表及相關(guān)的程序代碼,并驗證代碼的正確性,設(shè)計一套合理、完整的測試方案,對系統(tǒng)進(jìn)行測試,是系統(tǒng)達(dá)到用戶的使用要求。</p><p><b> 2.1設(shè)計的原則</b></p><p><b> 1.實用性原則</b></p><p> 該系統(tǒng)是
25、以賓館管理為基礎(chǔ)開發(fā)的通用賓館管理系統(tǒng),適合中、小賓館企業(yè)的使用。</p><p><b> 2.可靠性原則</b></p><p> 該系統(tǒng)應(yīng)有較高的可靠性,在系統(tǒng)設(shè)計及程序設(shè)計上應(yīng)該強(qiáng)調(diào)系統(tǒng)的可靠性。3.可擴(kuò)充性原則應(yīng)該保證該系統(tǒng)在系統(tǒng)的功能,結(jié)構(gòu)方面具有可擴(kuò)充性。以便適應(yīng)企業(yè)以后發(fā)展的需要,做出相應(yīng)的功能結(jié)構(gòu)上的調(diào)整。</p><p>
26、;<b> 4.經(jīng)濟(jì)性原則</b></p><p> 應(yīng)該注重系統(tǒng)的性價比,時刻為用戶著想,在同等功能的基礎(chǔ)上盡可能的減少企業(yè)的投入。</p><p> 綜上所述,幫助企業(yè)加強(qiáng)管理,提高經(jīng)濟(jì)效益,解決實際管理中的各類問題,是設(shè)計該系統(tǒng)的主要目標(biāo)。</p><p> 2.2 用戶和軟件的特點</p><p>
27、1、賓館管理內(nèi)部從業(yè)人員中存在不少人對計算機(jī)比較陌生,對使用計算機(jī)來管理有一定的畏懼心理。這就要求面向賓館的計算機(jī)管理系統(tǒng)應(yīng)盡可能得在功能設(shè)計上和使用手法上模擬現(xiàn)實情況,讓用戶使用時感覺熟悉、踏實、容易接受,否則會導(dǎo)致強(qiáng)烈的抵觸情緒。</p><p> 2、賓館管理系統(tǒng)要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,存儲賓館客房的所有靜態(tài)和動態(tài)信息,能夠?qū)崿F(xiàn)賓館管理的自動化,并利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信
28、息的變更,有利于提高管理效率,否則無法滿足賓館方便、快捷的需求,這對軟件使用和運行效率、穩(wěn)定性都提出了更高的要求。</p><p> 第三章 系統(tǒng)功能分析</p><p> 3.1 系統(tǒng)功能分析</p><p> 系統(tǒng)開發(fā)的總?cè)蝿?wù)是實現(xiàn)賓館各個信息的系統(tǒng)化,規(guī)范化和自動化,提高賓館的管理效率。</p><p> 系統(tǒng)功能分析是在系統(tǒng)
29、開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。這個例子中的賓館管理信息系統(tǒng)需要完成的功有:</p><p> 有關(guān)客房標(biāo)準(zhǔn)的制定、標(biāo)準(zhǔn)信息的輸入,包括標(biāo)準(zhǔn)編號、標(biāo)準(zhǔn)名稱、房間面積、床位數(shù)量、住房單價、是否有空調(diào)、電視機(jī)、電話以及單獨衛(wèi)生間等。</p><p> 客房標(biāo)準(zhǔn)信息的修改、查詢等。</p><p> 客房基本信息的輸入,包括客房編號、客房類型、客房位置、客房單價和備注
30、信息等。</p><p> 客房基本信息的查詢、修改,包括客房編號、客房類型、客房位置、客房單價、備注等</p><p><b> 剩余客房信息的查詢</b></p><p> 訂房信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。</p><p> 訂
31、房信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。</p><p> 結(jié)算信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、結(jié)算日期、備注信息等。</p><p> 結(jié)算信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣
32、、結(jié)算日期、備注信息等。</p><p> 3.2系統(tǒng)功能模塊設(shè)計</p><p> 對上述各項功能進(jìn)行集中,分塊分析,按照結(jié)構(gòu)化程序設(shè)計的要求,得到如下圖所示的這個系統(tǒng)的功能模塊圖。</p><p><b> 系統(tǒng)功能模塊圖</b></p><p><b> 第四章 數(shù)據(jù)庫設(shè)計</b>&l
33、t;/p><p> 設(shè)計數(shù)據(jù)庫是首先應(yīng)該充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計一般包括如下幾個步驟:</p><p><b> 數(shù)據(jù)庫需求分析。</b></p><p> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。</p><p> 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計。</p><p> 4.1
34、數(shù)據(jù)庫需求分析</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供,保存,更新和查詢等方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為數(shù)據(jù)庫的具體設(shè)計打下基礎(chǔ)。</p><p> 在仔細(xì)調(diào)查有關(guān)賓館管理信息需求基礎(chǔ)上,得到如圖所示的這個系統(tǒng)所處理的數(shù)據(jù)流程圖。</p><p> 圖4
35、-1 賓館管理系統(tǒng)數(shù)據(jù)流程圖</p><p> 針對一般賓館管理信息系統(tǒng)的需求,通過對賓館管理工作過程的內(nèi)容和數(shù)據(jù)流析,設(shè)計如下所示的數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu):</p><p> 客房標(biāo)準(zhǔn)信息,包括的數(shù)據(jù)項有:標(biāo)準(zhǔn)編號,標(biāo)準(zhǔn)名稱,房間面積,床位數(shù)量,客房單價,是否有空調(diào),電視機(jī),電話和單獨衛(wèi)生間等。</p><p> 客房信息,包括的數(shù)據(jù)項有:客房編號,客房種類,客
36、房位置,客房單價和備注信息等。</p><p> 訂房信息,包括的數(shù)據(jù)項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣和備注信息等。</p><p> 結(jié)算信息,包括的,數(shù)據(jù)項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣和備注信息等。</p><p> 設(shè)
37、計好以上的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)項和數(shù)據(jù)流程,就可以進(jìn)行以下的數(shù)據(jù)庫設(shè)計。</p><p> 4.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為以后的邏輯設(shè)計打下基礎(chǔ)。</p><p> 這個實例根據(jù)上面的設(shè)計規(guī)劃出的實體有:客房標(biāo)準(zhǔn)信息實體,客房信息實體,訂房信息實體,結(jié)算信息實
38、體。各個實體具體的E-R圖如下:</p><p> 客房標(biāo)準(zhǔn)信息實體E-R圖,如圖2-3所示</p><p> 圖4-2 客房標(biāo)準(zhǔn)信息實體E-R圖</p><p> 客房信息實體E-R圖,如圖4-3所示。</p><p> 圖4-3 客房信息實體E-R圖</p><p> 訂房信息實體E-R圖,如圖4-4
39、所示。</p><p> 如圖4-4 訂房信息實體E-R圖</p><p> 結(jié)算信息實體E-R圖,如圖4-5所示。</p><p> 圖4-5 結(jié)算信息實體E-R圖</p><p> 實體之間關(guān)系的E-R圖,如圖4-6所示.</p><p> 圖4-6 實體之間關(guān)系的E-R圖</p>&
40、lt;p> 4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 現(xiàn)在需要將上面的數(shù)據(jù)庫概念轉(zhuǎn)化為SQL Serer 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。賓館管理信息系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表4-1客房標(biāo)準(zhǔn)信息表。</p><p> 表4-1 roomtype客房標(biāo)準(zhǔn)信
41、息表</p><p> 表4-2為客房信息表 </p><p> 表4-2 rooms客房信息表</p><p> 表4-3 是訂房信息表。</p><p> 表4-3 bookin訂房信息表</p><p> 第五章 賓館管理信息
42、系統(tǒng)主窗體的創(chuàng)建</p><p> 在SQL Serer 2000的查詢分析器中執(zhí)行的所有SQL語句,就可以自動產(chǎn)生我們所需要的表格。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有工作已經(jīng)完成,現(xiàn)在通過賓館管理信息系統(tǒng)中各個功能模塊的實現(xiàn)。</p><p> 5.1 創(chuàng)建工程項目</p><p> 啟用VisulC++6.0后,從“文件”菜單中選擇“新建”命令,然后單擊“新建”對話框
43、中的“工程”選項卡,選擇工程模塊中的“MFC AppWizard(exe)”選項,并在“工程名稱”中輸入工程名稱:Hotel_MIS,在“位置”中選擇保存這個工程的位置,其他使用系統(tǒng)提示的默認(rèn)選項,如圖5-1所示。</p><p> 單擊“確定”按鈕,就進(jìn)入MFC AppWizard,這一向?qū)б还灿?步,第一步的對話框如圖5-2所示,在對話框中選擇“單文檔”選項。</p><p> 單
44、擊“下一步”按鈕,就進(jìn)入第二步對話框,如圖5-3所示然后按圖選擇。</p><p> 圖5-1 新建對話框</p><p> 圖5-2 MFC AppWizard第一步對話框</p><p> 圖5-3 MFC AppWizard第二步對話框</p><p> 單擊“下一步”按鈕,進(jìn)入第三步對話框,如圖5-4所示,這一步保持系統(tǒng)
45、給定的默認(rèn)值。</p><p> 圖5-4 MFC AppWizard第三步對話框</p><p> 單擊“下一步”按鈕,進(jìn)入第四步對話框,如圖5-5所示。這一步選中“3D外觀”選項和“初始化狀態(tài)欄”選項。</p><p> 圖5-5 MFC AppWizard第四步對話框</p><p> 單擊“下一步”按鈕,進(jìn)入第五步對話框,如
46、圖5-6所示。在這個對話框中系統(tǒng)提供默認(rèn)值。</p><p> 單擊“下一步”按鈕,進(jìn)入最后一步對話框,如圖5-7所示。在該對話框中,保證“基類”的下拉表中的選擇是CView,其他默認(rèn)。</p><p> 單擊“完成”按鈕,就出現(xiàn)一個“新建工程信息” 對話框。如圖5-8所示</p><p> 圖5-6 MFC AppWizard第五步對話框</p>
47、<p> 圖5-7 MFC AppWizard第六步對話框</p><p> 圖5-8 “新建工程信息” 對話框</p><p> 確認(rèn)無誤后,單擊“確定”按鈕,完成創(chuàng)建Hotel_MIS工程。</p><p> 5.2 創(chuàng)建主窗體的菜單</p><p> 完成上面的工作后,就在工作空間中選擇RecourceVie
48、w,然后雙擊Menu文件夾</p><p> IDR_MINFRAME選項,單擊右邊窗口的“文件”菜單項,如圖5-9所示。</p><p> 圖5-9 修改系統(tǒng)菜單</p><p> 雙擊“文件”菜單項,就回出現(xiàn)“菜單項目 屬性”對話框,在這個對話框中更改菜單項的內(nèi)容,如圖5-10所示。</p><p> 圖5-10 設(shè)置一級菜
49、單</p><p> 第一級菜單的設(shè)置和5-10中的設(shè)置方法相同。第二級菜單有兩種,一種設(shè)置方法如圖5-11所示。</p><p> 圖5-11 設(shè)置普通二級菜單</p><p> 另外一種二級菜單是彈出式的菜單,設(shè)置如圖5-12所示</p><p> 圖5-12 設(shè)置彈出式二級菜單</p><p>
50、 使用上面所講述的設(shè)置方法,最終創(chuàng)建如表6-1所示的菜單結(jié)構(gòu)。</p><p> 表5-1 菜單結(jié)構(gòu)</p><p> 5.3 創(chuàng)建公用模塊</p><p> 在這個系統(tǒng)中,使用到了數(shù)據(jù)庫的訪問,修改等操作,所以集中操作。在ClassView中,用鼠標(biāo)右鍵單擊CHotel_MISApp,選擇“Add Member
51、Variable”選項,添加使用到的變量如下</p><p><b> public:</b></p><p> CString m_sCurrentUser;</p><p> int m_iLoginCount;</p><p> _RecordsetPtr m_pADOSet;</p><
52、;p><b> private:</b></p><p> _ConnectionPtr ADOConn;</p><p> 選擇Add Member Function添加函數(shù)</p><p> bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL);&
53、lt;/p><p> 最后添加一個外部變量的</p><p> 通過以上的編寫,完成對數(shù)據(jù)庫的基本操作。</p><p> 第六章 系統(tǒng)各個管理模塊的創(chuàng)建與實現(xiàn)</p><p> 6.1 用戶管理模塊的</p><p> 用戶管理模塊主要實現(xiàn):</p><p><b> 用戶
54、登錄</b></p><p><b> 添加用戶</b></p><p><b> 修改用戶密碼</b></p><p> 6.1.1用戶登錄框的設(shè)計</p><p> 該窗口中放置了3個靜態(tài)控件,在窗口的相應(yīng)位置顯示文字,兩個編輯框控件,另外放置了兩個按鈕。</p>
55、<p> 單擊按鈕“登錄”后,就會自動查詢,看輸入的信息是否正確,如果正確就會登錄主界面,如果錯誤,就會提示你有錯。</p><p> 設(shè)計如圖6-1所示的登錄框</p><p> 圖6-1 登錄窗口</p><p> 登錄的主要代碼如下:</p><p> void CLoginDLG::OnOK() </p
56、><p><b> {</b></p><p> UpdateData(true);</p><p> m_sUSER.TrimRight(" ");</p><p> if ( ""==m_sUSER )</p><p><b> {<
57、;/b></p><p> AfxMessageBox(_T("請?zhí)顚懹脩裘?quot;), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> _variant_t Holder
58、, strQuery;</p><p> strQuery="selectuser_ID,user_PWDfromuser_Infowhereuser_ID='"+m_sUSER+"'";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><
59、p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> if ( 0==iCount ) </p><p><b> {</b></p><p> theApp.m_iLoginCount++;</p><p> if ( theAp
60、p.m_iLoginCount>2 ) </p><p><b> {</b></p><p> AfxMessageBox("沒有這個用戶\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION);</p><p> CDialog::OnCancel();</p><
61、p><b> return;</b></p><p><b> }</b></p><p> AfxMessageBox("沒有這個用戶,請重新輸入用戶名", MB_ICONEXCLAMATION); return;</p><p><b> }</b&g
62、t;</p><p> CString sPWD;</p><p> theApp.m_pADOSet->MoveFirst();</p><p> Holder = theApp.m_pADOSet->GetCollect("user_PWD");</p><p> sPWD = Holder.vt=
63、=VT_NULL?"":(char*)(_bstr_t)Holder;</p><p> if ( 0!=sPWD.Compare(m_sPWD) )</p><p><b> {</b></p><p> theApp.m_iLoginCount++;</p><p> if ( theAp
64、p.m_iLoginCount>2 ) </p><p><b> {</b></p><p> AfxMessageBox("輸入密碼不正確\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION);</p><p> CDialog::OnCancel();</p><
65、;p><b> return;</b></p><p><b> }</b></p><p> AfxMessageBox("輸入密碼不正確,請重新輸入", MB_ICONEXCLAMATION); return;</p><p><b> }</b><
66、/p><p> theApp.m_sCurrentUser = m_sUSER;</p><p> CDialog::OnOK();</p><p><b> }</b></p><p> 6.1.2添加用戶窗口設(shè)計</p><p> 該窗口設(shè)置了3個靜態(tài)控件,3個編輯框和兩個按鈕,具體功能
67、如圖6-2所示。</p><p> 圖6-2 添加用戶窗口</p><p> 確認(rèn)按鈕添加的主要代碼如下:</p><p> void CAppendAccountDLG::OnOK() </p><p><b> {</b></p><p> UpdateData(true);<
68、/p><p> m_sUSER.TrimRight(" ");</p><p> if ( ""==m_sUSER )</p><p><b> {</b></p><p> AfxMessageBox(_T("請輸入用戶名稱"), MB_ICONEXCLA
69、MATION);</p><p><b> return;</b></p><p> AfxMessageBox(_T("用戶名已經(jīng)存在,請重新輸入用戶名"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p>&l
70、t;b> }</b></p><p> if ( ""==m_sPWD1 )</p><p><b> {</b></p><p> AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION);</p><p><
71、b> return;</b></p><p><b> }</b></p><p> if ( 0!=m_sPWD1.Compare(m_sPWD2) )</p><p><b> {</b></p><p> AfxMessageBox(_T("兩次輸入密碼不
72、一樣,請確認(rèn)"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> CDialog::OnOK();</p><p><b> }</b></p>
73、<p> BOOL CAppendAccountDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_USER))->SetLimi
74、tText(15);</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_PWD1))->SetLimitText(10);</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_PWD2))->SetLimitText(10);</p><p> return TR
75、UE; </p><p><b> }</b></p><p> 6.1.3修改用戶密碼窗口設(shè)計</p><p> 該窗口設(shè)置了3個靜態(tài)控件,3個編輯框和兩個按鈕,具體功能如圖6-3所示,</p><p> 圖6-3 修改密碼窗口</p><p> “OK”按鈕添加的主要代碼如下<
76、;/p><p> void CChangePwdDLG::OnOK() </p><p><b> {</b></p><p> UpdateData(true);</p><p> if ( ""==m_sPWD1 )</p><p><b> {</b
77、></p><p> AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> if ( 0!=m_sPWD1.Comp
78、are(m_sPWD2) )</p><p><b> {</b></p><p> AfxMessageBox(_T("兩次輸入密碼不一樣,請確認(rèn)"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b
79、> }</b></p><p> CDialog::OnOK();</p><p><b> }</b></p><p> 6.2 客房標(biāo)準(zhǔn)管理模塊的創(chuàng)建</p><p> 客房在運營中需要不同的標(biāo)準(zhǔn)來適應(yīng)不同消費水平的顧客的需要。對于每個客房標(biāo)準(zhǔn),有不同的硬件設(shè)施和服務(wù)。客房標(biāo)準(zhǔn)模塊主要實
80、現(xiàn)如下功能:</p><p><b> 添加客房標(biāo)準(zhǔn)</b></p><p><b> 修改客房標(biāo)準(zhǔn)</b></p><p><b> 刪除客房標(biāo)準(zhǔn)</b></p><p> 6.2.1添加客房標(biāo)準(zhǔn)對話框的創(chuàng)建</p><p> 選擇“客房信息
81、管理/設(shè)置客房標(biāo)準(zhǔn)/添加客房標(biāo)準(zhǔn)”菜單,出現(xiàn)的對話框如圖6-4所示</p><p> 圖6-4 添加客房標(biāo)準(zhǔn)對話框</p><p> 在Resource View中,右擊Dialog,選擇Insert Dialog,把系統(tǒng)提供的兩個按鈕刪除,然后在窗體上放置多個文本框,用來輸入客房標(biāo)準(zhǔn)基本信息,多個下拉文本框選擇不同的硬件設(shè)施;兩個按鈕用來確定是否添加客房標(biāo)準(zhǔn)信息;多個標(biāo)簽用來提示文
82、本框中需要輸入的內(nèi)容。這些控件的屬性見表6-1。</p><p> 表6-1 添加客房對話框中各個控件的屬性設(shè)置</p><p> 添加好后,對類CRoomTpyeDLG中添加下列變量:</p><p><b> public:</b></p><p> bool m_
83、bAirCon;</p><p> bool m_bTel;</p><p> bool m_bTV;</p><p> bool m_bToilet;</p><p> bool m_bAppend;</p><p> CString m_sArea;</p><p> CSt
84、ring m_sBedNo;</p><p> CString m_sTypeID;</p><p> CString m_sTypeName;</p><p> CString m_sPrice ;</p><p> 然后添加兩個成員函數(shù):</p><p> Protected:</p>
85、<p> Virtual BOOL OnInitDialog();</p><p> Virtual void OnOk();</p><p> 單擊“保存”按鈕時,調(diào)用上面的OnOK()函數(shù),完成相應(yīng)的工作。</p><p> 6.2.2修改客房標(biāo)準(zhǔn)窗體的創(chuàng)建</p><p> 選擇“客房信息管理/設(shè)置客房標(biāo)準(zhǔn)/修改
86、客房標(biāo)準(zhǔn)”菜單,就將出現(xiàn)如圖6-5所示的窗體,在窗體中放置一個表格控件,用來顯示記錄。</p><p> 圖6-5 客房標(biāo)準(zhǔn)信息記錄列表窗體</p><p> 窗口初始化時,調(diào)用CHotel_MIS View類中的CreateRoomType()函數(shù),顯示當(dāng)前數(shù)據(jù)庫中所有的記錄,代碼如下:</p><p> void CHotel_MISView::Cre
87、ateRoomType()</p><p><b> {</b></p><p> m_sCurrentList = _T("房間標(biāo)準(zhǔn)列表");</p><p> m_StaticCtrl.SetWindowText(m_sCurrentList);</p><p> CRect rect;&
88、lt;/p><p> GetClientRect(rect);</p><p> rect.top += 30;</p><p> m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);</p><p> m_ListCtrl.SetBkCol
89、or(RGB(177, 151, 240));</p><p> m_ListCtrl.SetTextColor(RGB(0,0,0));</p><p> m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));</p><p> m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELE
90、CT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);</p><p> m_ListCtrl.InsertColumn(0,_T("標(biāo)準(zhǔn)編號"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(1,_T("標(biāo)準(zhǔn)名稱"), LVCFMT_LEFT, 100)
91、;</p><p> m_ListCtrl.InsertColumn(2,_T("房間面積"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(3,_T("床位數(shù)量"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertC
92、olumn(4,_T("住房單價/每天"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(5,_T("是否有空調(diào)"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(6,_T("是否有電話"), LVCFMT_
93、LEFT, 100);</p><p> m_ListCtrl.InsertColumn(7,_T("是否有電視"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(8,_T("是否有衛(wèi)生間"), LVCFMT_LEFT, 100);</p><p> _vari
94、ant_t Holder, strQuery;</p><p> strQuery = "select * from roomtype order by typeid";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><p> int iCount = theApp.
95、m_pADOSet->GetRecordCount();</p><p> if ( 0==iCount ) return;</p><p> CString str;</p><p> theApp.m_pADOSet->MoveFirst();</p><p> for(int i=0; i<iCount; i+
96、+)</p><p><b> }</b></p><p> 6.2.3刪除客房標(biāo)準(zhǔn) </p><p> 選擇“客房信息管理/設(shè)置客房標(biāo)準(zhǔn)/刪除客房標(biāo)準(zhǔn)”菜單,將出現(xiàn)記錄列表。選擇要刪除的記錄,單擊鼠標(biāo)右鍵,選擇彈出式菜單的“刪除客房標(biāo)準(zhǔn)”命令,將刪除選中的記錄,調(diào)用CHotel_MIS View類中的OnDelRoomType()函數(shù)的
97、代碼如下:</p><p> void CHotel_MISView::OnDelRoomType() </p><p><b> {</b></p><p> if ( m_ListCtrl && m_sCurrentList!="房間標(biāo)準(zhǔn)列表" )</p><p><
98、b> {</b></p><p> m_ListCtrl.DestroyWindow();</p><p> CreateRoomType();</p><p><b> return;</b></p><p><b> }</b></p><p>
99、; if ( !m_ListCtrl )</p><p><b> {</b></p><p> CreateRoomType();</p><p><b> return;</b></p><p><b> }</b></p><p> P
100、OSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();</p><p> if ( pos == NULL ) </p><p><b> {</b></p><p> AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATI
101、ON);</p><p><b> return;}</b></p><p><b> else</b></p><p><b> {</b></p><p> int iItem; </p><p> CString sID;&l
102、t;/p><p> _variant_t Holder, strQuery;</p><p><b> }</b></p><p> RefreshRoomType();</p><p><b> }</b></p><p> 6.3客房信息管理模塊的創(chuàng)建</p
103、><p> 客房信息管理模塊主要實現(xiàn)如下功能:</p><p><b> 添加客房信息</b></p><p><b> 修改客房信息</b></p><p><b> 刪除客房信息</b></p><p><b> 查詢客房信息<
104、/b></p><p> 6.3.1添加客房信息對話框的創(chuàng)建</p><p> 選擇“客房信息管理/設(shè)置客房信息/添加客房信息”菜單,將出現(xiàn)如6-6圖所示的對話框</p><p> 圖6-6 添加客房信息對話框</p><p> 對話框的屬性及添加對話框的方法與上類同,創(chuàng)建CRoomDLG類,然后添加成員變量和成員函數(shù)。<
105、;/p><p> 客房信息對話框初始化的代碼如下:</p><p> BOOL CRoomDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CEdit*)GetDlgIte
106、m(IDD_ROOM_NO))->SetLimitText(10);</p><p> ((CEdit*)GetDlgItem(IDD_ROOM_POSITION))->SetLimitText(20);</p><p> ((CEdit*)GetDlgItem(IDD_ROOM_PRICE))->SetLimitText(8);</p><p&g
107、t; if (m_bAppend)</p><p><b> {</b></p><p> SetWindowText(_T("添加客房信息"));</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "sele
108、ct * from roomtype";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> theApp.m_pADOSet->MoveFirs
109、t();</p><p> for (int i=0; i<iCount; i++)</p><p> ((CComboBox*)GetDlgItem(IDD_ROOM_TYPE))->SetCurSel(0);</p><p><b> }</b></p><p> UpdateData(false
110、);</p><p> return TRUE; </p><p><b> }</b></p><p> 6.3.2修改客房信息</p><p> 選擇“客房信息/設(shè)置客房信息/修改客房信息”菜單,將出現(xiàn)如6-7圖所示的窗體。</p><p> 圖6-7 修改客房信息窗體</p
111、><p> 窗體設(shè)置了一個表格控件,用來顯示數(shù)據(jù)庫所有的客房記錄。選擇需要修改的客房記錄,選擇“修改客房信息”命令會調(diào)用OnAlterRoom()函數(shù),具體代碼如下:</p><p> void CHotel_MISView::OnAlterRoom() </p><p><b> {</b></p><p> _v
112、ariant_t strQuery;</p><p> if ( m_ListCtrl && m_sCurrentList!=_T("客房信息列表") )</p><p><b> {</b></p><p> m_ListCtrl.DestroyWindow();</p><p&g
113、t; strQuery = "select * from rooms";</p><p> CreateRoom(strQuery);</p><p><b> return;</b></p><p><b> }</b></p><p> if ( !m_ListCt
114、rl )</p><p><b> {</b></p><p> strQuery = "select * from rooms";</p><p> CreateRoom(strQuery);</p><p><b> return;</b></p>&l
115、t;p><b> }</b></p><p> POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();</p><p> if (pos == NULL) AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);</p>
116、<p><b> else</b></p><p><b> {</b></p><p> CRoomDLG dlg;</p><p> dlg.m_bAppend = false; </p><p> int iItem = m_ListCtrl.GetNextSelec
117、tedItem(pos);</p><p> dlg.m_sNo = m_ListCtrl.GetItemText(iItem, 0);</p><p> dlg.m_sType = m_ListCtrl.GetItemText(iItem, 1);</p><p> dlg.m_sPosition = m_ListCtrl.GetItemText(iItem
118、, 2);</p><p> dlg.m_sPrice = m_ListCtrl.GetItemText(iItem, 3);</p><p> dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 5);</p><p> dlg.DoModal(); </p><p><b>
119、 } }</b></p><p> 6.3.3查詢客房信息</p><p> 選擇“客房信息/設(shè)置客房信息/查詢客房信息”菜單,將出現(xiàn)如6-8圖所示的窗體</p><p> 圖6-8查詢客房信息的對話框</p><p> 查詢客房信息的對話框的初始化代碼如下:</p><p> BOOL CCh
120、eckRoomDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(0, _T("所有房間類型
121、"));</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "select typename from roomtype";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p>&l
122、t;p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> theApp.m_pADOSet->MoveFirst();</p><p> for (int i=0; i<iCount; i++)</p><p><b> {</b></p&
123、gt;<p> Holder = theApp.m_pADOSet->GetCollect("typename");</p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(i+1, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Hol
124、der);</p><p> theApp.m_pADOSet->MoveNext();</p><p><b> }</b></p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->SetCurSel(0);</p><p> return TR
125、UE; </p><p><b> }</b></p><p> 滿足所有條件的所有記錄,將顯示在圖6-7所示的窗口。</p><p> 6.4訂房信息管理模塊的創(chuàng)建</p><p> 訂房信息管理模塊主要實現(xiàn)如下功能:</p><p><b> 查詢剩余客房信息</b&
126、gt;</p><p><b> 添加訂房信息</b></p><p><b> 修改訂房信息</b></p><p><b> 刪除訂房信息</b></p><p><b> 查詢訂房信息</b></p><p> 6.
127、4.1查詢剩余客房信息對話框的創(chuàng)建</p><p> 選擇“訂房信息管理/查詢剩余客房信息”菜單,將出現(xiàn)如圖6-9所示對話框,用來查詢剩余的可以預(yù)定的客房。</p><p> 圖6-9 查詢剩余客房信息對話框</p><p> 這個對話框的初始化主要代碼如下:</p><p> BOOL CCheckRemainDLG::OnIni
128、tDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "select distinct typename fro
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賓館管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計論文——賓館管理系統(tǒng)
- 賓館管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)設(shè)計(論文)管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)
- 計算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計-賓館管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)---畢業(yè)設(shè)計
- 畢業(yè)論文——畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計論文 點歌管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計---賓館客房管理系統(tǒng)的設(shè)計
- 項目管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)-賓館空調(diào)設(shè)計
- 畢業(yè)設(shè)計---賓館客房管理系統(tǒng)
- 畢業(yè)設(shè)計--賓館客房管理系統(tǒng)
- 畢業(yè)設(shè)計論文-健康藥店管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計(論文)倉庫貨物管理系統(tǒng)設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計(論文)超市銷售管理系統(tǒng)的設(shè)計與實現(xiàn)
- 停車管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文
評論
0/150
提交評論