酒店管理系統(tǒng)……畢業(yè)論文_第1頁
酒店管理系統(tǒng)……畢業(yè)論文_第2頁
酒店管理系統(tǒng)……畢業(yè)論文_第3頁
酒店管理系統(tǒng)……畢業(yè)論文_第4頁
酒店管理系統(tǒng)……畢業(yè)論文_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、酒店管理系統(tǒng)國家“211工程”重點(diǎn)建設(shè)百所大學(xué)之一畢業(yè)論文摘要隨著信息化建設(shè)的發(fā)展,酒店服務(wù)業(yè)與國際市場接軌已成為大勢所趨,酒店業(yè)要迎接這場挑戰(zhàn),就必須提高整體競爭能力,變革酒店的管理模式,提高管理水平。實(shí)施信息化建設(shè)無疑是實(shí)現(xiàn)這一目的的必由之路和明智之舉。目前,我國酒店服務(wù)業(yè)信息化管理的進(jìn)程緩慢,跟國外的酒店相比管理依然落后。在激烈的酒店業(yè)競爭中,如何能把握機(jī)會,保持自己的優(yōu)勢,立于不敗之地呢?這就需要提供最好的服務(wù),提供最完善的設(shè)施和最先進(jìn)的技術(shù)。在信息時(shí)代,更重要的是還必須要有一個(gè)完善的管理信息系統(tǒng),便于方便客人以及更好地管理酒店。關(guān)鍵詞酒店管理系統(tǒng);B/S模式;VS 2008Hotel

2、 ManagerAbstract: As the information of the development, hotel services and standards of the international market has become the trend of the times. The hotel industry to meet this challenge, we will have to improve overall competitiveness, reform the hotel management, enhance the management level.

3、Implementation of information technology is to achieve this purpose and the only way to a wise move. At present, Chinas hotel services in the information management process has been slow, with foreign hotel management is still backward compared. The fierce competition in the hotel industry, how to s

4、eize the opportunity to maintain their advantage invincible? This makes it necessary to provide the best service to provide the best possible facilities and the most advanced technology. In the information age, is more important is also in need of a comprehensive management information system, Guest

5、s facilitate convenience and better management of the hotel.Key words: Hotel Manager; B/S mode; VS 2008目 錄1 前言12 相關(guān)理論基礎(chǔ)12.1 B/S結(jié)構(gòu)12.2 ASP.NET與Visual Studio 200822.3 SQL與SQL Sever 2005 Express33 需求分析33.1 運(yùn)行環(huán)境33.2 系統(tǒng)需求43.2.1 功能需求43.2.2 性能需求43.3 系統(tǒng)層次模塊圖54 系統(tǒng)設(shè)計(jì)54.1 模塊設(shè)計(jì)64.1.1 主模塊64.1.2 公共輔助模塊64.1.3 功能模塊

6、64.2 數(shù)據(jù)庫設(shè)計(jì)75 系統(tǒng)實(shí)現(xiàn)115.1 類庫實(shí)現(xiàn)125.2 登錄界面125.3 基礎(chǔ)設(shè)置界面145.4 業(yè)務(wù)管理界面226 測試報(bào)告256.1 測試基本要求256.1.1 內(nèi)容檢查256.1.2 鏈接檢查266.1.3 易用性測試266.1.4 功能檢查266.1.5 容錯性測試266.2 測試用例設(shè)計(jì)方法舉例276.2.1 輸入域測試276.2.2 頁面控件檢查286.2.3 功能測試29結(jié)束語32參考文獻(xiàn)32致謝33 1 前言21世紀(jì)的酒店,從內(nèi)部管理到外部銷售都將發(fā)生質(zhì)的變化。激烈的市場競爭,要求酒店引入更多、更新、更高的IT技術(shù),而非單一的前臺管理軟件甚至傳統(tǒng)的前、后臺軟件所能滿

7、足?,F(xiàn)代化的酒店是集客房、餐飲、通訊、娛樂,商務(wù)文化及其他各種服務(wù)與設(shè)施為一體化的消費(fèi)場所,酒店賓館組織龐大,服務(wù)項(xiàng)目多,信息量大,要想提高勞動生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來進(jìn)行現(xiàn)代化的信息管理,酒店管理系統(tǒng)正是為此而設(shè)計(jì)的,本系統(tǒng)是一套適用于大、中型星級賓館使用的優(yōu)秀系統(tǒng),操作簡單,靈活性好、系統(tǒng)安全性高,運(yùn)行穩(wěn)定,實(shí)是管理者的理想選擇。酒店管理系統(tǒng)基于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),采用多層結(jié)構(gòu),集多媒體技術(shù)、遠(yuǎn)程通訊技術(shù)、IT技術(shù)為一體,將多種不同類型的軟件工具用統(tǒng)一的用戶界面集成為一個(gè)大系統(tǒng),在一個(gè)網(wǎng)絡(luò)上實(shí)現(xiàn)酒店全方位電腦化管理。它不僅擁有傳統(tǒng)軟件所有的功能

