賓館管理系統的設計與實現畢業設計論文_第1頁
賓館管理系統的設計與實現畢業設計論文_第2頁
賓館管理系統的設計與實現畢業設計論文_第3頁
賓館管理系統的設計與實現畢業設計論文_第4頁
賓館管理系統的設計與實現畢業設計論文_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、摘 要賓館管理信息系統面對強大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于賓館提高工作效率和賓館效益。面對龐大的信息量,賓館在正常運營中需要對客房資源、顧客信息、結算信息進行管理,利用賓館管理信息系統及時了解保個環節中信息的變更,有利于提高管理的效率.通過這樣的系統,可以做到信息的規范管理、需要統計和快速的查詢,從而減少在管理方面的工作量。采用visualc+6.0程序來編寫,一個系統的開發建立數據庫是至關重要的。本課題數據庫采用的是sql server2000,通過建立數據源,vc+與后臺的數據庫連接來運行。論文主要介紹了本課題的開發背景,所要完成的功能和開發的過程。重點的說明

2、了系統設計的重點。關鍵詞:數據庫,visual c+6.0,sql server2000,賓館管理信息系統abtractthe management information system of the hotel 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.

3、 adopt vc+6. 0 procedures 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 jointhesis this introduce copies of development background of subject mai

4、nly, course that function develop even that finish wanted. prove the focal point that the system is designed especially.keyword: the database , visual c+ 6. 0, sql server 2000, the management information system of目錄第一章 引言61.1 編寫目的61.2 背景61.2.1 系統名稱71.2.2指導老師,開發者7第二章 任務概述72.1設計的原則72.2 用戶和軟件的特點7第三章 系統

5、功能分析83.1 系統功能分析83.2系統功能模塊設計8第四章 數據庫設計104.1數據庫需求分析104.2數據庫概念結構設計114.3數據庫邏輯結構設計13第五章 賓館管理信息系統主窗體的創建145.1 創建工程項目145.2 創建主窗體的菜單175.3 創建公用模塊18第六章 系統各個管理模塊的創建與實現196.1 用戶管理模塊的196.1.1用戶登錄框的設計196.1.2添加用戶窗口設計216.1.3修改用戶密碼窗口設計226.2 客房標準管理模塊的創建226.2.1添加客房標準對話框的創建236.2.2修改客房標準窗體的創建246.2.3刪除客房標準256.3客房信息管理模塊的創建26

6、6.3.1添加客房信息對話框的創建266.3.2修改客房信息276.3.3查詢客房信息286.4訂房信息管理模塊的創建296.4.1查詢剩余客房信息對話框的創建296.4.2修改訂房信息306.4.3修改訂房信息316.4.4 查詢訂房信息326.5結算信息管理模塊的創建326.5.1添加結算信息對話框的創建326.5.2修改結算信息336.5.3出現結算信息33第七章 系統調試及運行347.1 軟件測試347.1.1軟件測試的定義347.1.2 軟件測試的目的和原則347.1.3 該系統進行軟件測試方法357.1.4 該系統的測試結果35第七章 小結35致謝36參考文獻37第一章 引言賓館的

7、基本內涵就是為旅客提供住宿服務,之所以這樣講是因為賓館最原始、最基本的功能是為過往旅客提供住宿及服務。顯然,今天的賓館與過去的旅館相比已經有了很大的不同。隨著社會的進步,經濟的發展,當今社會人員流動越來越頻繁,賓館管理工作也變得越來越復雜。旅游者對賓館的需求量越來越大,對賓館的要求也越來越高。如果能夠實現賓館管理的自動化,無疑將給賓館管理部門帶來很大的方便。以前中國賓館企業管理方面還主要是憑經驗賓館管理整體的科技含量低,還有許多與時代脫節、落后的表現:操作隨意性大,容易波動,管理漏洞多,物質損耗大,經濟效益低等明顯地成為制約行業發展的關鍵性因素。如何利用現代社會賦予我們的新觀念、新手段向管理要

