酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
酒店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)某酒店的設(shè)計(jì)與開(kāi)發(fā)管理信息系統(tǒng)目錄TOC\o"1-3"\u摘要我摘要 二第1章引言11.1發(fā)展背景及意義11.2本系統(tǒng)開(kāi)發(fā)軟件介紹1第二章系統(tǒng)功能分析與設(shè)計(jì)32.1系統(tǒng)功能模塊圖32.2系統(tǒng)流程介紹3第3章數(shù)據(jù)庫(kù)設(shè)計(jì)53.1系統(tǒng)ER圖53.2數(shù)據(jù)庫(kù)表5第4章系統(tǒng)實(shí)現(xiàn)84.1普通類84.2主程序界面設(shè)計(jì)94.3客房管理模塊104.3.1客房設(shè)置管理子模塊104.3.2客房查詢模塊設(shè)計(jì)114.4客人預(yù)訂和入住管理124.4.1客人預(yù)訂管理模塊124.4.2新客戶注冊(cè)模塊144.4.3客人信息查詢模塊15結(jié)論18參考文獻(xiàn)19摘要隨著計(jì)算機(jī)技術(shù)在各行各業(yè)的廣泛應(yīng)用和取得的驚人效益,酒店管理者也爭(zhēng)先恐后地專注于利用先進(jìn)的計(jì)算機(jī)技術(shù)來(lái)管理酒店。與傳統(tǒng)的人工管理相比,酒店管理系統(tǒng)顯示出其獨(dú)特的優(yōu)勢(shì):方便、快捷、成本低、效率高。本文主要介紹了開(kāi)發(fā)一個(gè)酒店管理系統(tǒng)的分析和設(shè)計(jì)過(guò)程。本系統(tǒng)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的酒店管理系統(tǒng),在單機(jī)環(huán)境下運(yùn)行,實(shí)現(xiàn)了最基本最核心的功能。本系統(tǒng)主要功能模塊包括操作員登錄管理、客房類型設(shè)置管理、客房狀態(tài)查詢管理、新客人登記管理、客人預(yù)訂管理、客人信息管理、客人結(jié)帳管理等。為管理人員提供快捷高效的服務(wù),減少人工處理的繁瑣和錯(cuò)誤,及時(shí)準(zhǔn)確地反映酒店的工作和經(jīng)營(yíng)情況。關(guān)鍵詞酒店管理,信息系統(tǒng),客房管理,客戶信息管理摘要_隨著計(jì)算機(jī)技術(shù)在各個(gè)領(lǐng)域的廣泛應(yīng)用,已經(jīng)獲得了巨大的收益。所以酒店管理者努力利用先進(jìn)的計(jì)算機(jī)技術(shù)帶來(lái)的便利。與傳統(tǒng)的人工管理相比,酒店管理信息系統(tǒng)有其獨(dú)特的優(yōu)勢(shì):方便、成本低、效率高。本文主要描述了一個(gè)酒店管理信息系統(tǒng)的分析和設(shè)計(jì)過(guò)程。該系統(tǒng)是一個(gè)簡(jiǎn)單的酒店管理信息系統(tǒng),運(yùn)行在單臺(tái)計(jì)算機(jī)上,實(shí)現(xiàn)了基本和經(jīng)典的功能。本系統(tǒng)主要功能模型包括管理員登錄、房型設(shè)計(jì)、房屋狀態(tài)查詢、新客戶入住、客戶保存、客戶信息管理、客戶退房等。該系統(tǒng)避免了人工管理的復(fù)雜性和故障。并能為管理者提供有效的服務(wù),反映酒店的信息。關(guān)鍵詞:酒店管理,信息系統(tǒng),客房管理,賓客信息管理第一章簡(jiǎn)介酒店管理系統(tǒng)主要管理酒店的客房信息、客人信息、營(yíng)業(yè)情況等。它在提高酒店業(yè)的效率和降低成本方面發(fā)揮著至關(guān)重要的作用。如何設(shè)計(jì)和使用一個(gè)高效的管理系統(tǒng)已經(jīng)成為軟件開(kāi)發(fā)者和管理者共同關(guān)心的問(wèn)題。下面將重點(diǎn)介紹本系統(tǒng)的開(kāi)發(fā)背景、意義、軟硬件資源和使用的一些技術(shù)。1.1發(fā)展背景及意義隨著酒店業(yè)競(jìng)爭(zhēng)的日益激烈,酒店管理者也在積極尋求提高酒店效率和效益的方法。由于計(jì)算機(jī)在其他行業(yè)的廣泛應(yīng)用和新的計(jì)算機(jī)技術(shù)的出現(xiàn),使用計(jì)算機(jī)代替人工操作管理已成為不可阻擋的趨勢(shì)。將復(fù)雜的客戶信息管理和房間管理交給計(jì)算機(jī),開(kāi)發(fā)一套適合酒店自身的管理系統(tǒng)成為酒店管理者和開(kāi)發(fā)者關(guān)注的焦點(diǎn)。一個(gè)設(shè)計(jì)良好、穩(wěn)健的管理體系是企業(yè)獲得最佳效益的重要因素。一個(gè)高效的管理系統(tǒng)可以更快、更準(zhǔn)確地反饋酒店各方面的情況和信息,也可以最大程度地吸引顧客。更大的利益。1.2本系統(tǒng)開(kāi)發(fā)軟件介紹本系統(tǒng)的開(kāi)發(fā)基于.NET環(huán)境。C#是從C和C++演變而來(lái)的簡(jiǎn)單、面向?qū)ο蠛皖愋桶踩男戮幊陶Z(yǔ)言。因?yàn)槭敲嫦驅(qū)ο蟮?,所以在編程中自定義類來(lái)滿足開(kāi)發(fā)者的不同需求非常方便。C#幾乎綜合了當(dāng)前所有高級(jí)語(yǔ)言的優(yōu)點(diǎn)。主要特點(diǎn)是簡(jiǎn)潔的語(yǔ)法和精心設(shè)計(jì)的面向?qū)ο笤O(shè)計(jì),因此易于學(xué)習(xí)。此外,該開(kāi)發(fā)工具還提供了開(kāi)發(fā)Windows程序的平臺(tái)。它是一個(gè)可視化開(kāi)發(fā)工具。開(kāi)發(fā)者可以根據(jù)需要從控件庫(kù)中拖放控件,或者自定義控件來(lái)實(shí)現(xiàn)各種功能。它在一定程度上簡(jiǎn)化了程序員的工作。除了語(yǔ)言環(huán)境,還使用了SQLServer2000。該數(shù)據(jù)庫(kù)管理系統(tǒng)是最優(yōu)秀和最常用的DBMS之一。它提供了良好的安全和恢復(fù)措施,可以滿足總則系統(tǒng)安全需求。適用于中小型程序的開(kāi)發(fā),為系統(tǒng)開(kāi)發(fā)者提供良好的數(shù)據(jù)庫(kù)服務(wù)。在SQLServer中,使用了T-SQL語(yǔ)言,它提供了標(biāo)準(zhǔn)的SQL命令。由于SQL語(yǔ)言功能豐富、語(yǔ)言簡(jiǎn)潔、使用方式靈活,程序員在編程中可以很方便地使用SQL語(yǔ)言進(jìn)行數(shù)據(jù)庫(kù)操作。操作。第二章系統(tǒng)功能分析與設(shè)計(jì)管理系統(tǒng)應(yīng)實(shí)現(xiàn)基本的酒店管理操作。其主要功能模塊包括運(yùn)營(yíng)商登錄、新客人登記、客房預(yù)訂、預(yù)訂轉(zhuǎn)移、房間設(shè)置、客戶信息查詢、客戶結(jié)賬等。同時(shí),部分功能模塊可能包括子模塊,如客戶資料查詢包括所有客人數(shù)據(jù)查詢和內(nèi)部客人數(shù)據(jù)查詢。本章重點(diǎn)分析各個(gè)功能模塊的功能和設(shè)計(jì)。2.1系統(tǒng)功能框圖圖2-1是酒店管理系統(tǒng)的功能框圖。圖2-1酒店管理系統(tǒng)功能模塊圖圖2-1酒店管理系統(tǒng)功能模塊圖2.2系統(tǒng)流程介紹在這個(gè)系統(tǒng)中,酒店客人可以通過(guò)兩種方式入住酒店??腿丝芍苯拥角芭_(tái)辦理入住手續(xù)并在前臺(tái)登記。前臺(tái)工作人員會(huì)根據(jù)客人需求進(jìn)行房間查詢,登記客人信息,客人交納住房押金后即可入住?;蛘?,客人可以提前預(yù)訂房間。前臺(tái)服務(wù)人員通過(guò)對(duì)預(yù)定房間的查詢和預(yù)定客人的要求,為預(yù)定的客人安排客房并設(shè)置預(yù)定號(hào)。客人抵達(dá)酒店后,支付押金即可入住。酒店管理層可通過(guò)系統(tǒng)賬戶提醒系統(tǒng)查詢客人的押金情況。根據(jù)經(jīng)理的操作,系統(tǒng)可以統(tǒng)計(jì)當(dāng)時(shí)入住客人的押金金額,以便經(jīng)理知道哪個(gè)客人的押金不足,從而提醒客人續(xù)訂押金??腿搜娱L(zhǎng)逗留時(shí)間時(shí),可注入額外押金。當(dāng)客人退房時(shí),經(jīng)理可以通過(guò)系統(tǒng)處理資金。根據(jù)客人的入住時(shí)間,客人的實(shí)際消費(fèi)金額以與客人同房的單價(jià)計(jì)算。客人在收取客人應(yīng)付的費(fèi)用后可以退房并離開(kāi)。不同的經(jīng)營(yíng)者擁有不同的經(jīng)營(yíng)權(quán)。本系統(tǒng)共有三種操作人員:系統(tǒng)管理員、接待員和經(jīng)理。系統(tǒng)管理員可以使用系統(tǒng)的所有功能,如修改房間狀態(tài)、更新房型、設(shè)置房間價(jià)格等,而前臺(tái)接待員只能進(jìn)行客戶預(yù)訂、入住等操作。管理人員可以查詢會(huì)計(jì)信息等。所有操作人員可以更改個(gè)人信息和登錄密碼等。第3章數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中最重要的部分。數(shù)據(jù)庫(kù)設(shè)計(jì)是否合理直接影響程序設(shè)計(jì),起著至關(guān)重要的作用。該系統(tǒng)是在對(duì)酒店行業(yè)進(jìn)行深入調(diào)查后設(shè)計(jì)的。本章主要介紹數(shù)據(jù)庫(kù)是如何設(shè)計(jì)的,以匹配數(shù)據(jù)庫(kù)中每個(gè)表的角色和內(nèi)容。3.1系統(tǒng)ER圖數(shù)據(jù)庫(kù)應(yīng)該在正式編碼實(shí)施之前設(shè)計(jì)好,這樣在編碼過(guò)程中數(shù)據(jù)庫(kù)就不會(huì)被修改。ER方法是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。圖3-1顯示了系統(tǒng)的ER圖。圖3-1系統(tǒng)E-R圖圖3-1系統(tǒng)E-R圖3.2數(shù)據(jù)庫(kù)表本系統(tǒng)使用的數(shù)據(jù)庫(kù)是HotelMS。根據(jù)上面的ER圖分析,我在數(shù)據(jù)庫(kù)中定義了7個(gè)表和2個(gè)視圖。由于本系統(tǒng)管理酒店的客房、客人、管理員等信息,數(shù)據(jù)庫(kù)表很多,所以列出了所有的表及其功能,以及客人入住狀態(tài)表、客人數(shù)據(jù)表、房間等數(shù)據(jù)庫(kù)表列出狀態(tài)表。更重要的是,這些表格將在下面詳細(xì)描述。表3-1顯示了數(shù)據(jù)庫(kù)中所有的表名、視圖及其功能。表3-1數(shù)據(jù)庫(kù)中的所有表表名評(píng)論管理員該表為操作員登錄表,定義了操作員的用戶名、密碼和權(quán)限等。HGLive此表為客戶簽到表,主要記錄客戶的簽到信息客人此表為主客信息表,主要用于客人第一次入住時(shí)使用HRGuest此表為客人信息表,記錄了所有客人的所有詳細(xì)信息HR身份該表為房間情況表,記錄了所有房間的詳細(xì)信息房間此表為房間設(shè)置表,記錄了所有房型及其價(jià)格HShedule此表為客人預(yù)訂表,記錄了所有客人的預(yù)訂信息視圖1此視圖是HGLive和HRIdentity之間連接的單個(gè)字段,在客人結(jié)賬和離開(kāi)商店時(shí)使用視圖2此視圖是HGLive和HRGuest連接起來(lái)的一個(gè)單獨(dú)字段,用于查詢客人信息本系統(tǒng)主要管理客房信息和客人入住信息,下面列出一些重要的表格。表3-2為客戶占用表。表3-2客戶入住表字段名稱數(shù)據(jù)類型長(zhǎng)度是否為空首要的關(guān)鍵HG帳戶varchar50不是的HGL房間號(hào)varchar50不是的HGLcheckin約會(huì)時(shí)間8不不HGL結(jié)賬日期時(shí)間_8不不HGLmoney整數(shù)4不不HGL小時(shí)字符4不不HGLsum整數(shù)4不不HGL價(jià)格整數(shù)4不不此表為客戶入住信息表,其中的字段分別代表客戶的房號(hào)、入住時(shí)間、退房時(shí)間、支付金額、是否為時(shí)薪房、房數(shù)、標(biāo)準(zhǔn)房間的價(jià)格。該表主要記錄客戶的入住信息。表3-3是客戶數(shù)據(jù)表。表3-3客戶數(shù)據(jù)表字段名稱數(shù)據(jù)類型長(zhǎng)度是否為空首要的關(guān)鍵HG帳戶V弓50不是的名字V弓50不是的哈姆納姆V弓50不是的性別字符_10不不隱藏V弓50不不海蜇V弓50不不生日日期時(shí)間_8不不哈德?tīng)朧弓50是的不哈敏V弓50不不登錄時(shí)間日期時(shí)間_8不不H型V弓50不不六邊形varchar50是的不該表是從數(shù)據(jù)表。表格中的字段代表客人、客人、房間號(hào)、客人性別、文件類型、文件、出生日期、地址、登記員、登記時(shí)間、客人類型和備注。該表包含所有客人的詳細(xì)信息,其中客人、客人和門牌號(hào)為主鍵,它們唯一標(biāo)識(shí)一條記錄。表3-4為房間情況表。表3-4房間情況表字段名稱數(shù)據(jù)類型長(zhǎng)度是空的首要的關(guān)鍵HRIroomnumvarchar50不是的HRRoontypevarchar50不不人力資源定位varchar50不不HRI地板詮釋_4不不HRI條件varchar50是的不HRIbedsnum詮釋_4不不人力資源網(wǎng)varchar50不不HRIextravarchar50是的不人力資源狀況varchar50不不這張表是房間情況表。表格中的字段分別代表房間號(hào)、房間類型、位置、樓層號(hào)、房間特色、床位數(shù)、房間、備注和房間狀態(tài)。此表中的房間號(hào)是主鍵。這張表主要記錄了酒店所有房間的信息。第四章系統(tǒng)實(shí)現(xiàn)軟件開(kāi)發(fā)的一個(gè)重要階段是編碼實(shí)現(xiàn),它是實(shí)現(xiàn)系統(tǒng)功能和滿足用戶需求的重要環(huán)節(jié)。本系統(tǒng)的開(kāi)發(fā)是用C#語(yǔ)言編寫的,里面有很多編程技巧和實(shí)現(xiàn)代碼。本章主要介紹系統(tǒng)是如何實(shí)現(xiàn)的,并詳細(xì)介紹了一些編程技巧和一些用于數(shù)據(jù)庫(kù)操作的自定義類和代碼和方法。4.1公開(kāi)課根據(jù)C#語(yǔ)言面向?qū)ο蟮奶攸c(diǎn),本系統(tǒng)定義了一個(gè)操作數(shù)據(jù)庫(kù)的公共類,使用其中的方法可以方便地操作數(shù)據(jù)庫(kù)。下面是類的定義和部分實(shí)現(xiàn)代碼。我定義的公共類名是dbmani,它定義了一個(gè)靜態(tài)成員變量admin(主要用于傳遞參數(shù))和8個(gè)方法。下面主要介紹各個(gè)方法的作用和一些代碼實(shí)現(xiàn)。公共SqlConnectionInitSqlConn(){字符串str;str="server=localhost;uid=sa;pwd=123456;database=HotelMS;//連接字符串,表示要連接的數(shù)據(jù)庫(kù)SqlConnectionconn=newSqlConnection(str);返回連接;//返回一個(gè)數(shù)據(jù)庫(kù)連接}//該方法返回一個(gè)數(shù)據(jù)庫(kù)連接,其中str是一個(gè)連接字符串,定義了與HotelMS的連接。以下方法均調(diào)用此方法。publicSqlCommandCommand(stringstr){}//該方法返回一個(gè)sqlcommand對(duì)象,主要用于數(shù)據(jù)庫(kù)的插入、刪除、更新。publicSqlDataReaderReader(stringstr)//該方法返回一個(gè)sqldatareader對(duì)象,主要用于快速讀取數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。公共整數(shù)總和(字符串str){dbmanidb=新的dbmani();//生成對(duì)象整數(shù)=0;SqlDataReaderrd=db.Reader(str);//這里調(diào)用上面定義的方法而(rd.Read()){num+=1;}返回?cái)?shù)字;}//該方法是查詢數(shù)據(jù)庫(kù)中是否有某條記錄。如果有這樣的記錄,則返回的num值大于1,否則為0,方法中的參數(shù)為SQL查詢語(yǔ)句。公共無(wú)效插入(字符串str){dbmanidb=新的dbmani();生成類對(duì)象SqlConnectionconn=db.InitSqlConn();//調(diào)用方法獲取數(shù)據(jù)庫(kù)連接。conn.Open();//打開(kāi)連接SqlCommand命令=新SqlCommand(str,conn);//生成一個(gè)sqlcommand對(duì)象向數(shù)據(jù)庫(kù)中插入一條記錄intnum=command.ExecuteNonQuery();conn.Close();//關(guān)閉連接}//方法中的參數(shù)str為sql插入語(yǔ)句publicvoidDelete(stringstr){}//這是刪除一條記錄,代碼實(shí)現(xiàn)與插入類似。publicvoidUpdate(stringstr){}//這個(gè)是實(shí)現(xiàn)對(duì)一條或多條記錄的更新操作,代碼實(shí)現(xiàn)與插入類似。publicvoidadapter(stringsql,stringdatamember,ComboBoxcb){}//這個(gè)是實(shí)現(xiàn)combobox控件與數(shù)據(jù)庫(kù)的綁定,sql為查詢語(yǔ)句,datamember為滿足控件顯示要求的字段.4.2主程序界面設(shè)計(jì)主窗口菜單包括基本操作、房間系統(tǒng)、信息查詢、基本信息、幫助說(shuō)明等??旖莶藛伟ǚ块g狀態(tài)圖、新客戶注冊(cè)、預(yù)訂管理、客服中心、結(jié)賬、賬戶提醒。其中,客房系統(tǒng)包括房態(tài)圖、預(yù)訂管理和房態(tài)修改。信息查詢可以查詢所有客戶信息和客人信息?;拘畔ǚ块g設(shè)置和修改。主菜單使用一個(gè)menustrip控件,下面使用的一個(gè)tabcontrol包含6個(gè)tabpage,每個(gè)tabpage實(shí)現(xiàn)不同的功能。主窗口菜單如圖4-1所示。圖4-1窗體主菜單圖4-1窗體主菜單下面是登錄界面的設(shè)計(jì)和實(shí)現(xiàn):登錄界面上有一個(gè)combobox控件,就是操作員用戶名。它綁定到數(shù)據(jù)庫(kù)。這里的綁定使用了上面公共類中的最后一個(gè)方法。任何有權(quán)使用該系統(tǒng)的操作員都可以通過(guò)輸入密碼登錄。系統(tǒng)。還有一個(gè)用于輸入密碼的文本框控件。通過(guò)使用sqldatareader對(duì)象,可以匹配數(shù)據(jù)庫(kù)中的信息,判斷密碼是否與用戶名匹配。有2個(gè)按鈕,一個(gè)是登錄按鈕,另一個(gè)是注銷按鈕。單擊登錄按鈕時(shí),將驗(yàn)證用戶名和密碼。這里使用的代碼實(shí)現(xiàn)是而(rd.read()){if(rd[1]==this.textbox.text.tostring().trim())休息;yes=true;//其中yes是bool類型的初始值為false}if(yes==false)messagebox.show("密碼錯(cuò)誤");4.3客房管理模塊房間管理模塊包括房間設(shè)置和房間查詢兩個(gè)子模塊。4.3.1房間設(shè)置管理子模塊這個(gè)模塊主要是設(shè)置房型,是不是小時(shí)房,還有房?jī)r(jià)。這里使用的控件是datagridview。由于該控件可以直觀的顯示數(shù)據(jù)庫(kù)表中所有符合要求的記錄,在查詢的情況下使用起來(lái)非常方便。通過(guò)為其配置數(shù)據(jù)源,自動(dòng)生成dataset數(shù)據(jù)集和sqldataadaptor對(duì)象適配器,adapter.fill(ds.Hroom)可以方便的在控件中顯示數(shù)據(jù)庫(kù)內(nèi)容。同時(shí)用文本框輸入房型,用組合框選擇是否按小時(shí)制房間,用兩個(gè)數(shù)值上下控件分別設(shè)置按小時(shí)房間和非按小時(shí)房間的價(jià)格.還使用了5個(gè)按鈕,分別是添加、保存、修改、刪除和退出。通過(guò)編寫代碼,上述控件用于在datagridview中顯示當(dāng)前行的內(nèi)容。這個(gè)函數(shù)的實(shí)現(xiàn)是使用datagridview的一個(gè)事件currentcellchanged,其中上面的控件可以綁定到當(dāng)前行內(nèi)容。例如this.textbox.text=this.datagridview.currentrow.cells[1].value.tostring().trim();這樣就可以在文本框控件中顯示當(dāng)前行的房型信息。添加按鈕實(shí)現(xiàn)控制量清零,可以在其中輸入要添加的房型和價(jià)格,保存按鈕實(shí)現(xiàn)將該信息插入數(shù)據(jù)庫(kù)。這里使用公共類中的insert方法,更新和刪除代碼與插入代碼類似。此處還使用的一種方法是在datagridview控件中顯示更改的數(shù)據(jù)庫(kù)和時(shí)間。這個(gè)函數(shù)是用代碼更新datagridview。一個(gè)daptor.fill(ds.Hroom);This.datagridview1.update();4.3.2房間查詢模塊設(shè)計(jì)通過(guò)該模塊,您可以查詢和設(shè)置所有房間的位置、功能、房間狀態(tài)等信息,幫助管理員更方便地管理房間。同時(shí),您還可以添加和刪除房間,修改房間信息。圖4-2為模塊界面。圖4-2客房查詢界面圖圖4-2客房查詢界面圖這個(gè)模塊的實(shí)現(xiàn)也用到了datagridview控件,和上面房間設(shè)置模塊的代碼實(shí)現(xiàn)有些不同。這里使用的代碼是:sql="select*fromHRIdentitywhereHRIlocation='"+sql1+"'andHRIfloor='"+sql2+"'";//sql查詢語(yǔ)句dbmanidb=新的dbmani();//生成dbmani對(duì)象SqlConnectionconn=db.InitSqlConn();//調(diào)用方法返回一個(gè)數(shù)據(jù)庫(kù)連接SqlDataAdapter適配器=newSqlDataAdapter(sql,conn);//生成sqldataadapter對(duì)象這里的sqldataadapter對(duì)象就是一個(gè)適配器。數(shù)據(jù)集ds=newDataSet();//生成數(shù)據(jù)集對(duì)象adapter.Fill(ds,"HRIdentity");//、將數(shù)據(jù)庫(kù)中與查詢匹配的記錄添加到ds對(duì)象中this.dataGridView1.DataSource=ds.Tables["HRIdentity"];//設(shè)置datagridview的數(shù)據(jù)源區(qū)別之一是房間過(guò)濾功能更難實(shí)現(xiàn)。這里使用了兩個(gè)listbox控件,datagridview用于通過(guò)選擇房間的位置和樓層數(shù)來(lái)顯示數(shù)據(jù)庫(kù)中匹配的記錄。這里使用的datagridview控件綁定HRIdentity表來(lái)顯示表信息,可以通過(guò)sql語(yǔ)句來(lái)控制查詢到的符合條件的記錄。查詢主樓的所有房間,使用stringsql=”select*fromHRIdentitywhereHRIlocation='”+this.listbox.selecteditem.tostring()+”'”;同時(shí),控件也綁定在這里。Whenarowofthedatagridviewisselected,theinformationinthetablecanbedisplayedinthetextbox,combobox,andnumericupanddowncontrols.綁定代碼在datagridview的currentcellchanged事件中實(shí)現(xiàn)。4.4客人預(yù)訂和入住管理該模塊為客戶信息管理模塊,包括三個(gè)子模塊,即客人預(yù)訂管理模塊、新客戶登記模塊和客人信息查詢模塊。4.4.1客人預(yù)訂管理模塊客人入住酒店有兩種方式,一種是直接到前臺(tái)登記,另一種是預(yù)約。本節(jié)主要介紹客人預(yù)訂管理模塊。訂房管理是客人直接到酒店訂房或進(jìn)店前進(jìn)行預(yù)訂。操作員將預(yù)訂信息輸入數(shù)據(jù)庫(kù),并在datagridview中顯示所有預(yù)訂信息。每天晚上6點(diǎn),經(jīng)營(yíng)者必須檢查預(yù)訂信息。,為未入住的客人辦理入住,未入住的經(jīng)營(yíng)者會(huì)詢問(wèn)客人是否要取消預(yù)訂或延遲入住時(shí)間。圖4.3顯示了客人進(jìn)行預(yù)訂的界面。圖4-3客人預(yù)定界面圖圖4-3客人預(yù)定界面圖該模塊還使用datagridview控件。用法與上述類似。這里我們主要談?wù)勵(lì)A(yù)訂客人的產(chǎn)生。這里我使用00001-99999的格式。實(shí)現(xiàn)該功能的代碼如下:字符串i="00000";整數(shù)索引=0;stringsql="從HShedule中選擇*";//sql語(yǔ)句是查詢表的第一條記錄SqlDataReaderrd=db.Reader(sql);//調(diào)用公共類中的方法生成rd而(rd.Read()){i=rd[0].ToString().Trim();//獲取第一條記錄的內(nèi)容。休息;//讀取一條記錄}//這里獲取到數(shù)據(jù)庫(kù)表HShedule中的第一條記錄,也是guest中最大的一條。rd.Close();//關(guān)閉rd索引=int.Parse(i)+1;//下一條記錄是表中最大值加1string.textboxprenum=”.substring(0,5-index.tostring().length)00000”+this.textBoxprenum.Text=textboxprenum;//顯示文本框中的值組合框控件也用于這種形式。組合框是一個(gè)下拉菜單。它的項(xiàng)目可以手動(dòng)添加或綁定到數(shù)據(jù)庫(kù)。我在這里使用了兩種方法。在“預(yù)訂房間類型”中,我手動(dòng)添加了一些項(xiàng)目。同時(shí),客人還可以在抵達(dá)時(shí)轉(zhuǎn)機(jī)辦理入住手續(xù)。點(diǎn)擊“轉(zhuǎn)入入住”按鈕進(jìn)入客人注冊(cè)頁(yè)面。它與新來(lái)賓注冊(cè)頁(yè)面相同。這個(gè)公共頁(yè)面使用一個(gè)標(biāo)簽來(lái)表明它是“新客人注冊(cè)”?;蛘呤恰邦A(yù)定客人入住”,但參數(shù)不同。這里使用的代碼是:this.lable.text=HotelMain.addroom;this.lable.findform().text=this.lable.text;//這里的findform()方法是獲取控件所在的窗體。4.4.2新客戶注冊(cè)模塊新客人登記是指客人直接到前臺(tái)登記進(jìn)入店內(nèi)??腿丝梢允莻€(gè)人客人或團(tuán)體。這里的注冊(cè)就是主客的注冊(cè),主客的詳細(xì)信息插入到HRGuest表中。圖4-4為模塊接口圖。圖4-4新客登記界面圖圖4-4新客登記界面圖本模塊與其他模塊的主要區(qū)別和難點(diǎn)在于頁(yè)面之間的參數(shù)傳遞、數(shù)據(jù)庫(kù)表的查詢以及checkedlistbox和listbox控件的使用。Checkedlistbox和listbox類似,但是里面的內(nèi)容是checkedbox,可以有多個(gè)內(nèi)容。我這里使用的checkedlistbox是和數(shù)據(jù)庫(kù)綁定的,對(duì)應(yīng)的符合要求的房間號(hào)顯示在框中。Listbox可以很方便地一目了然地顯示box中的所有項(xiàng)目,其中checkedlistbox中每一個(gè)選中的內(nèi)容都會(huì)顯示在listbox中。我通過(guò)聲明靜態(tài)變量解決了傳遞參數(shù)的問(wèn)題。由于每個(gè)windows頁(yè)面都是一個(gè)類,并且類中定義了全局靜態(tài)變量,其他頁(yè)面可以很方便的使用或改變頁(yè)面的數(shù)據(jù)。數(shù)據(jù)表的查詢主要是各個(gè)表之間的連接查詢。使用的sql語(yǔ)句很容易出錯(cuò)。還使用了checkedlistbox和listbox控件。由于checkedlistbox中要選擇的房間號(hào)要顯示在listbox中,所以需要編寫更復(fù)雜的代碼來(lái)實(shí)現(xiàn)這個(gè)功能,主要是綁定這兩個(gè)控件,類似于combobox的綁定。這里的新客戶的生成和上面的客人預(yù)訂的生成類似,但是這里的格式比較麻煩,因?yàn)橹虚g的8位以H開(kāi)頭的是當(dāng)天的日期,后面是客人注冊(cè)的序列號(hào),比如正如序列號(hào)“H02”的含義,正是在2007-05-19這一天,該客戶第二個(gè)簽到。這種形式將更加直觀和易于操作。還有一個(gè)重要的功能需要實(shí)現(xiàn):在‘添加打開(kāi)房間’表格中選擇添加的房間后,點(diǎn)擊‘保存’關(guān)閉表格,所選房間的信息會(huì)顯示到‘新客人查詢-in'在表單的datagridview中,所以表單激活后,將房間信息添加到datagridview中。使用的代碼是:string[]row={HotelMain.roomnum,HotelMain.roomtype,"No",HotelMain.sprice.ToString(),HotelMain.leave,"1"};//將選中的房間信息放入字符數(shù)組this.dataGridView1.Rows.Add(row);//將數(shù)組中的數(shù)據(jù)填充到datagridview中這里有查詢客人歷史開(kāi)房記錄的功能。這里也用于查詢數(shù)據(jù)庫(kù)中的內(nèi)容,然后將查詢到的內(nèi)容填入datagridview中進(jìn)行展示。4.4.3客人信息查詢模塊本模塊主要展示所有客人的信息:包括主客人和下客人的詳細(xì)信息,下客人信息可以在客人管理中添加。同時(shí),該模塊還可以查詢客人信息和所有客人信息。這個(gè)功能主要是通過(guò)查詢和過(guò)濾來(lái)找到合適的記錄并顯示在控件中。這個(gè)函數(shù)的實(shí)現(xiàn)比較簡(jiǎn)單。信息功能。該模塊的部分界面如圖4-5所示。圖4-5客人信息查詢界面圖4-5客人信息查詢界面這里的主要困難之一是從數(shù)據(jù)庫(kù)表中讀取來(lái)賓信息并將其顯示在文本框控件中。因?yàn)檫@里實(shí)現(xiàn)起來(lái)比較麻煩,所以我在數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候?qū)τ涗涍M(jìn)行降序排序,用兩個(gè)按鈕一一排序。讀出表格中的每一條信息,在這里您可以使用設(shè)計(jì)規(guī)則正確地讀取表格中的信息。由于sqldatareader對(duì)象只能快速讀取數(shù)據(jù)庫(kù)表,無(wú)法從上一條/下一條記錄中讀取下一條記錄,所以我使用主鍵及其特性來(lái)讀取,主要代碼如下:dbmanidb=新的dbmani();//生成類對(duì)象stringsql="select*fromVIEW1";//查詢視圖SqlDataReaderrd=db.Reader(sql);//調(diào)用公共類方法生成rd對(duì)象首次加載此頁(yè)面時(shí),單擊“下一步”按鈕,在文本框中顯示表格中的第一條記錄,如果單擊“上一個(gè)”按鈕,則不顯示任何內(nèi)容。當(dāng)文本中有內(nèi)容時(shí),點(diǎn)擊‘下一步’按鈕,使用字符串變量記下文本框中的文本,取最后5個(gè)字符轉(zhuǎn)成int類型,使用索引記下,如果為1,表示當(dāng)天登記客人查詢完畢。如果大于1,則表示當(dāng)天仍有登記客人。可以使用sql語(yǔ)句:sql="select*fromVIEW1whereHgaccount='";sql+='"+this.textBox1.Text.trim().Substring(0,9);sql+="00000".Substring(0,5-s.ToString().Length)+s.ToString()+"'";//這條sql語(yǔ)句是在視圖中查詢Hgaccount的記錄作為這個(gè)值。使用rd讀取文本框控件并為其賦值。另一個(gè)功能是與客人一起管理。在新的訪客注冊(cè)模塊中,已經(jīng)提到從訪客和主訪客共享一個(gè)。添加slaveguest時(shí),添加到表HRGuest中,房間號(hào)、、房間號(hào)作為主鍵。這里用到了頁(yè)面之間的傳遞參數(shù),即添加到數(shù)據(jù)庫(kù)表中的數(shù)據(jù)在datagridview中顯示。添加成功后,頁(yè)面自動(dòng)關(guān)閉,下面的‘客戶中心’變成活動(dòng)表單。datagridview更新顯示的內(nèi)容。這是使用的主要代碼:dbmanidb=新的dbmani();//生成一個(gè)dbm

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論