8、和較之更強(qiáng)大的功能,而且還根據(jù)目前酒店業(yè)的經(jīng)營狀況,著重于市場營銷、成本控制、銷售及成本預(yù)算等協(xié)助經(jīng)營者開源節(jié)流的嶄新概念設(shè)計(jì),它是遍及整個(gè)酒店的技術(shù)和運(yùn)營的解決方案。成功的酒店是將經(jīng)濟(jì)效益作為酒店的運(yùn)營宗旨,管理的核心也是在于如何提高經(jīng)濟(jì)效益。酒店管理系統(tǒng)以酒店的經(jīng)濟(jì)效益為目標(biāo),為酒店管理人員和員工提供簡單易用、功能強(qiáng)大并高度靈活的應(yīng)用工具,激勵他們的積極性,促使他們向賓客提供更好的服務(wù)。這些改進(jìn)使賓客感到更加滿意,為酒店帶來更多的回頭客和收入。同時(shí),通過對人流、物流、資金流的科學(xué)管理和有效控制,提高員工的工作效率,降低各種經(jīng)營成本,從而獲取持久的利潤。2 相關(guān)理論基礎(chǔ)2.1 B/S結(jié)構(gòu)B/

9、S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,以不同的接入方式訪問和操作

10、共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全 。2.2 ASP.NET與Visual Studio 2008ASP.NET是建立在通用語言運(yùn)行時(shí)刻庫(CLR)上的應(yīng)用程序框架。它用來在服務(wù)器端構(gòu)建功能強(qiáng)大的web應(yīng)用程序。ASP.NET提供了幾個(gè)超越以前web開發(fā)模式的優(yōu)點(diǎn): ·增強(qiáng)的性能。ASP.NET是運(yùn)行在服務(wù)器端的編譯后的CLR代碼,而不是像ASP那樣解釋執(zhí)行。 ASP.NET利用提前綁定,即時(shí)編譯,本地優(yōu)化和緩存服務(wù)來提高性能。所有這一切,性能遠(yuǎn)遠(yuǎn)大于你以往寫的每一行代碼。 ·世界級水平的開發(fā)工具支持。在Visual Studio .n

11、et的集成開發(fā)環(huán)境(IDE)中,ASP.NET框架由工具箱和設(shè)計(jì)器組成。所見即所得的(WYSIWYG)編輯方式、拖放服務(wù)器控件、以及自動部署,僅僅是這一強(qiáng)大工具所提供的一少部分功能。·強(qiáng)大而富有彈性。由于ASP.NET是基于(CLR)的,因此整個(gè).net平臺的強(qiáng)大和富有彈性,同樣可以應(yīng)用于web應(yīng)用程序開發(fā)者。.net框架的類庫、消息以及數(shù)據(jù)訪問解決方案,都可以無縫集成到web。ASP.NET也是語言中立的,因此你可以選擇你最熟悉的語言,或者通過幾種語言來共同完成一個(gè)應(yīng)用。而且,CLR的互用性可以保證你升級到ASP.NET的時(shí)候,現(xiàn)存的基于COM的開發(fā)投資依然保留。 ·簡單

12、。ASP.NET使執(zhí)行常用的工作變得很容易,比如從簡單的表單提交、客戶端驗(yàn)證,到部署和站點(diǎn)配置。例如,ASP.NET允許你建立用戶接口,實(shí)現(xiàn)頁面和邏輯代碼的分離,同時(shí),就像VB的表單執(zhí)行模式那樣來處理事件。此外,CLR簡化了部署,用來管理代碼服務(wù),例如自動參照和垃圾回收。·易于管理。ASP.NET使用一個(gè)基于文本的、分層次的配置系統(tǒng),它簡化了服務(wù)器端環(huán)境和web應(yīng)用程序的設(shè)置。由于配置信息用純文本格式保存,新的設(shè)置不需要本地管理工具的支持。這種“零本地支持”的理念也同樣應(yīng)用到了部署ASP.NET應(yīng)用程序。ASP.NET應(yīng)用程序部署到服務(wù)器,簡化為復(fù)制必要的文件到服務(wù)器。在部署,甚至替