8、效益,為賓館管理注入新的活力,從而在激烈的市場競爭中站穩腳跟,是擺在每個賓館管理人士面前的重要課題。我認為,先進的賓館管理系統應是將我國多年來賓館管理積累的成功經驗與現代化信息處理技術結合起來,相互呼應,通過完美的功能設置,建立一個自動化管理信息系統,以提高賓館管理的效率和質量。1.1 編寫目的本報告編寫的目的是為了說明系統需求概述、設計概要情況和設計思路,為系統的詳細設計提供基礎,同時作為開發人員在系統分析設計階段的工作成果和本階段的結束標志。使用戶和軟件開發者,對系統的總體設計規定有一個共同的認識,使之成為今后整個開發工作的基礎和依據。1.2 背景在我國,賓館分成五星級、四星級、三星級、二

9、星級和一星級。客房和餐飲方面的管理也隨著酒店的星級不同有所區別,但大體上是相同的。賓館在正常的運營中需要對客房資源、顧客信息、結算信息進行管理,利用賓館管理信息系統及時了解各個環節中信息的變更,有利于提高管理效率。信息社會的高科技,商品經濟化的高效益,使計算機的應用已普及到經濟和社會生活的各個領域。計算機雖然與人類的關系愈來愈密切,還有人由于計算機操作不方便繼續用手工勞動。為了適應現代社會人們高度強烈的時間觀念,賓館管理系統軟件為管理人員帶來了極大的方便。通過操作手冊,使用者可以了解本軟件的基本工作原理。操作人員只需輸入一些簡單的漢字、數字,即可達到自己的目標。對于大中型賓館來說,利用計算機支

10、持高效率完成日常事務,是適應現代要求、推動管理走向科學化、規范化的必要條件;而且賓館管理又是一項非常煩瑣的事情,數量之大,核算極其不便。同時計算機具有手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高賓館管理的效率,也是賓館的科學化、正規化管理,與世界接軌的重要條件。賓館管理需要對客人預訂客房、入住、居住和離店期間的一切服務進行管理,并存儲賓館客房的所有靜態和動態信息,并且嚴格服從有關規定,按一定的模式或規律進行。體現數據量大,數據流清晰、規范的特點,因而特別適合用計算機管理,但現在國內的中文系統很少,大多都是用外國公司制

11、作的英文系統軟件,對國人來說,使用不方便,不利于普及。因此,中文的賓館管理在國內的需求應該很大,很有發展空間。1.2.1 系統名稱賓館管理信息系統1.2.2指導老師,開發者指導老師:徐松林開發者:趙雪梅第二章 任務概述在分析現行手工操作的基礎上,進一步研究餐飲管理的處理流程,確定系統的總體結構及功能模塊,研究各個模塊之間的聯系,確定模塊之間的接口方案。依照實用性、可靠性、可擴充性、經濟性的原則,設計有關的各類碼表及相關的程序代碼,并驗證代碼的正確性,設計一套合理、完整的測試方案,對系統進行測試,是系統達到用戶的使用要求。2.1設計的原則1實用性原則該系統是以賓館管理為基礎開發的通用賓館管理系統

12、,適合中、小賓館企業的使用。2可靠性原則該系統應有較高的可靠性,在系統設計及程序設計上應該強調系統的可靠性。3可擴充性原則應該保證該系統在系統的功能,結構方面具有可擴充性。以便適應企業以后發展的需要,做出相應的功能結構上的調整。4經濟性原則應該注重系統的性價比,時刻為用戶著想,在同等功能的基礎上盡可能的減少企業的投入。綜上所述,幫助企業加強管理,提高經濟效益,解決實際管理中的各類問題,是設計該系統的主要目標。2.2 用戶和軟件的特點1、賓館管理內部從業人員中存在不少人對計算機比較陌生,對使用計算機來管理有一定的畏懼心理。這就要求面向賓館的計算機管理系統應盡可能得在功能設計上和使用手法上模擬現實

