asp.net酒店管理系統(tǒng)設計與實現(xiàn)(論文).doc_第1頁
asp.net酒店管理系統(tǒng)設計與實現(xiàn)(論文).doc_第2頁
asp.net酒店管理系統(tǒng)設計與實現(xiàn)(論文).doc_第3頁
asp.net酒店管理系統(tǒng)設計與實現(xiàn)(論文).doc_第4頁
asp.net酒店管理系統(tǒng)設計與實現(xiàn)(論文).doc_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

河南大學2007屆本科畢業(yè)論文酒店管理系統(tǒng)設計與實現(xiàn)the design and development of a hotelmanagement information system論文作者姓名:李嬌嬌 所在學院:計算機與信息工程學院 所學專業(yè):計算機科學與技術 導師姓名職稱:沈夏炯(副教授)、崔翔(助教) 論文完成時間:2007年5月20日 2007年5月20日河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)開題報告(由學生本人認真填寫)學號03023238姓名李嬌嬌導師姓名職稱沈夏炯(副教授)崔翔(助教)開題時間2006年12月1日課題題目酒店管理系統(tǒng)設計與實現(xiàn)課題來源導師指定 自定 其他來源課題的目的、意義以及和本課題有關的國內(nèi)外現(xiàn)狀分析:1、目的:隨著計算機技術在各行各業(yè)的廣泛應用和取得驚人效益,酒店管理者也爭相把目光投入到用計算機的先進技術來管理酒店上來,較之于傳統(tǒng)的手工管理,酒店管理系統(tǒng)就顯示出了它獨特的優(yōu)勢:方便、快捷、成本低和效率高。2、意義:隨著賓館酒店業(yè)競爭的日益激烈,酒店管理者也在積極尋求提高酒店效率和效益的方法,將繁雜的客戶信息管理和客房管理交給計算機來處理,開發(fā)出一套適合于酒店自身的管理系統(tǒng)成為酒店管理者和開發(fā)人員關注的焦點。3、現(xiàn)狀:隨著國內(nèi)市場的不斷開放,旅游業(yè)的不斷發(fā)展,酒店業(yè)也遇到了前所未有的機遇和挑戰(zhàn),如何利用先進的管理技術是酒店立于不敗之地的關鍵因素。研究目標、研究內(nèi)容和準備解決的問題:1、目標:通過本系統(tǒng),酒店管理者可以方便的查看客房信息、客人信息和經(jīng)營情況等,管理員可以根據(jù)權限對客人入店進行錄入和管理。2、內(nèi)容:主要內(nèi)容包括操作員登錄、新客登記、從客登記、客人預定房間、預定轉(zhuǎn)入住、房間設置、顧客資料查詢、顧客離店結(jié)帳等。3、準備解決的問題:頁面間的數(shù)據(jù)傳送問題,各種控件的使用和數(shù)據(jù)庫操作等。擬采取的方法、技術或設計(開發(fā))工具:本系統(tǒng)采用c#語言在.net環(huán)境下開發(fā),數(shù)據(jù)庫則使用的是和系統(tǒng)開發(fā)相匹配的sql server 2000 的數(shù)據(jù)庫環(huán)境來完成。預期成果:1、畢業(yè)設計成果酒店管理系統(tǒng)2、畢業(yè)論文進度計劃:2006.12.1 - 2007.3.5:查找資料、搜集相關素材2007.3.6 - 2007.3.26 完成需求分析2007.3.27 - 2007.4.7:完成概要設計2007.4.8 - 2007.4.15:完成詳細設計2007.4.16 -2007.4.28:完成編碼2007.4.29 - 2007.5.4: 完成軟件測試2007.5.5 - 2007.5.15:整理資料、撰寫畢業(yè)論文2007.5.16 - 2007.5.25:根據(jù)導師要求,完善畢業(yè)設計和論文指導教師對選題報告的意見: 同意開題。 指導教師簽名: 2006年12月1日開題報告ii河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)任務書(由學生本人認真填寫)學號03023238姓名李嬌嬌導師姓名沈夏炯、崔翔任務書起止日期2006年12月8日 至 2007年5月20日論文提要:本文將主要介紹開發(fā)一個酒店管理系統(tǒng)的分析和設計過程。本系統(tǒng)將實現(xiàn)一個簡單的酒店管理系統(tǒng),它運行在單機環(huán)境下,實現(xiàn)最基本和最核心的功能。在本系統(tǒng)里,主要的功能模塊將有操作員登錄管理、客房類型設置管理、客房房態(tài)查詢管理、新客登記管理、客人預定管理、客人信息管理、客人離店結(jié)帳管理等。課題任務要求:隨著旅游業(yè)的發(fā)展和國內(nèi)市場的進一步開放,酒店業(yè)也面臨巨大的挑戰(zhàn)和機遇,能否在激烈的競爭中立于不敗之地,很大程度上取決于酒店管理者是否采用先進的管理方法和工具。根據(jù)調(diào)查了解管理者的需求,本系統(tǒng)將主要實現(xiàn)的內(nèi)容有操作員登錄、新客登記、客人預定房間、預定轉(zhuǎn)入住、房間設置、顧客資料查詢、顧客離店結(jié)帳等。最后將在以上設計實現(xiàn)的基礎上寫出一篇論文,詳細介紹該軟件的功能設計,數(shù)據(jù)庫設計,系統(tǒng)的設計及相關技術。主要參考文獻:1 陳志泊等,數(shù)據(jù)庫原理及應用教程,人民郵電出版社,2002年1月 2 馬峻等,c#網(wǎng)絡編程及應用, 機械工業(yè)出版社 2004年3 齊治昌、譚慶平、寧洪等 軟件工程 高等教育出版社 2004年4 黃明等,c#+sql server 2000中小型信息系統(tǒng)開發(fā)實例精選 機械工業(yè)出版社 2007年5 劉瑞新、馬峻.等 c#網(wǎng)絡編程及應用m.機械工業(yè)出版社.2004年5月6peter ajith, c# network programming fundamentals. course technology press7peter ajith, hands-on sql server 2000 administration. course technology press河南大學2007屆畢業(yè)設計(論文、創(chuàng)作)中期檢查表學院名稱:計算機與信息工程學院題目名稱酒店管理系統(tǒng)設計與實現(xiàn)學號03023238所學專業(yè)計算機科學與技術指導教師姓 名沈夏炯崔翔姓名李嬌嬌一、畢業(yè)設計進展情況1需求分析階段已經(jīng)完成;3系統(tǒng)開發(fā)所需要的環(huán)境和數(shù)據(jù)庫類型已經(jīng)確定;3數(shù)據(jù)庫的設計已經(jīng)完成;4系統(tǒng)所要實現(xiàn)的功能模塊已經(jīng)確定;5. 系統(tǒng)的詳細設計剛剛開始;二、存在問題1、數(shù)據(jù)庫安全設置不太嚴密2、代碼冗余較多3、某些控件方法不會使用三、下一階段的研究方法或設計思路1、研究如何進行頁面間的傳參2、研究如何將數(shù)據(jù)庫的操作都封裝到一個類中四、指導教師對學生設計(論文、創(chuàng)作)進展等方面的評語 該生在目前,只完成了系統(tǒng)部分的功能,而且還存在諸多問題沒有解決,如程序運行有異常,希望進一步努力降低程序的不穩(wěn)定性。 指導教師簽字: 2007年4 月 10日此表除第四項外由學生填寫指導教師簽名河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(一)學院名稱:計算機與信息工程學院學 號03023238姓名李嬌嬌專業(yè)計算機科學與技術指導教師沈夏炯(副教授)、崔翔(助教)綜合得分85論文題目酒店管理系統(tǒng)設計與實現(xiàn)指導教師評語及得分指導教師評語該生在整個酒店管理系統(tǒng)開發(fā)過程中,紀律性強,善于思考總結(jié),積極查閱各種資料,能夠在給定的時間內(nèi)按計劃完成任務以及完成論文的撰寫。評分項目分值指導教師對畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調(diào)查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質(zhì)量和創(chuàng)新意識55合計100得分139994585指導教師簽名 2007年5月20日評閱教師評語及評分評閱教師評語該論文內(nèi)容充實,論點明確,語句流暢,邏輯結(jié)構(gòu)清晰,層次分明,分析概括合理,論述清楚,文字表達準確,不足的是,在新觀點的體現(xiàn)方面,尚有欠缺??傮w來看,該論文符合本科論文要求。評分項目分值評閱畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調(diào)查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達10論文(設計、創(chuàng)作)質(zhì)量和創(chuàng)新意識55合計100得分149994485評閱教師簽名 2007年5月21日此表由教師填寫河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(二)學號03023238姓名李嬌嬌所在學院計算機與信息工程學院答辯委員會評語及評分答辯委員會評語該生答辯過程中思路清晰,反應敏捷,論文結(jié)構(gòu)合理,條理清楚,達到本科設計和論文標準,通過答辯。答辯委員簽字: 2007年5月26日評分 項目 分值論文答辯小組評分答辯情況論文質(zhì)量合計(100)內(nèi)容表達情況(15)答辯問題情況(25)規(guī)范要求與文字表達(20)論文(設計、創(chuàng)作)質(zhì)量和創(chuàng)新意識(40)得分 13 22 15 3585答辯委員會主任簽字: 2007年5月26日畢業(yè)論文(設計、創(chuàng)作)成績綜合評定: 85分綜合評定等級: 良備注:一、論文的質(zhì)量評定,應包括對論文的語言表達、結(jié)構(gòu)層次、邏輯性理論分析、設計計算、分析和概括能力及在論文中是否有新的見解或創(chuàng)新性成果等做出評價。從論文來看學生掌握本專業(yè)基礎理論和基本技能的程度。二、成績評定采用結(jié)構(gòu)評分法,即由指導教師、評閱教師和答辯委員會分別給分(以百分計),評閱教師得分乘以20%加上指導教師得分乘以20%加上答辯委員會得分乘以60%即綜合成績。評估等級按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以下。三、評分由專業(yè)教研室或院組織專門評分小組(不少于5人),根據(jù)指導教師和答辯委員會意見決定每個學生的分數(shù),在有爭議時,應由答辯委員會進行表決。四、畢業(yè)論文答辯工作結(jié)束后,各院應于6月20日前向教務處推薦優(yōu)秀論文以匯編成冊,推薦的篇數(shù)為按當年學院畢業(yè)生人數(shù)的1.5%篇。五、各院亦可根據(jù)本專業(yè)的不同情況,制定相應的具有自己特色的內(nèi)容。須報教務處備案。六、書寫格式要求:1、目錄;2、內(nèi)容提要須書寫200左右漢字,開題報告(文科除外)的內(nèi)容要根據(jù)不同專業(yè)的課題任務要求,闡述查閱文獻、文案論證、解題思路、工作步驟等;3、正文(含引言、結(jié)論等);4、參考文獻(或資料)河南大學本科生畢業(yè)論文(設計、創(chuàng)作)承諾書論文題目酒店管理系統(tǒng)設計與實現(xiàn)姓 名李嬌嬌所學專業(yè)計算機科學與技術學 號03023238完成時間2007年5 月20日指導教師姓名職稱沈夏炯(教授)、崔翔(助教)承諾內(nèi)容:1、本畢業(yè)論文(設計、創(chuàng)作)是學生 李嬌嬌 在導師沈夏炯、崔翔的指導下獨立完成的,沒有抄襲、剽竊他人成果,沒有請人代做,若在畢業(yè)論文(設計、創(chuàng)作)的各種檢查、評比中被發(fā)現(xiàn)有以上行為,愿按學校有關規(guī)定接受處理,并承擔相應的法律責任。2、學校有權保留并向上級有關部門送交本畢業(yè)論文(設計、創(chuàng)作)的復印件和磁盤。備注:學生簽名: 指導教師簽名: 2007 年 5 月 20 日 2007 年 5 月 20 日說明:學生畢業(yè)論文(設計、創(chuàng)作)如有保密等要求,請在備注中明確,承諾內(nèi)容第2條即以備注為準。目 錄摘 要iabstractii第1章 緒論11.1 開發(fā)背景及意義11.2 關于本系統(tǒng)的開發(fā)軟件簡介1第2章 系統(tǒng)功能分析和設計32.1 系統(tǒng)功能模塊圖32.2 系統(tǒng)流程簡介3第3章 數(shù)據(jù)庫設計53.1 系統(tǒng)e-r圖53.2 數(shù)據(jù)庫表5第4章 系統(tǒng)實現(xiàn)84.1 公用類84.2 主程序界面設計94.3 客房管理模塊104.3.1 客房設置管理子模塊104.3.2 客房查詢模塊設計114.4 客人定房入住管理124.4.1 客人預定管理模塊124.4.2 新客登記模塊144.4.3 客人信息查詢模塊15結(jié) 論18參考文獻19河南大學本科畢業(yè)生學士學位論文摘 要隨著計算機技術在各行各業(yè)的廣泛應用和取得的驚人效益,酒店管理者也爭相把目光投入到用計算機的先進技術來管理酒店上來,較之于傳統(tǒng)的手工管理,酒店管理系統(tǒng)就顯示出了它獨特的優(yōu)勢:方便、快捷、成本低和效率高。本文主要介紹了開發(fā)一個酒店管理系統(tǒng)的分析和設計過程。本系統(tǒng)實現(xiàn)了一個簡單的酒店管理系統(tǒng),它運行在單機環(huán)境下,實現(xiàn)了最基本和最核心的功能。在本系統(tǒng)里,主要的功能模塊有操作員登錄管理、客房類型設置管理、客房房態(tài)查詢管理、新客登記管理、客人預定管理、客人信息管理、客人離店結(jié)帳管理等。它為管理者提供迅速、高效的服務,減免手工處理的繁瑣與誤差,及時、準確地反映酒店的工作情況、經(jīng)營情況。關鍵詞 酒店管理,信息系統(tǒng),客房管理,顧客信息管理abstractwith the computer techniques widely applied in all kinds of fields, tremendous benefits have been gained. so hotel managers try hard to make great use of the convenience of the advanced computer techniques. compared to the traditional manual management, hotel mis has its special advantages: convenience, low cost and efficiency.this paper mainly describes the process of analysis and design of a hotel mis. this system is a simple hotel mis which runs on a single computer and achieves the basic and classic functions. in this system, the main function models include administrator log-on, house type designing, house status checking, new customer checking in, customer preservation, customer information management, customer checking out etc. this system avoids the complexity and faults of the manual management and can provide effective service to managers and reflect the information of the hotel.keywords: hotel management, information system, guest room management, guest information management第 19 頁第1章 緒論酒店管理系統(tǒng)主要是對酒店的客房信息、客人信息、經(jīng)營情況進行管理,它對于酒店業(yè)提高效益降低成本有著至關重要的作用。如何設計和使用高效的管理系統(tǒng)成為軟件開發(fā)人員和管理者共同關注的問題。下面就著重介紹本系統(tǒng)的開發(fā)背景、意義和所用到的軟硬件資源和一些技術。1.1 開發(fā)背景及意義隨著賓館酒店業(yè)競爭的日益激烈,酒店管理者也在積極尋求提高酒店效率和效益的方法,由于計算機在其他各行各業(yè)的廣泛應用和計算機新技術的出現(xiàn),用計算機來代替手工操作管理成為不可抵擋的潮流趨勢。將繁雜的客戶信息管理和客房管理交給計算機來處理,開發(fā)出一套適合于酒店自身的管理系統(tǒng)成為酒店管理者和開發(fā)人員關注的焦點。設計良好的、健壯的管理系統(tǒng)是企業(yè)能夠獲得最佳效益的重要因素,高效的管理系統(tǒng)能夠更快、更準確的反饋酒店各個方面的情況和信息,也能最大程度的吸引顧客,從而能創(chuàng)造更大的效益。1.2 關于本系統(tǒng)的開發(fā)軟件簡介本系統(tǒng)的開發(fā)是基于.net環(huán)境的,c#是一種從c和c+演變而來的一種簡單的、面向?qū)ο蟮暮皖愋桶踩男滦统绦蛟O計語言。由于它是面向?qū)ο蟮?,所以在編程中可以很方便的自定義類來滿足開發(fā)者不同的要求。c#幾乎綜合了目前所有高級語言的優(yōu)點,主要特點是語法簡潔,精心設計的面向?qū)ο笤O計,所以它很容易上手學習。此外該開發(fā)工具也提供了一個可以開發(fā)windows程序的平臺,它是一種可視化的開發(fā)工具,開發(fā)人員可以根據(jù)需要從控件庫里拖拉控件,也可以自定義控件,實現(xiàn)各種功能這樣就很大程度上簡化了程序員的工作。除了語言環(huán)境外,用到了sql server 2000,該數(shù)據(jù)庫管理系統(tǒng)是目前最優(yōu)秀和用的最多的dbms之一,它提供了很好的安全和恢復措施,可以滿足一般的系統(tǒng)安全需要。它適合于中小型程序的開發(fā),為系統(tǒng)開發(fā)者提供了很好的數(shù)據(jù)庫服務。在sql server中,使用的是t-sql語言,它提供了標準的sql 命令,由于sql語言功能豐富、語言簡潔,使用方法靈活,程序員在編程中可以很方便的使用sql語言去對數(shù)據(jù)庫進行操作。第2章 系統(tǒng)功能分析和設計本管理系統(tǒng)應該實現(xiàn)基本的酒店管理操作,它的主要功能模塊包括操作員登錄、新客登記、客人預定房間、預定轉(zhuǎn)入住、房間設置、顧客資料查詢、顧客離店結(jié)帳等。同時有的功能模塊可以包括子模塊,如顧客資料查詢包括所有客人資料查詢和在住客人資料查詢。本章就著重分析各個功能模塊的功能和設計。2.1 系統(tǒng)功能模塊圖圖2-1為酒店管理系統(tǒng)的功能模塊圖。圖2-1 酒店管理系統(tǒng)功能模塊圖2.2 系統(tǒng)流程簡介在本系統(tǒng)中,住宿的客人可以通過兩種途徑入住酒店??腿丝梢灾苯拥角芭_辦理入住手續(xù),進行前臺登記。前臺服務人員根據(jù)客人的需要,進行客房查詢,登記客人的信息,客人交納住房押金后便可入住。另一種方式是,客人可以預先預訂客房。前臺服務人員通過對預訂客房的查詢和訂房客人的要求,安排客人的所住房間,并且給預訂的客人設置訂房編號。當客人來到酒店后,交納住房押金后便可入住。酒店的管理人員可通過系統(tǒng)帳務催交系統(tǒng)查詢,了解入住客人押金情況。系統(tǒng)可以根據(jù)管理者的操作,統(tǒng)計出當時入住客人的押金數(shù)量,使管理者了解哪位客人的押金不足,以便提醒客人續(xù)交押金。當客人延長入住時間時,可將新增的押金注入??腿私Y(jié)帳的時候,管理者可通過系統(tǒng)進行資金的處理。根據(jù)客人的入住時間,以及客人住宿的房間單價,計算出客人實際所花費的金額。收取客人應繳費用后,客人便可以退房離開。 不同的操作員有不同的操作權限,本系統(tǒng)有三類操作員:系統(tǒng)管理員、前臺接待員和經(jīng)理,系統(tǒng)管理員可以使用系統(tǒng)的所有功能,如修改房態(tài)、更新房間類型、設置房間的價格等,而前臺接待員只能進行客戶的預定和入住登記等操作。經(jīng)理可以查詢帳務信息等。所有的操作員可以更改個人信息和登錄密碼等。第3章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計是系統(tǒng)設計的最重要的一部分,數(shù)據(jù)庫設計是否合理直接影響到程序的設計,有著至關重要的作用。本系統(tǒng)是對酒店業(yè)的深入調(diào)查后設計出來的。本章就主要介紹數(shù)據(jù)庫如何設計以及數(shù)據(jù)庫中各表的作用和內(nèi)容。3.1 系統(tǒng)e-r圖在正式編碼實現(xiàn)之前應該把數(shù)據(jù)庫設計好,只有這樣才不至于編碼過程中要修改數(shù)據(jù)庫。e-r方法是描述現(xiàn)實世界概念結(jié)構(gòu)模型的有效方法,圖3-1為該系統(tǒng)的e-r圖。圖3-1 系統(tǒng)e-r圖3.2 數(shù)據(jù)庫表本系統(tǒng)所用到的數(shù)據(jù)庫為hotelms,根據(jù)上面的e-r圖分析,我在數(shù)據(jù)庫里面定義了7個表,2個視圖。由于本系統(tǒng)是對酒店的客房、客人、管理員等信息的管理,數(shù)據(jù)庫表比較多,所以就將所有表及其功能列出,而客人入住情況表、從客資料表和房間情況表等數(shù)據(jù)庫表比較重要,這些表會在下面詳細介紹。表3-1是數(shù)據(jù)庫中所有表名、視圖及其作用。表3-1 數(shù)據(jù)庫所有表表名備注hadministrator該表是操作員登錄表,其中定義了操作員的用戶名、密碼和權限等hglive該表是顧客入住表,其中主要記錄了顧客的入住信息hguest該表是主客信息表,它主要用于客人第一次登記入住時hrguest該表是從客信息表,它記錄了所有客人的所有詳細信息hridentity該表是房間情況表,它記錄了所有客房的詳細信息hroom該表是房間設置表,它記錄所有房型及其價格hshedule該表是客人預定表,它記錄所有客人的預定信息view1該視圖是hglive和hridentity連接的個別字段,它是用在客人結(jié)帳離店時view2該視圖是hglive和hrguest連接的個別字段,它是用在查詢客人信息時本系統(tǒng)主要是對客房信息和客人入住信息進行管理的,所以下面就列出重要的幾個表。表3-2為顧客入住情況表。表3-2 顧客入住情況表字段名數(shù)據(jù)類型長度是否空是否主鍵hgaccountvarchar50否是hglroomnumvarchar50否是hglcheckindatetime8否否hglcheckoutdatetime8否否hglmoneyint4否否hglhourchar4否否hglsumint4否否hglpriceint4否否該表是顧客入住信息表,里面的字段分別代表顧客的帳號、房間號、入住時間、離店時間、所交金額、是否是鐘點房、房間數(shù)目、房間的標準價格。此表主要是記錄顧客的入住信息。表3-3為從客資料表。表3-3 從客資料表字段名數(shù)據(jù)類型長度是否空是否主鍵hgaccountvarchar50否是hnamevarchar50否是hroomnumvarchar50否是hgenderchar10否否hidvarchar50否否hidnumvarchar50否否hbirthdatedatetime8否否haddrvarchar50是否hadminvarchar50否否hlogintimedatetime8否否htypevarchar50否否hextravarchar50是否該表是從客資料表,表中的字段分別代表客人的帳號、客人姓名、所住的房號,客人性別、證件類型、證件號碼、出生日期、地址、登記員、登記時間、客人類型、備注。該表包含了所有客人的詳細信息,其中客人帳號、客人姓名、所住房號為主鍵,它們唯一確定一條記錄。表3-4為房間情況表。表3-4 房間情況表字段名數(shù)據(jù)類型長度是否為空是否主鍵hriroomnumvarchar50否是hriroontypevarchar50否否hrilocationvarchar50否否hrifloorint4否否hriconditionvarchar50是否hribedsnumint4否否hritelevarchar50否否hriextravarchar50是否hristatusvarchar50否否該表是房間情況表,表中的字段分別代表房間房號、房型、位置、層號、房間特征、床數(shù)、房間電話、備注、房態(tài)。該表中房號是主鍵。該表主要記錄了酒店所有房間的信息。第4章 系統(tǒng)實現(xiàn)軟件開發(fā)的一個重要階段就是編碼實現(xiàn),它是實現(xiàn)系統(tǒng)功能,滿足用戶需求的重要環(huán)節(jié)。本系統(tǒng)的開發(fā)是用c#語言編寫的,里面有許多編程的技巧和實現(xiàn)代碼。本章就主要介紹本系統(tǒng)是如何實現(xiàn)的,并且會詳細介紹有些編程技巧和一些自定義的類和對數(shù)據(jù)庫操作所用到的代碼和方法。4.1 公用類根據(jù)c#語言的面向?qū)ο蟮奶匦?,在本系統(tǒng)中定義了一個對數(shù)據(jù)庫進行操作的公用類,可以很方便的使用里面的方法對數(shù)據(jù)庫進行操作。下面是該類的定義和部分實現(xiàn)代碼。我所定義的公用類名是dbmani,里面定義了一個靜態(tài)成員變量admin(主要用于傳參用)和8個方法,下面就主要介紹各個方法的作用和部分代碼實現(xiàn)。public sqlconnection initsqlconn()string str;str=server=localhost;uid=sa;pwd=123456;database=hotelms;/連接字符串,該字符串表明要連接到的數(shù)據(jù)庫sqlconnection conn = new sqlconnection(str); return conn;/返回一個數(shù)據(jù)庫連接 /該方法是返回一個數(shù)據(jù)庫連接,其中str是一個連接字符串,它定義了與hotelms的連接。下面的方法都調(diào)用到了該方法。public sqlcommand command(string str)/該方法返回一個sqlcommand對象,它主要用于對數(shù)據(jù)庫進行插入、刪除、更新操作。public sqldatareader reader(string str)/該方法返回一個sqldatareader對象,它主要用于對數(shù)據(jù)庫表中數(shù)據(jù)的快速讀取。public int sum(string str) dbmani db = new dbmani(); /生成對象int num = 0; sqldatareader rd = db.reader(str);/此處調(diào)用了上面定義的方法 while (rd.read()num += 1; return num;/該方法是查詢數(shù)據(jù)庫中是否有某條記錄,如有此條記錄,返回的num值大于1,反之為0,其中方法里面的參數(shù)為一條sql查詢語句。public void insert(string str)dbmani db = new dbmani();生成類對象sqlconnection conn = db.initsqlconn();/調(diào)用方法得到一個數(shù)據(jù)庫連接。conn.open();/打開連接sqlcommand command = new sqlcommand(str, conn);/生成sqlcommand對象以對數(shù)據(jù)庫進行一條記錄的插入int num = command.executenonquery(); conn.close();/關閉連接 /其中方法里參數(shù)str為一條sql插入語句public void delete(string str)/這是實現(xiàn)一條記錄的刪除,代碼實現(xiàn)與插入的類似。public void update(string str)/這是實現(xiàn)對一條或多條記錄的更新操作,代碼實現(xiàn)與插入的類似。public void adapter(string sql,string datamember,combobox cb)/這是實現(xiàn)對combobox控件與數(shù)據(jù)庫的綁定,sql為查詢語句,datamember為該控件所顯示的符合要求的字段。4.2 主程序界面設計主窗體的菜單包括基本操作、客房系統(tǒng)、信息查詢、基礎資料、幫助說明等??旖莶藛斡蟹繎B(tài)圖、新客登記、預定管理、客務中心、離店結(jié)帳、帳務催交。其中客房系統(tǒng)包括房態(tài)圖、預定管理和修改房態(tài),信息查詢可以查到所有客戶信息和在住客人信息,基礎資料包括房間的設置和修改等。主菜單是用了一個menustrip控件,下面用的一個tabcontrol包含6個tabpage,各自實現(xiàn)不同的功能。主窗體菜單如圖4-1所示。圖4-1 窗體主菜單下面是登錄界面的設計和實現(xiàn):登錄界面有1個combobox控件是操作員用戶名,它與數(shù)據(jù)庫進行綁定,這里的綁定用到了上面公用類里面的最后一個方法,凡是有權使用該系統(tǒng)的操作員都可以通過輸入密碼登錄系統(tǒng)。還有一個textbox控件用來輸入密碼,通過用sqldatareader對象可以對數(shù)據(jù)庫里面的信息進行匹配,判斷密碼是否和用戶名符合,符合的進入系統(tǒng),反之提示出錯。有2個按鈕一個是登錄按鈕,一個是退出按鈕,當點擊登錄按鈕時,對用戶名和密碼進行驗證。這里用到的代碼實現(xiàn)是while(rd.read()if(rd1=this.textbox.text.tostring().trim() break; yes=true;/ 這里yes是bool類型的初始值為falseif(yes=false) messagebox.show(“密碼錯誤”);4.3 客房管理模塊客房管理模塊包括2個子模塊:客房設置與客房查詢。4.3.1 客房設置管理子模塊本模塊主要是對房間類型、是否鐘點房、房價的設置,這里用到的控件有datagridview,由于該控件能直觀的顯示數(shù)據(jù)庫表中符合要求的所有記錄,所以在查詢的情況下使用很方便,通過對它進行數(shù)據(jù)源配置,會自動生成數(shù)據(jù)集dataset和sqldataadaptor對象adaptor,adaptor.fill(ds.hroom)用它可以方便的將數(shù)據(jù)庫內(nèi)容顯示到該控件中。同時還用到了1個textbox用于輸入房型,1個combobox選擇是否鐘點房,2個numericupanddown控件來設置鐘點房和非鐘點房各自的房價。還用到5個按鈕分別是添加、保存、修改、刪除和退出。通過編寫代碼將上面的控件用來顯示datagridview里面當前行的內(nèi)容,本功能的實現(xiàn)是用到了datagridview的一個事件currentcellchanged,在此事件里面可以將上面的控件與該當前行內(nèi)容綁定。如this.textbox.text=this.datagridview.currentrow.cells1.value.tostring().trim();這樣在textbox控件里面可以顯示當前行的房型信息。添加按鈕實現(xiàn)的是將控件內(nèi)容清空,可以在里面輸入要添加的房型和房價等,保存按鈕實現(xiàn)將此條信息插入到數(shù)據(jù)庫中,若房型和數(shù)據(jù)庫中有重復,應不予插入,提示出錯,這里用到了公用類里面的插入方法,同時更新、刪除都是和插入的代碼類似。這里還用到的一個方法就是將更改過的數(shù)據(jù)庫及時的顯示在datagridview控件里面。這個功能是用代碼來更新datagridview。adaptor.fill(ds.hroom);this.datagridview1.update();4.3.2 客房查詢模塊設計通過此模塊可以查詢和設置所有客房的信息,如位置、電話、特征和房態(tài)情況,有助于管理員更方便的管理房間。同時還可以添加和刪除客房以及修改客房的信息等。圖4-2是該模塊界面。圖4-2 客房查詢界面圖該模塊的實現(xiàn)也用到了datagridview控件,和上面房間設置模塊的代碼實現(xiàn)有些不同。這里用到的代碼有:sql = select * from hridentity where hrilocation= + sql1 + and hrifloor= + sql2 + ;/ sql查詢語句dbmani db = new dbmani();/生成dbmani對象sqlconnection conn = db.initsqlconn();/調(diào)用方法返回一個數(shù)據(jù)庫連接sqldataadapter adapter = new sqldataadapter(sql, conn);/生成sqldataadapter對象這里的sqldataadapter對象相當一個適配器。dataset ds = new dataset();/生成dataset對象adapter.fill(ds, hridentity);/,將數(shù)據(jù)庫中符合查詢的記錄添入到ds對象中this.datagridview1.datasource = ds.tableshridentity;/設置datagridview的數(shù)據(jù)源有一點不同的是也是比它難的一點是客房過濾這個功能的實現(xiàn),這里用到了2個listbox控件,通過選擇房間的所在位置和層數(shù)用datagridview來顯示數(shù)據(jù)庫中符合的記錄。這里用到的datagridview控件它綁定到hridentity表上,來顯示表中信息,可以用sql語句來控制所查詢符合條件的記錄。如要查詢主樓的所有房間可以用string sql=”select * from hridentity where hrilocation=”+this.listbox.selecteditem.tostring()+”;同時這里還對控件進行了綁定,在選中datagridview的某一行時可以在文本框、combobox、numericupanddown控件中顯示表中的信息綁定的代碼在datagridview的currentcellchanged事件里面實現(xiàn)。4.4 客人定房入住管理該模塊是顧客信息管理模塊,它包含了3個子模塊,分別是客人預定管理模塊、新客登記模塊和客人信息查詢模塊。4.4.1 客人預定管理模塊客戶可通過2種方式進行入住酒店,一是直接去前臺登記,二是進行預定。這里主要介紹客人預定入店管理模塊。預定管理是客人在入店之前直接到酒店向酒店預定房間或打電話預定,操作員將預定信息錄入到數(shù)據(jù)庫中,并且在datagridview里面顯示所有的預定信息,每天晚上6點操作員都要查詢預定信息,查看那些客人沒有入住,沒有入住的操作員就要打電話詢問客人是否要取消預定或是延遲入住的時間。圖4.3為客人進行預定的界面。圖4-3 客人預定界面圖該模塊也用到了datagridview控件,用法與上面的類似,這里主要說一下預定客人帳號的生成,這里的帳號我都用00001-99999這樣的格式,實現(xiàn)此功能的代碼如下:string i = 00000; int index = 0;string sql = select * from hshedule;/sql語句是查詢表中第一條記錄sqldatareader rd = db.reader(sql);/調(diào)用公用類里面的方法生成rdwhile (rd.read() i = rd0.tostring().trim();/獲取第一條記錄的內(nèi)容。 break;/讀取一條記錄/這里獲取數(shù)據(jù)庫表hshedule中的第一條記錄,也是客人帳號最大的一條。rd.close();/關閉rdindex = int.parse(i) + 1;/下一條記錄的帳號,即表中最大帳號加1string .textboxprenum=”00000”.substring(0,5-index.tostring().length)+index.tostring();/將生成的帳號序號格式化成要求的那樣this.textboxprenum.text = textboxprenum;/將帳號值顯示到textbox中在該窗體里還用到了combobox控件,combobox是一種下拉菜單,它的項目可以是手動添加的,也可以和數(shù)據(jù)庫綁定,我這里用到了兩種方法,在預定房型里面我手動添入了幾項內(nèi)容。同時客人也可以到時進行轉(zhuǎn)入住,點擊轉(zhuǎn)入住按鈕就可以進入客人登記頁面,它是和新客登記用的同一個頁面,這個公用頁面用到一個標簽來顯示是新客登記還是預定客人轉(zhuǎn)入住,只是傳參不同。這里用到的代碼是:this.lable.text=hotelmain.addroom;this.lable.findform().text=this.lable.text;/這里的findform()方法是獲得該控件所在的窗體。4.4.2 新客登記模塊新客登記是客人直接到前臺登記入店,客人可以是散客也可以是團體,這里的登記是對主客的登記,同時將主客的詳細信息插入到hrguest表中,圖4-4是該模塊的界面圖。圖4-4 新客登記界面圖這個模塊和其他模塊的主要區(qū)別和難點是頁面間的傳參、數(shù)據(jù)庫表的查詢和checkedlistbox以及l(fā)istbox控件的使用。checkedlistbox類似于listbox不過里面的內(nèi)容是checkedbox,可以有多項內(nèi)容。這里我用到的checkedlistbox是和數(shù)據(jù)庫綁定的,在框里面顯示的是對應的符合要求的房間號。listbox可以很方便的將所有的項目一目了然的顯示在框中,在這里每選擇一個checkedlistbox里面的內(nèi)容都會在listbox里面顯示。傳參的問題我是使用聲名靜態(tài)變量的方式來解決的,由于每個windows頁面是一個類,在類里面定義全局靜態(tài)變量,別的頁面可以方便的使用或改變該頁面的數(shù)據(jù)。數(shù)據(jù)表的查詢主要是各個表之間的連接查詢,用到的sql語句很容易出錯,還有就是checkedlistbox和listbox控件的使用,由于要在checkedlistbox里面選擇的房號要在listbox里面顯示,這樣就需要寫比較復雜的代碼來實現(xiàn)這個功能,這也主要是對這兩個控件進行綁定,和combobox的綁定類似。這里新客的帳號生成也和上面客人預定帳號的生成類似,不過這里的格式更麻煩,因為帳號是以h開頭中間8位是當天的日期,后面才是客人登記的序號,如“h2007051900002”這個序號的意思是在2007-05-19這天這個客人是第2個來登記入店的。這樣的帳號形式會更直觀,操作也好實現(xiàn)。還有一個重要的功能要實現(xiàn)的是:在添加開房窗體里選擇添加的房間后,點擊保存關閉該窗體,而且會將所選房間的信息顯示到新客入住登記窗體的datagridview里面,所以在該窗體被激活后,將房間的信息添加到datagridview里面。用到的代碼有:string row = hotelmain.roomnum, hotelmain.roomtype, 否, hotelmain.sprice.tostring(), hotelmain.leave, 1 ;/將所選房間信息放入字符數(shù)組里面this.datagridview1.rows.add(row) ;/將數(shù)組里面的數(shù)據(jù)填入到datagridview里面這里有一個功能是查詢客人歷史開房記錄,這里也是用到了查詢數(shù)據(jù)庫里面的內(nèi)容,再將查詢到的內(nèi)容填入到datagridview里面顯示。4.4.3 客人信息查詢模塊此模塊主要顯示所有客人的信息:包括主客和從客的詳細信息,在隨客管理里面可以添加從客信息。同時這一模塊還可以查詢到在住客人信息和所有客人信息,這一功能主要通過查詢過濾,找到合適的記錄在控件里面顯示,這一功能的實現(xiàn)比較簡單,下面就主要說明如何顯示主從客信息這一功能。圖4-5為該模塊部分界面。圖4-5 客人信息查詢界面這里主要實現(xiàn)的一個難點是從數(shù)據(jù)庫表中讀出客人的信息顯示到textbox控件里面,因為這里實現(xiàn)比較麻煩我就在數(shù)據(jù)庫設計時把記錄按從大到小的順序排序,通過兩個按鈕來逐條讀出表中每一條信息,這里也就利用了帳號設計的規(guī)則可以從表中正確的讀出信息。由于sqldatareader對象只能對數(shù)據(jù)庫表快速的讀,它不能做到讀下一條記錄的時候從上/下一條記錄開始往下/上讀,所以我就利用帳號是主鍵和它的特點進行讀取,下面是主要的代碼:dbmani db = new dbmani();/生成類對象string sql = select * from view1;/對視圖進行查詢sqldatareader rd = db.reader(sql);/調(diào)用公用類方法生成rd對象本頁面在第一次加載時點擊下一條按鈕將表中第一條記錄顯示在文本框里,若點擊上一條按鈕則不顯示任何內(nèi)容。當文本里面有內(nèi)容時,點擊下一條按鈕,用字符串變量記下該文本框中的帳號,取其后5個字符轉(zhuǎn)化成int型,用index記下,如果是1說明該天的登記客人已經(jīng)查詢完了,如果大于1說明該天登記客人還有,可以用sql語句:sql=select * from view1 where hgaccount=”;sql+=+this.t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論