13、換正在運(yùn)行的變異代碼的時(shí)候,也不需要重新啟動服務(wù)器。 ·可伸縮性和有效利用性。ASP.NET被設(shè)計(jì)成可伸縮的,能為集群和多處理器環(huán)境設(shè)計(jì)提高性能。而且,ASP.NET運(yùn)行時(shí)刻密切監(jiān)視和管理進(jìn)程,這樣,如果發(fā)生了錯誤的行為,例如漏洞和死鎖,新的進(jìn)程會在當(dāng)前位置建立,來幫助你的應(yīng)用程序繼續(xù)處理事件請求。·可訂制和擴(kuò)展。ASP.NET提供一種良好的擴(kuò)充結(jié)構(gòu),允許開發(fā)者在適當(dāng)?shù)募墑e“插入”他們的代碼。事實(shí)上,使用自己的編寫的組件可以擴(kuò)展或者替換ASP.NET運(yùn)行時(shí)刻的任何子組件。 Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應(yīng)用程序、XML

14、 Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應(yīng)用程序和 XML Web Services 開發(fā)的關(guān)鍵技術(shù)。2.3 SQL與SQL Sever 2005 ExpressSQL是用來對存放在計(jì)算機(jī)中的數(shù)據(jù)庫進(jìn)行組織、管理和檢索的語言。SQL一詞是“Structured Query Language(結(jié)構(gòu)式

15、查詢語言)”的縮寫,是IBM公司San Jose實(shí)驗(yàn)室為System R而設(shè)計(jì)的語言,從1982年開始,美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)即著手SQL標(biāo)準(zhǔn)化工作,1986年ANSI的數(shù)據(jù)庫委員會批準(zhǔn)了SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),這就是第一個(gè)SQL標(biāo)準(zhǔn),同時(shí)公布了SQL標(biāo)準(zhǔn)文本,在此后不久的1987年,國際標(biāo)準(zhǔn)化組織(ISO)也做出了同樣的決定,目前的SQL標(biāo)準(zhǔn)是1992年指定的SQL92標(biāo)準(zhǔn),是一種用于與數(shù)據(jù)庫進(jìn)行交互的語言。SQL語言的極大普及是當(dāng)今計(jì)算機(jī)工業(yè)中最引人注目的趨勢之一。在過去的幾年中,SQL已經(jīng)發(fā)展成為標(biāo)準(zhǔn)計(jì)算機(jī)數(shù)據(jù)庫查詢語言?,F(xiàn)在,微機(jī)到大型機(jī),有很多數(shù)據(jù)庫產(chǎn)品支持SQL,

16、SQL的國際標(biāo)準(zhǔn)已經(jīng)能夠被采用并被不斷擴(kuò)充。SQL在主要計(jì)算機(jī)開發(fā)上的數(shù)據(jù)庫體系中占有重要的地位。SQL Server提供服務(wù)器端的軟件,這部分需要安裝在NT Server上,SQL Server的用戶端則可以安裝在許多用戶端PC系統(tǒng)中,Windows可以讓用戶端進(jìn)行數(shù)據(jù)庫的建立,維護(hù)及存取等操作,SQL Server可以最多定義32767個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫中,可以定義20億個(gè)表格,每個(gè)表格可以有250個(gè)字段,每個(gè)表格的數(shù)據(jù)個(gè)數(shù)并沒有限制,每一個(gè)表格可以定義250個(gè)索引,其中有一個(gè)可以是Clustered索引。 SQL Server所使用的數(shù)據(jù)庫查詢語言稱為Transact-SQL,它是SQ

17、L Server的核心,Transact-SQL強(qiáng)化了原有的SQL關(guān)鍵字以進(jìn)行數(shù)據(jù)的存取,儲存及處理等功能,Transact-SQL擴(kuò)充了流程控制指定,可以使你方便的編寫功能強(qiáng)大的存儲過程,他們存放在服務(wù)器端,并預(yù)先編譯過,執(zhí)行速度非常塊,觸發(fā)是一種特殊的存儲過程,用來確保SQL Server數(shù)據(jù)庫引用的完整性,你可以建立插入,刪除和更新觸發(fā)以控制相關(guān)的表格中對數(shù)據(jù)列的插入,刪除和更新,你還可以使用規(guī)則(Rule),缺省(default)以及限制(Constraints),來協(xié)助將新的數(shù)值套用到表格中去。 3 需求分析3.1 運(yùn)行環(huán)境操作系統(tǒng):windows2000server中文版、wind