13、情況,讓用戶使用時感覺熟悉、踏實、容易接受,否則會導致強烈的抵觸情緒。2、賓館管理系統要對客房資源、顧客信息、結算信息進行管理,存儲賓館客房的所有靜態和動態信息,能夠實現賓館管理的自動化,并利用賓館管理信息系統及時了解各個環節中信息的變更,有利于提高管理效率,否則無法滿足賓館方便、快捷的需求,這對軟件使用和運行效率、穩定性都提出了更高的要求。 第三章 系統功能分析3.1 系統功能分析系統開發的總任務是實現賓館各個信息的系統化,規范化和自動化,提高賓館的管理效率。系統功能分析是在系統開發的總體任務的基礎上完成的。這個例子中的賓館管理信息系統需要完成的功有: 有關客房標準的制定、標準信息的輸入,包

14、括標準編號、標準名稱、房間面積、床位數量、住房單價、是否有空調、電視機、電話以及單獨衛生間等。 客房標準信息的修改、查詢等。客房基本信息的輸入,包括客房編號、客房類型、客房位置、客房單價和備注信息等。 客房基本信息的查詢、修改,包括客房編號、客房類型、客房位置、客房單價、備注等 剩余客房信息的查詢 訂房信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。 訂房信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。 結算信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧

15、客姓名、顧客身份證號碼、入住日期、折扣、結算日期、備注信息等。 結算信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、結算日期、備注信息等。3.2系統功能模塊設計對上述各項功能進行集中,分塊分析,按照結構化程序設計的要求,得到如下圖所示的這個系統的功能模塊圖。賓館管理信息系統結算信息管理訂房信息管理結算信息添加用戶管理訂房信息查詢訂房信息修改訂房信息添加剩余客房查詢設置客房信息設置客房標準密碼管理客房信息管理系統管理客房信息查詢客房信息查詢結算信息查詢結算信息修改客房信息查詢客房信息查詢客房信息查詢系統功能模塊圖第四章 數據庫設計設計數據庫

16、是首先應該充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:l 數據庫需求分析。l 數據庫概念結構設計。l 數據庫邏輯結構設計。4.1數據庫需求分析用戶的需求具體體現在各種信息的提供,保存,更新和查詢等方面,這就要求數據庫結構能充分滿足各種信息的輸入和輸出。收集基本數據,數據結構以及數據處理的流程,組成一份詳盡的數據字典,為數據庫的具體設計打下基礎。在仔細調查有關賓館管理信息需求基礎上,得到如圖所示的這個系統所處理的數據流程圖。客房標準設置基本輸入信息客房標準信息設置顧客登記訂房信息輸入基本信息輸入結算信息輸入客房信息返回訂房信息管理客房信息管理客房

17、登記結算信息管理圖4-1 賓館管理系統數據流程圖針對一般賓館管理信息系統的需求,通過對賓館管理工作過程的內容和數據流析,設計如下所示的數據庫和數據結構:l 客房標準信息,包括的數據項有:標準編號,標準名稱,房間面積,床位數量,客房單價,是否有空調,電視機,電話和單獨衛生間等。l 客房信息,包括的數據項有:客房編號,客房種類,客房位置,客房單價和備注信息等。l 訂房信息,包括的數據項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣和備注信息等。l 結算信息,包括的,數據項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份

18、證號碼,入住時間,折扣和備注信息等。設計好以上的數據結構,數據項和數據流程,就可以進行以下的數據庫設計。4.2數據庫概念結構設計得到上面的數據項和數據結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為以后的邏輯設計打下基礎。這個實例根據上面的設計規劃出的實體有:客房標準信息實體,客房信息實體,訂房信息實體,結算信息實體。各個實體具體的e-r圖如下:客房標準信息實體e-r圖,如圖2-3所示客房標準信息實體標準編號客房單價床位數量標準名稱圖4-2 客房標準信息實體e-r圖客房信息實體e-r圖,如圖4-3所示。客房信息實體客房編號客房單價客房位置客房標準圖4-3 客房信息實體e