18、ows 2003 Server或者Windows XP數(shù)據(jù)庫:SQL Server 2005 中文企業(yè)版開發(fā)工具:Microsoft Visual Studio .NET 2008企業(yè)版 (C#)3.2 系統(tǒng)需求3.2.1 功能需求系統(tǒng)功能主要包括登錄功能、房間類型的管理、房間的管理、開房、退房、數(shù)據(jù)操作、預(yù)訂房、換房間八個(gè)部分。以下按照不同的功能處理對具體功能進(jìn)行描述。1登錄功能只有在輸入正確的戶名和密碼才可登錄進(jìn)入操作界面。2房間類型的管理可以對房間類型進(jìn)行增添、刪除、修改、查詢功能。3房間信息的管理可以對房間信息進(jìn)行增添、刪除、修改、查詢功能。4開房功能記錄住戶信息,并把相應(yīng)的房間狀態(tài)改

19、為“入住”。5退房a)退房時(shí)算出總費(fèi)用 (房間價(jià)格+ 加床價(jià)格) * 天數(shù)。 b)退房時(shí)要判斷當(dāng)前退房的時(shí)間,一般酒店是在中午12點(diǎn)退房,超過12點(diǎn)理論上要多算一天. 可彈出提示“是否多加一天”。c)退房成功后把相應(yīng)的房間狀態(tài)改為“空閑”。d)更新用戶消費(fèi)總金額。e)更新用戶的VIP狀態(tài)。6數(shù)據(jù)操作a)可按月查看入住記錄。b)可查看指定日期的入住記錄。c)可搜索指定姓名住戶的入住記錄。7預(yù)訂房功能a)提前預(yù)定房間,注意房間的狀態(tài),預(yù)定日期前還是可以由其他房客入住。b)預(yù)定房間到期時(shí)未入住的處理。8換房間可以在住戶需要時(shí)辦理換房間業(yè)務(wù)。3.2.2 性能需求整個(gè)系統(tǒng)應(yīng)當(dāng)操作簡便,界面友好,維護(hù)簡便

20、。數(shù)據(jù)庫要求運(yùn)行穩(wěn)定,執(zhí)行速度快,數(shù)據(jù)安全性高。軟件系統(tǒng)本身運(yùn)行對計(jì)算機(jī)硬件平臺和操作系統(tǒng)平臺要求適中。3.3 系統(tǒng)層次模塊圖酒店管理系統(tǒng)層次模塊圖,如圖3-1所示。酒店管理系統(tǒng)統(tǒng)用戶登錄模塊用戶登錄是否有效否是房間類型管理房間信息管理開 房退 房數(shù) 據(jù) 更 新預(yù) 訂 房換 房 間房間類型的添加、刪除、修改、查詢房間的添加、刪除、修改、查詢將房間狀態(tài)改為“入住”退房結(jié)算、更改狀態(tài)及住戶信息按月、指定日期、姓名查詢?nèi)胱∮涗浱幚頁Q房 圖3-1層次模塊圖4 系統(tǒng)設(shè)計(jì)4.1 模塊設(shè)計(jì)4.1.1 主模塊主模塊設(shè)計(jì)如表4-1所示.表4-1 主模塊設(shè)計(jì)模塊子模塊功能主模塊整體設(shè)計(jì)總界面對功能模塊和公共輔助模

21、塊有整體的概覽和認(rèn)知4.1.2 公共輔助模塊公共模塊設(shè)計(jì)如表4-2所示。表4-2 公共模塊設(shè)計(jì)模塊子模塊功能公共輔助模塊1.查詢模塊2.信息瀏覽模塊1.查詢客房等基本信息2.便于工作人員及時(shí)掌握客房及客人信息4.1.3 功能模塊功能模塊設(shè)計(jì)如表4-3所示:表4-3 功能模塊設(shè)計(jì)功能模塊用戶登錄用戶登錄房間類型管理模塊1.增添房間類型2.修改房間類型3.刪除房間類型4.查詢房間類型房間信息管理模塊1.增添房間信息2.修改房間信息3.刪除房間信息4.查詢房間信息開房功能模塊記錄用戶信息并將房間狀態(tài)改為“入住”退房功能模塊1.算出總費(fèi)用2.判斷當(dāng)前退房的時(shí)間3.退房成功后把相應(yīng)的房間該為“空閑”4.