19、-r圖訂房信息實體e-r圖,如圖4-4所示。訂房信息實體客房信息折扣入住時間顧客信息如圖4-4 訂房信息實體e-r圖結算信息實體e-r圖,如圖4-5所示。結算信息實體客房信息結算金額結算時間顧客信息圖4-5 結算信息實體e-r圖實體之間關系的e-r圖,如圖4-6所示.客房標準實體客戶登記結算信息管理訂房信息管理客房信息管理客戶結算訂房圖4-6 實體之間關系的e-r圖4.3數據庫邏輯結構設計現在需要將上面的數據庫概念轉化為sql serer 2000數據庫系統所支持的實際數據模型,也就是數據庫的邏輯結構。賓館管理信息系統數據庫中各個表格的設計結果如下表格所示。每個表格表示在數據庫中的一個表。表4

20、-1客房標準信息表。表4-1 roomtype客房標準信息表列名 數據類型可否為空說明typiedvarcharnotnull標準編號typenamevarcharnotnull標準名稱areafloatnull 房間面積bednumfloatnull床位數量hairconditionvarcharnull是否有空調htelephonevarcharnull是否有電話htelevisionvarcharnull是否有電視htoiletvarcharnull是否有獨立衛生間pricefloatnull單價表4-2為客房信息表 表4-2 rooms客房信息表列名數據類型可否為空說明roomnova

21、rcharnotnull客房編號roomtypevarcharnotnull客房種類roompostionvarcharnull客房位置rooompricefloatnull單價putupvarcharnotnull是否被預定roommemotextnull備注信息表4-3 是訂房信息表。表4-3 bookin訂房信息表列名數據類型可否為空說明booknovarcharnotnull訂房編號customnamevarcharnotnull顧客姓名customidvarcharnotnull身份證號碼roomnovarcharnotunll客房編號indatedatetimenull入住日期di

22、scountfloatnull折扣inmemotextnull備注checkdatedatetimenull結算日期amountfloatnull金額第五章 賓館管理信息系統主窗體的創建在sql serer 2000的查詢分析器中執行的所有sql語句,就可以自動產生我們所需要的表格。有關數據庫結構的所有工作已經完成,現在通過賓館管理信息系統中各個功能模塊的實現。5.1 創建工程項目啟用visulc+6.0后,從“文件”菜單中選擇“新建”命令,然后單擊“新建”對話框中的“工程”選項卡,選擇工程模塊中的“mfc appwizard(exe)”選項,并在“工程名稱”中輸入工程名稱:hotel_mis

23、,在“位置”中選擇保存這個工程的位置,其他使用系統提示的默認選項,如圖5-1所示。單擊“確定”按鈕,就進入mfc appwizard,這一向導一共有6步,第一步的對話框如圖5-2所示,在對話框中選擇“單文檔”選項。單擊“下一步”按鈕,就進入第二步對話框,如圖5-3所示然后按圖選擇。圖5-1 新建對話框圖5-2 mfc appwizard第一步對話框圖5-3 mfc appwizard第二步對話框單擊“下一步”按鈕,進入第三步對話框,如圖5-4所示,這一步保持系統給定的默認值。圖5-4 mfc appwizard第三步對話框單擊“下一步”按鈕,進入第四步對話框,如圖5-5所示。這一步選中“3d外

24、觀”選項和“初始化狀態欄”選項。圖5-5 mfc appwizard第四步對話框單擊“下一步”按鈕,進入第五步對話框,如圖5-6所示。在這個對話框中系統提供默認值。單擊“下一步”按鈕,進入最后一步對話框,如圖5-7所示。在該對話框中,保證“基類”的下拉表中的選擇是cview,其他默認。單擊“完成”按鈕,就出現一個“新建工程信息” 對話框。如圖5-8所示圖5-6 mfc appwizard第五步對話框圖5-7 mfc appwizard第六步對話框圖5-8 “新建工程信息” 對話框確認無誤后,單擊“確定”按鈕,完成創建hotel_mis工程。5.2 創建主窗體的菜單完成上面的工作后,就在工作空間

25、中選擇recourceview,然后雙擊menu文件夾 idr_minframe選項,單擊右邊窗口的“文件”菜單項,如圖5-9所示。圖5-9 修改系統菜單雙擊“文件”菜單項,就回出現“菜單項目 屬性”對話框,在這個對話框中更改菜單項的內容,如圖5-10所示。圖5-10 設置一級菜單第一級菜單的設置和5-10中的設置方法相同。第二級菜單有兩種,一種設置方法如圖5-11所示。圖5-11 設置普通二級菜單另外一種二級菜單是彈出式的菜單,設置如圖5-12所示圖5-12 設置彈出式二級菜單使用上面所講述的設置方法,最終創建如表6-1所示的菜單結構。表5-1 菜單結構菜單名稱id系統修改密碼id_main

26、menu_changepwd添加用戶id_mainmenu_appendaccount退出系統id_app_exit客房信息設置設置客房標準添加客房標準id_menu_addroomtype修改客房標準id_menu_alterroomtype刪除客房標準id_menu_delroomtype設置客房信息添加客房信息id_menu_addroom修改客房信息id_menu_alterroom刪除客房信息id_menu_delroom查詢客房信息id_menu_checkroom訂房信息系統查詢剩余客房信息id_menu_checkrenain添加訂房信息id_menu_addbookin修改訂

27、房信息id_menu_alertbookin查詢訂房信息id_menu_searchbookiin結算信息系統添加結算信息id_menu_addcheckout修改結算信息id_menu_altercheckout查詢結算信息id_menu_searchcheckout幫助aboout5.3 創建公用模塊在這個系統中,使用到了數據庫的訪問,修改等操作,所以集中操作。在classview中,用鼠標右鍵單擊chotel_misapp,選擇“add membervariable”選項,添加使用到的變量如下public:cstring m_scurrentuser;int m_ilogincount;

28、_recordsetptr m_padoset;private:_connectionptr adoconn;選擇add member function添加函數bool adoexecute(_recordsetptr &adoset, _variant_t &strsql);最后添加一個外部變量的通過以上的編寫,完成對數據庫的基本操作。 第六章 系統各個管理模塊的創建與實現6.1 用戶管理模塊的用戶管理模塊主要實現:l 用戶登錄l 添加用戶l 修改用戶密碼6.1.1用戶登錄框的設計該窗口中放置了3個靜態控件,在窗口的相應位置顯示文字,兩個編輯框控件,另外放置了兩個按鈕。單擊按鈕“登錄”后,就

29、會自動查詢,看輸入的信息是否正確,如果正確就會登錄主界面,如果錯誤,就會提示你有錯。設計如圖6-1所示的登錄框圖6-1 登錄窗口登錄的主要代碼如下:void clogindlg:onok() updatedata(true);m_suser.trimright( );if ( =m_suser )afxmessagebox(_t(請填寫用戶名), mb_iconexclamation); return;_variant_t holder, strquery;strquery=selectuser_id,user_pwdfromuser_infowhereuser_id=+m_suser+;th

30、eapp.adoexecute(theapp.m_padoset, strquery);int icount = theapp.m_padoset-getrecordcount();if ( 0=icount ) theapp.m_ilogincount+;if ( theapp.m_ilogincount2 ) afxmessagebox(沒有這個用戶n三次輸入均不正確,請核對后再來, mb_iconexclamation);cdialog:oncancel(); return;afxmessagebox(沒有這個用戶,請重新輸入用戶名, mb_iconexclamation); retur

31、n;cstring spwd;theapp.m_padoset-movefirst();holder = theapp.m_padoset-getcollect(user_pwd);spwd = holder.vt=vt_null?:(char*)(_bstr_t)holder;if ( 0!=spwd.compare(m_spwd) )theapp.m_ilogincount+;if ( theapp.m_ilogincount2 ) afxmessagebox(輸入密碼不正確n三次輸入均不正確,請核對后再來, mb_iconexclamation);cdialog:oncancel();

32、return;afxmessagebox(輸入密碼不正確,請重新輸入, mb_iconexclamation); return;theapp.m_scurrentuser = m_suser;cdialog:onok();6.1.2添加用戶窗口設計該窗口設置了3個靜態控件,3個編輯框和兩個按鈕,具體功能如圖6-2所示。圖6-2 添加用戶窗口確認按鈕添加的主要代碼如下:void cappendaccountdlg:onok() updatedata(true); m_suser.trimright( );if ( =m_suser )afxmessagebox(_t(請輸入用戶名稱), mb_i

33、conexclamation); return;afxmessagebox(_t(用戶名已經存在,請重新輸入用戶名), mb_iconexclamation); return; if ( =m_spwd1 )afxmessagebox(_t(密碼不能未空), mb_iconexclamation); return; if ( 0!=m_spwd1.compare(m_spwd2) )afxmessagebox(_t(兩次輸入密碼不一樣,請確認), mb_iconexclamation); return;cdialog:onok();bool cappendaccountdlg:oninitdi