22、更新用戶消費(fèi)總金額5.更新用戶VIP狀態(tài)數(shù)據(jù)操作模塊1.可按月查詢?nèi)胱∮涗?.可查看指定日期的入住記錄3.可搜索指定姓名住戶的入住記錄續(xù)表4-3預(yù)訂房功能模塊1.注意房間狀態(tài),預(yù)定日期前還可以由其他房客入住2.預(yù)定房間到期未入住的處理換房間功能模塊用戶需要時(shí)更換房間處理4.2 數(shù)據(jù)庫設(shè)計(jì)1.數(shù)據(jù)庫的表結(jié)構(gòu)是非常重要的環(huán)節(jié),一個(gè)良好的數(shù)據(jù)庫設(shè)計(jì),可以提高效率,方便維護(hù),并且為以后進(jìn)行功能的擴(kuò)展留有余地。表4-4是系統(tǒng)數(shù)據(jù)庫表的清單。表4-4數(shù)據(jù)表清單序號數(shù)據(jù)表名稱說明1Room對房間信息進(jìn)行記錄2Room type對房間類型進(jìn)行記錄3客戶信息表對客戶信息進(jìn)行記錄4歷史記錄表歷史入住記錄5預(yù)定記錄

23、預(yù)定信息記錄6住戶登記信息對住戶入住信息進(jìn)行記錄圖4-1 部分?jǐn)?shù)據(jù)表之間聯(lián)系圖以上圖4-1是部分?jǐn)?shù)據(jù)表的結(jié)構(gòu)圖,從圖中可以看出各表之間的聯(lián)系。以下對各個(gè)信息表做詳細(xì)介紹。1.房間信息表,如表4-5表4-5 房間信息表字段名數(shù)據(jù)類型字段說明備注RoomIDint房間信息不允許為空Numbervarchar(50)房間號主鍵自動增加1BedNumberint床位號不允許為空Descriptionvarchar(255)房間描述不允許為空Statevarchar(50)房間狀態(tài)不允許為空GuestNumberint住戶編號不允許為空TypeIDint房間類型不允許為空2.房間類型表,如表4-6表4-

24、6 房間類型表字段名數(shù)據(jù)類型字段說明備注TypeIDint類型信息主鍵自動增加1TypeNamevarchar(50)類型名稱不允許為空TypePricemoney類型價(jià)錢不允許為空IsAddBedvarchar(20)是否加床不允許為空AddBedPricemoney加床費(fèi)不允許為空RemarkVarchar(50)備注不允許為空3.客戶信息表,如表4-7表4-7 客戶信息表字段名數(shù)據(jù)類型字段說明備注客戶編號int客戶編號主鍵自動增加1姓名varchar(50)姓名允許為空性別Varchar(10)性別允許為空身份證號Varchar(22)身份證號允許為空聯(lián)系電話Varchar(50)聯(lián)系電

25、話允許為空VIPVarchar(50)VIP允許為空消費(fèi)總金額Money消費(fèi)總金額允許為空4.歷史記錄表,如表4-8表4-8 歷史記錄表字段名數(shù)據(jù)類型字段說明備注客戶姓名varchar(50)客戶姓名主鍵自動增加1入住房號varchar(50)入住房號允許為空入住時(shí)間Varchar(50)入住時(shí)間允許為空預(yù)退訂時(shí)間Varchar(50)預(yù)退訂時(shí)間允許為空退房時(shí)間Varchar(50)退房時(shí)間允許為空是否加床varchar(50)是否加床允許為空押金varchar(50)押金允許為空總費(fèi)用money總費(fèi)用允許為空說明Varchar(250)說明允許為空IDintID不允許為空5.預(yù)訂記錄表,如表

26、4-9表4-9 預(yù)訂記錄表字段名數(shù)據(jù)類型字段說明備注房間號varchar(50)類型信息允許為空預(yù)訂入住時(shí)間varchar(50)類型名稱允許為空預(yù)訂退房時(shí)間varchar(50)類型價(jià)錢允許為空客戶編號int是否加床允許為空IDint加床費(fèi)主鍵自動增加16.住戶登記信息表,如表4-10表4-10 住戶登記信息表字段名數(shù)據(jù)類型字段說明備注客戶編號int客戶姓名允許為空押金Money入住房號允許為空入住房號Varchar(50)入住時(shí)間允許為空入住時(shí)間Varchar(50)預(yù)退訂時(shí)間允許為空預(yù)定退房時(shí)間Varchar(50)退房時(shí)間允許為空退房時(shí)間varchar(50)是否加床允許為空是否加床v