34、alog() cdialog:oninitdialog();(cedit*)getdlgitem(idd_appednaccount_user)-setlimittext(15); (cedit*)getdlgitem(idd_appednaccount_pwd1)-setlimittext(10);(cedit*)getdlgitem(idd_appednaccount_pwd2)-setlimittext(10);return true; 6.1.3修改用戶密碼窗口設計該窗口設置了3個靜態控件,3個編輯框和兩個按鈕,具體功能如圖6-3所示,圖6-3 修改密碼窗口“ok”按鈕添加的主要代碼如

35、下void cchangepwddlg:onok() updatedata(true);if ( =m_spwd1 )afxmessagebox(_t(密碼不能未空), mb_iconexclamation); return; if ( 0!=m_spwd1.compare(m_spwd2) )afxmessagebox(_t(兩次輸入密碼不一樣,請確認), mb_iconexclamation); return;cdialog:onok();6.2 客房標準管理模塊的創建客房在運營中需要不同的標準來適應不同消費水平的顧客的需要。對于每個客房標準,有不同的硬件設施和服務。客房標準模塊主要實現如

36、下功能:l 添加客房標準l 修改客房標準l 刪除客房標準6.2.1添加客房標準對話框的創建選擇“客房信息管理/設置客房標準/添加客房標準”菜單,出現的對話框如圖6-4所示圖6-4 添加客房標準對話框在resource view中,右擊dialog,選擇insert dialog,把系統提供的兩個按鈕刪除,然后在窗體上放置多個文本框,用來輸入客房標準基本信息,多個下拉文本框選擇不同的硬件設施;兩個按鈕用來確定是否添加客房標準信息;多個標簽用來提示文本框中需要輸入的內容。這些控件的屬性見表6-1。表6-1 添加客房對話框中各個控件的屬性設置控件.屬性idlabel1標準編號:idc_staticl

37、abel2標準名稱:idc_staticlabel3房間面積:idc_staticlabel4床位數量:idc_staticlabel5住房單價:idc_staticlabel6/每天idc_staticlabel7是否有空調:idc_staticlabel8是否有電話:idc_staticlabel9是否有電視:idc_staticlabel10是否有衛生間:idc_staticedit box1idc_roomtype_idedit box2idc_roomtype_nameedit box3idc_roomtype_areaedit box4idc_roomtype_bednoedit

38、box5idc_roomtype_pricecombo1idc_roomtype_isairconcombo2idc_roomtype_istelcombo3idc_roomtype_istvcombo4idc_roomtype_istoiletbutton1保存idokbutton2返回idcancel添加好后,對類croomtpyedlg中添加下列變量:public:bool m_baircon;bool m_btel;bool m_btv;bool m_btoilet;bool m_bappend;cstring m_sarea;cstring m_sbedno;cstring m_st

39、ypeid;cstring m_stypename;cstring m_sprice ;然后添加兩個成員函數:protected:virtual bool oninitdialog();virtual void onok();單擊“保存”按鈕時,調用上面的onok()函數,完成相應的工作。6.2.2修改客房標準窗體的創建選擇“客房信息管理/設置客房標準/修改客房標準”菜單,就將出現如圖6-5所示的窗體,在窗體中放置一個表格控件,用來顯示記錄。圖6-5 客房標準信息記錄列表窗體窗口初始化時,調用chotel_mis view類中的createroomtype()函數,顯示當前數據庫中所有的記錄,

40、代碼如下:void chotel_misview:createroomtype()m_scurrentlist = _t(房間標準列表); m_staticctrl.setwindowtext(m_scurrentlist);crect rect;getclientrect(rect);rect.top += 30;m_listctrl.create(ws_child|ws_visible|ws_border|lvs_report, rect, this, 1);m_listctrl.setbkcolor(rgb(177, 151, 240);m_listctrl.settextcolor(r

41、gb(0,0,0);m_listctrl.settextbkcolor(rgb(177, 151, 240);m_listctrl.setextendedstyle(lvs_ex_fullrowselect|lvs_ex_gridlines|lvs_ex_headerdragdrop);m_listctrl.insertcolumn(0,_t(標準編號), lvcfmt_left, 100);m_listctrl.insertcolumn(1,_t(標準名稱), lvcfmt_left, 100); m_listctrl.insertcolumn(2,_t(房間面積), lvcfmt_left

42、, 100);m_listctrl.insertcolumn(3,_t(床位數量), lvcfmt_left, 100);m_listctrl.insertcolumn(4,_t(住房單價/每天), lvcfmt_left, 100);m_listctrl.insertcolumn(5,_t(是否有空調), lvcfmt_left, 100);m_listctrl.insertcolumn(6,_t(是否有電話), lvcfmt_left, 100);m_listctrl.insertcolumn(7,_t(是否有電視), lvcfmt_left, 100);m_listctrl.insert

43、column(8,_t(是否有衛生間), lvcfmt_left, 100);_variant_t holder, strquery; strquery = select * from roomtype order by typeid;theapp.adoexecute(theapp.m_padoset, strquery); int icount = theapp.m_padoset-getrecordcount();if ( 0=icount ) return; cstring str;theapp.m_padoset-movefirst();for(int i=0; isetlimitt

44、ext(10);(cedit*)getdlgitem(idd_room_position)-setlimittext(20);(cedit*)getdlgitem(idd_room_price)-setlimittext(8);if (m_bappend)setwindowtext(_t(添加客房信息);_variant_t strquery, holder;strquery = select * from roomtype; theapp.adoexecute(theapp.m_padoset, strquery); int icount = theapp.m_padoset-getreco

45、rdcount();theapp.m_padoset-movefirst();for (int i=0; isetcursel(0);updatedata(false);return true; 6.3.2修改客房信息選擇“客房信息/設置客房信息/修改客房信息”菜單,將出現如6-7圖所示的窗體。圖6-7 修改客房信息窗體窗體設置了一個表格控件,用來顯示數據庫所有的客房記錄。選擇需要修改的客房記錄,選擇“修改客房信息”命令會調用onalterroom()函數,具體代碼如下:void chotel_misview:onalterroom() _variant_t strquery;if ( m_l

46、istctrl & m_scurrentlist!=_t(客房信息列表) )m_listctrl.destroywindow(); strquery = select * from rooms;createroom(strquery); return; if ( !m_listctrl )strquery = select * from rooms;createroom(strquery); return;position pos = m_listctrl.getfirstselecteditemposition(); if (pos = null) afxmessagebox(_t(沒有選中

47、的記錄!), mb_iconexclamation); else croomdlg dlg; dlg.m_bappend = false; int iitem = m_listctrl.getnextselecteditem(pos); dlg.m_sno = m_listctrl.getitemtext(iitem, 0); dlg.m_stype = m_listctrl.getitemtext(iitem, 1); dlg.m_sposition = m_listctrl.getitemtext(iitem, 2); dlg.m_sprice = m_listctrl.getitemte

48、xt(iitem, 3); dlg.m_smemo = m_listctrl.getitemtext(iitem, 5); dlg.domodal(); 6.3.3查詢客房信息選擇“客房信息/設置客房信息/查詢客房信息”菜單,將出現如6-8圖所示的窗體圖6-8查詢客房信息的對話框查詢客房信息的對話框的初始化代碼如下:bool ccheckroomdlg:oninitdialog() cdialog:oninitdialog();(ccombobox*)getdlgitem(idc_checkroom_type)-insertstring(0, _t(所有房間類型);_variant_t strquery, holder;strquery = select typename from roomtype;theapp.adoexecute(theapp.m_padoset, strquery);int icount = theapp.m_padoset

溫馨提示

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

評論

0/150

提交評論