27、archar(50)押金允許為空總費(fèi)用money總費(fèi)用允許為空備注Varchar(50)說明允許為空IDintID主鍵自動增加12.數(shù)據(jù)庫的配置本系統(tǒng)的開發(fā)是在 windows XP 下開發(fā)的,開發(fā)數(shù)據(jù)庫使用的是sql server具體配置步驟如下:(1)打開 sql server 企業(yè)管理器,新建一個(gè)數(shù)據(jù)庫,將其命名為bm(2)在bm中建下列表room,roomtype,客戶信息等數(shù)據(jù)庫表(3)完成數(shù)據(jù)初始化工作,將表中各字段與域值添加進(jìn)去。部分具體的數(shù)據(jù)庫設(shè)計(jì)如圖4-2到圖4-7所示。圖4-2 房間信息表圖4-3 房間類型表圖4-4 客戶信息表圖4-5 歷史記錄表圖4-6 預(yù)訂記錄表圖4-

28、7 住戶登記信息表5 系統(tǒng)實(shí)現(xiàn)5.1 類庫實(shí)現(xiàn)整個(gè)系統(tǒng)的布局采用了框架結(jié)構(gòu)。頂部框架里是系統(tǒng)的標(biāo)題。主框架又分左右兩部分。左部框架是樹型功能菜單,整個(gè)系統(tǒng)功能模塊的跳轉(zhuǎn)主要在這里完成。右部框架用來顯示和操作各主要功能模塊。整個(gè)頁面看起來簡單明了,界面簡潔,容易操作。整個(gè)系統(tǒng)在幾乎所有的模塊中都會涉及到大量類似的數(shù)據(jù)庫操作。所以把幾個(gè)常用的方法抽出,放到一個(gè)公共的類中,供所有的模塊調(diào)用。首先建立一個(gè)和SQL Server 數(shù)據(jù)庫之間的連接。代碼如下:SqlConnection sqlconn = new SqlConnection("Data Source=.sqlexpress;In

29、itial Catalog=bm;Persist Security Info=True;User ID=sa;Password=123");DataCom方法用來返回受影響的結(jié)果的行數(shù),但不返回任何東西。操作過程是首先打開連接,之后建立一個(gè)對 SQL Server 數(shù)據(jù)庫執(zhí)行的一個(gè)SQL 語句的對象,執(zhí)行SQL語句,然后關(guān)閉數(shù)據(jù)庫連接。具體代碼如下:public void DataCom(string sqlstr) sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn); sqlcom.ExecuteN

30、onQuery(); sqlconn.Close(); rowNumber方法用來返回受影響的行數(shù)。但是和DataCom不同的是回返回一個(gè)具體的int類型的行數(shù)。rowFirst方法用來返回一個(gè)object類型的查詢后的第一行的第一列的結(jié)果。代碼和上面的兩個(gè)方法類似,只是執(zhí)行ExecuteScalar方法來取得第一行的第一列的結(jié)果。在此系統(tǒng)中有連個(gè)用戶類型,即普通登錄人員和管理人員,我們通過一段代碼來實(shí)現(xiàn)不同的登錄類型進(jìn)行登錄,進(jìn)行不同的操作。代碼如下:if (Session"leave" != null) leave = Session"leave".

31、ToString(); name = Session"user_ID".ToString(); if (leave = "1") Response.Redirect("tsxx.aspx"); else Response.Redirect("main.aspx"); 5.2 登錄界面1.登錄頁面的功能主要是供合法的用戶根據(jù)自己的用戶類型及用戶名和密碼來進(jìn)行登錄,如果輸入錯誤則會有提示。如果用戶在沒有登錄的情況下選擇其它功能模塊會退回到登錄界面。如果用戶已經(jīng)登錄,可以在登錄模塊進(jìn)行退出登錄的操作。如果用戶類型錯誤將會

32、有錯誤提示。在登錄到這個(gè)頁面或者刷新這個(gè)頁面的時(shí)候,首先要進(jìn)行一次session的判斷。在輸入用戶名密碼后,先確認(rèn)輸入框中有數(shù)據(jù),將把輸入框中的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比較驗(yàn)證。如果一切通過,將產(chǎn)生兩個(gè)session分別用來存放用戶名和用戶類型。之后跳轉(zhuǎn)到相應(yīng)的登錄成功的頁面。主要運(yùn)行代碼:SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings"bmConnectionString".ToString(); ; sqlconn.Open(); SqlCommand sq

33、lcmd = new SqlCommand("select leave from users where name='" +TBusers.Text + "' and password='" + TBpass.Text + "'", sqlconn); string leave =Convert.ToString( sqlcmd.ExecuteScalar(); SqlCommand sqlcmd2 = new SqlCommand("select user_ID from users whe

34、re name='" + TBusers.Text + "' and password='" + TBpass.Text + "'", sqlconn); int count = Convert.ToInt32(sqlcmd2.ExecuteScalar();2.使用戶能夠及時(shí)修改密碼,保護(hù)密碼的安全性以防自己信息泄露。在次界面中運(yùn)用了驗(yàn)證控件,更容易操作和管理。在使用不同的驗(yàn)證控件時(shí)要注意驗(yàn)證控件的屬性設(shè)置,使其運(yùn)用正確。主要執(zhí)行代碼:SqlConnection conn = new SqlConnection

35、(); conn.ConnectionString = ConfigurationManager.ConnectionStrings"bmConnectionString".ToString(); conn.Open(); SqlCommand cmd = new SqlCommand("select pwd from tea where name='" + TextBox4.Text+ "'", conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()

36、yp = dr.GetString (0); if (TextBox1.Text.ToString() != yp) Response.Write("<script>alert('原密碼錯誤!');</script>"); else dr.Close(); cmd.CommandText = "update tea set pwd='" + TextBox2.Text + "'where name='" + TextBox4.Text+ "'"

37、 cmd.ExecuteNonQuery(); conn.Close(); Response.Write("<script>alert('修改密碼成功!');</script>");5.3 基礎(chǔ)設(shè)置界面酒店管理系統(tǒng)基礎(chǔ)設(shè)置模塊包括五個(gè)子模塊,分別是客房類型設(shè)置、客房信息設(shè)置、客戶詳細(xì)信息、住戶登記設(shè)置、預(yù)訂信息設(shè)置。主要功能是完成各種信息的設(shè)置。本界面主要是基礎(chǔ)設(shè)置部分,其中客房類型設(shè)置可以對客房類型進(jìn)行添加、刪除、修改、查詢等操作。包括類型信息、類型名稱、其關(guān)鍵代碼:public static TypeRoom SelectRoom

38、Type(string ID) SqlParameter p1 = new SqlParameter("TypeID", int.Parse(ID); DataTable table = DBHelp.Select("GetAllByRoomTypeID",p1); DataRow row = table.Rows0; TypeRoom ro = new TypeRoom(); if (row"TypeId" != DBNull.Value) ro.TypeId = row"TypeId".ToString();

39、if (row"TypeName" != DBNull.Value) ro.TypeName = row"TypeName".ToString(); if (row"TypePrice" != DBNull.Value) ro.TypePrice = row"TypePrice".ToString(); if (row"IsAddBed" != DBNull.Value) ro.IsAddBed = row"IsAddBed".ToString(); if (row"

40、;AddBedPrice" != DBNull.Value) ro.AddBedPrice = row"AddBedPrice".ToString(); if (row"Remark" != DBNull.Value) ro.Remark = row"Remark".ToString(); return ro; public static TypeRoom SelectRoomType(string ID) SqlParameter p1 = new SqlParameter("TypeID", int.

41、Parse(ID); DataTable table = DBHelp.Select("GetAllByRoomTypeID",p1); DataRow row = table.Rows0; TypeRoom ro = new TypeRoom(); if (row"TypeId" != DBNull.Value) ro.TypeId = row"TypeId".ToString(); if (row"TypeName" != DBNull.Value) ro.TypeName = row"TypeNam

42、e".ToString(); if (row"TypePrice" != DBNull.Value) ro.TypePrice = row"TypePrice".ToString(); if (row"IsAddBed" != DBNull.Value) ro.IsAddBed = row"IsAddBed".ToString(); if (row"AddBedPrice" != DBNull.Value) ro.AddBedPrice = row"AddBedPrice&q

43、uot;.ToString(); if (row"Remark" != DBNull.Value) ro.Remark = row"Remark".ToString(); return ro; public static int ADDtypeRoom(TypeRoom ty) SqlParameter p1 = new SqlParameter("typeName",ty.TypeName); SqlParameter p2 = new SqlParameter("TypePrice", double.Parse

44、(ty.TypePrice); SqlParameter p3 = new SqlParameter("IsAddBed",ty.IsAddBed); SqlParameter p4 = new SqlParameter("AddBedPrice", double.Parse(ty.AddBedPrice); SqlParameter p5 = new SqlParameter("Remark",ty.Remark); return DBHelp.Excurt("insertRoomtype",p1,p2,p3,p

45、4,p5); public static int UpdatetypeRoom(TypeRoom ty) SqlParameter p1 = new SqlParameter("typeName", ty.TypeName); SqlParameter p2 = new SqlParameter("TypePrice", double.Parse(ty.TypePrice); SqlParameter p3 = new SqlParameter("IsAddBed", ty.IsAddBed); SqlParameter p4 = n

46、ew SqlParameter("AddBedPrice", double.Parse(ty.AddBedPrice); SqlParameter p5 = new SqlParameter("Remark", ty.Remark); SqlParameter p6 = new SqlParameter("TypeID", int.Parse(ty.TypeId); return DBHelp.Excurt("UpdateRoom", p1, p2, p3, p4, p5,p6); 在類型名稱內(nèi)輸入相應(yīng)的房間類型名

47、稱,點(diǎn)擊查詢按鈕,便可看到對應(yīng)類型房間的詳細(xì)信息。點(diǎn)擊新增按鈕,可以對房間類型進(jìn)行添加,點(diǎn)擊修改按鈕,可以對對應(yīng)房間類型信息進(jìn)行修改,修改完后點(diǎn)擊保存,便可保存修改后信息,提示“修改完成”。點(diǎn)擊刪除按鈕,可對房間類型信息做刪除。酒店管理系統(tǒng)客房類型設(shè)置模塊運(yùn)行的結(jié)果如圖5-1所示。圖5-1酒店管理系統(tǒng)客房類型設(shè)置模塊運(yùn)行圖其中客房信息設(shè)置可以對客房信息進(jìn)行添加、刪除、修改、查詢等操作。包括房間信息、房間號、床號、狀態(tài)、客戶編號、描述、類型名稱等。其關(guān)鍵代碼:List<room> ro = new List<room>(); DataTable table = DBHel

48、p.Select("SelectRoom"); foreach (DataRow row in table.Rows) room rm = new room(); if (row"Roomid" != DBNull.Value) rm.RoomId = row"Roomid".ToString(); ; if (row"Number" != DBNull.Value) rm.Number = row"Number".ToString(); ; if (row"BedNumber&quo

49、t; != DBNull.Value) rm.BedNumber = row"BedNumber".ToString(); ; if (row"state" != DBNull.Value) rm.State = row"state".ToString(); ; if (row"GuestNumber" != DBNull.Value) rm.GuestNumber = row"GuestNumber".ToString(); ; if (row"Description" !

50、= DBNull.Value) rm.Description = row"Description".ToString(); ; if (row"typeName" != DBNull.Value) rm.TypeName = row"typeName".ToString(); ; if (row"TypePrice" != DBNull.Value) rm.TypePrice = row"TypePrice".ToString(); ; if (row"typeID" !=

51、DBNull.Value) rm.TypeID = row"typeID".ToString(); ; ro.Add(rm); public static int InsertRoom(room ro) SqlParameter p = new SqlParameter("Number", int.Parse(ro.Number); SqlParameter p1 = new SqlParameter("BedNumber", int.Parse(ro.BedNumber); SqlParameter p2 = new SqlPara

52、meter("Description", ro.Description); SqlParameter p3 = new SqlParameter("State", ro.State); SqlParameter p4 = new SqlParameter("GuestNumber", int.Parse(ro.GuestNumber); SqlParameter p5 = new SqlParameter("TypeID", int.Parse(ro.TypeID); return DBHelp.Excurt(&q

53、uot;InsertRoom", p, p1, p2, p3, p4, p5); public static int UpdateRoom(room ro) SqlParameter p = new SqlParameter("Number", int.Parse(ro.Number); SqlParameter p1 = new SqlParameter("BedNumber", int.Parse(ro.BedNumber); SqlParameter p2 = new SqlParameter("Description"

54、;, ro.Description); SqlParameter p3 = new SqlParameter("State", ro.State); SqlParameter p4 = new SqlParameter("GuestNumber", int.Parse(ro.GuestNumber); SqlParameter p5 = new SqlParameter("RoomID", int.Parse(ro.RoomId); return DBHelp.Excurt("UpdateTRoom", p, p1, p2, p3, p4, p5); public static int DeleteRoom(string ID) SqlParameter p = new SqlParameter("roomID", int.Parse(ID); return DBHelp.E

溫馨提示

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

評論

0/150

提交評論