軟件工程課程設(shè)計(jì)
《軟件工程課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程課程設(shè)計(jì)(145頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 課程名稱 : 軟件工程導(dǎo)論 課程代碼 : 408029 題 目 : 房屋出租系統(tǒng) 年級(jí)/專業(yè)/班 : 09計(jì)科一班 學(xué)生姓名 : 學(xué) 號(hào) : 09408103 10 13 15 25 指導(dǎo)老師 : 開(kāi)題時(shí)間 : 2011年6月6日 完成時(shí)間 : 2010年6月30日 2011年6月6日 1 / 145 課程設(shè)計(jì)任務(wù)書(shū)及成績(jī)?cè)u(píng)定 課程名稱 : 軟件工程導(dǎo)論 完成者 : 1、設(shè)計(jì)的目的與要求 1)加強(qiáng)學(xué)生的實(shí)踐能力; 2)理解小型系統(tǒng)開(kāi)發(fā)的基本步驟;
2、 3)本系統(tǒng)的功能包括:賓館客房信息查詢模塊、注冊(cè)模塊、房屋信息管理模塊(包括基本的添加、修改、刪除功能)。 2、設(shè)計(jì)進(jìn)度及完成情況 日 期 內(nèi) 容 6.6-6.7 項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū) 6.8-6.10 系統(tǒng)可行性研究 6.11-6.15 系統(tǒng)需求分析 6.16-6.23 系統(tǒng)設(shè)計(jì) 6.24-6.27 系統(tǒng)測(cè)試 6.28-6.30 項(xiàng)目的遞交 3、成績(jī)?cè)u(píng)定 設(shè)計(jì)成績(jī): (教師填寫(xiě)) 指導(dǎo)老師: (簽 字) 2011 年 月 日
3、 目錄 目錄 1 第一章 項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū) 3 1.1引言 3 1.1.1編寫(xiě)目的 3 1.1.2背景 3 1.2項(xiàng)目概述 3 1.2.1工作內(nèi)容 3 1.2.2主要參加人員 4 1.2.3產(chǎn)品 4 1.2.4服務(wù) 4 1.2.5驗(yàn)收標(biāo)準(zhǔn) 5 1.2.6本計(jì)劃的批準(zhǔn)者和批準(zhǔn)日期 5 1.3實(shí)施計(jì)劃 5 1.3.1工作任務(wù)的分配與人員分工 5 1.3.2進(jìn)度 5 1.4支持條件 6 1.4.1計(jì)算機(jī)系統(tǒng)支持 6 第二章 可行性分析 7 2.1可行性研究前提 7 2.2 對(duì)現(xiàn)有系統(tǒng)的分析 7 2.3 建議新系統(tǒng) 7 2.3.1 新系統(tǒng)說(shuō)明 7
4、2.3.2 新系統(tǒng)的流程圖 8 2.4經(jīng)濟(jì)上可行性 9 2.5技術(shù)可行性 9 2.6開(kāi)發(fā)工具的選擇 9 2.7 新系統(tǒng)的影響 9 2.8 結(jié)論 10 第三章 需求分析 11 3.1市場(chǎng)需求分析 11 3.2系統(tǒng)功能性需求分析 11 3.2.1 功能劃分 11 3.2.2.2 登錄功能模塊 12 3.3 系統(tǒng)非功能性需求 12 3.3.1 可用性 12 3.3.2 可靠性 12 第四章 系統(tǒng)設(shè)計(jì) 13 4.1 功能模塊 13 4.1.1 設(shè)置客房標(biāo)準(zhǔn) 13 4.1.2、設(shè)置客房信息 14 4.1.3定房信息管理 15 4.1.4結(jié)算信息管理 18
5、4.2 數(shù)據(jù)庫(kù) 19 4.2.1、數(shù)據(jù)庫(kù)的設(shè)計(jì) 19 4.2.2、 數(shù)據(jù)庫(kù)表的實(shí)現(xiàn) 21 4.2.3、創(chuàng)建數(shù)據(jù)源 22 4.3 賓館管理信息系統(tǒng)主窗體 23 4.3.1、工程項(xiàng)目 23 4.3.3、記錄集類(lèi) 27 4.4 客房標(biāo)準(zhǔn)管理模塊 29 4.4.1、添加客房標(biāo)準(zhǔn)對(duì)話框 29 4.4.2、修改客房標(biāo)準(zhǔn)與刪除客房標(biāo)準(zhǔn)對(duì)話框 32 4.5 客房信息管理模塊 37 4.5.1、創(chuàng)建添加客房信息對(duì)話框 37 4.5.2、修改客房信息與刪除客房信息對(duì)話框 41 4.5.3、輸入查詢條件對(duì)話框 47 4.5.4、顯示查詢結(jié)果對(duì)話框 49 4.6.1、剩余客房查詢對(duì)話
6、框 51 4.6.2、添加定房信息與修改定房信息對(duì)話框 54 4.6.3、查詢定房信息對(duì)話框 61 4.6.4、定房查詢結(jié)果顯示對(duì)話框 64 4.7 結(jié)算信息管理模塊 66 4.7.1、添加結(jié)帳信息與修改結(jié)帳定房信息對(duì)話框 66 4.7.2、查詢結(jié)算信息對(duì)話框 73 第五章 系統(tǒng)測(cè)試 77 5.1 測(cè)試的作用和意義 77 5.2 測(cè)試方法 77 5.3 測(cè)試內(nèi)容 77 5.4 測(cè)試結(jié)果 78 5.4.1注冊(cè)和登錄模塊測(cè)試 78 5.4.2 查詢模塊測(cè)試 78 5.4.3 賓館信息添加、修改和刪除模塊測(cè)試 78 5.4 結(jié)論 78 第六章 總結(jié) 79 參考文獻(xiàn)
7、 79 第一章 項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū) 1.1引言 1.1.1編寫(xiě)目的 此項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)的編寫(xiě)主要是為了給開(kāi)發(fā)《賓館住房管理系統(tǒng)》做主要的規(guī)劃和整合,在開(kāi)發(fā)過(guò)程中起到引導(dǎo)作用,以及給使用者提供簡(jiǎn)要的說(shuō)明。 1.1.2背景 隨著旅游事業(yè)的蓬勃發(fā)展和賓館管理業(yè)務(wù)的不斷擴(kuò)大,賓館管理人員,尤其是星級(jí)賓館的管理人員對(duì)賓館管理的現(xiàn)代化、科學(xué)化的要求逐漸迫切起來(lái)。越來(lái)越多的人認(rèn)識(shí)到賓館管理計(jì)算機(jī)化的重要性和必要性。希望能夠有一套提高內(nèi)部管理水平、發(fā)善服務(wù)質(zhì)量、操作上簡(jiǎn)潔方便,并能滿足各種必要功能的系統(tǒng)。 這樣的系統(tǒng)由于面對(duì)各種不同種類(lèi)的信息,所以需要合理的SQL Server
8、數(shù)據(jù)庫(kù)結(jié)構(gòu)來(lái)保存數(shù)據(jù),以及有效的程序結(jié)構(gòu)支持各種SQL語(yǔ)句操作執(zhí)行。 本系統(tǒng)使用Visual C++6.0作為開(kāi)發(fā)工具。編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。數(shù)據(jù)庫(kù)應(yīng)用程序在操作系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,利用數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)操作命令、高級(jí)程序設(shè)計(jì)語(yǔ)言或應(yīng)用開(kāi)發(fā)工具,設(shè)計(jì)菜單、表單、查詢、。這些設(shè)計(jì)構(gòu)成的賓館管理系統(tǒng)應(yīng)用程序,提供了一個(gè)可視化的操作界面,使用戶能夠方便地操作數(shù)據(jù)庫(kù)。 1.2項(xiàng)目概述 1.2.1工作內(nèi)容 《賓館住房管理系統(tǒng)》針對(duì)的用戶賓館管理人員; 該系統(tǒng)需要實(shí)現(xiàn)如下功能: (1) 對(duì)客房標(biāo)準(zhǔn)進(jìn)行管理:其中包括必需明確的各項(xiàng)內(nèi)容及可能增加的各項(xiàng)內(nèi)容,如:客房標(biāo)準(zhǔn)編號(hào)、標(biāo)
9、準(zhǔn)類(lèi)型、面積、床位、是否有電視、空調(diào)、衛(wèi)生間等,以及該標(biāo)準(zhǔn)客房的單價(jià)。 (2) 對(duì)客房信息進(jìn)行管理:其中包括客房標(biāo)準(zhǔn)有關(guān)內(nèi)容及新增加客房位置、是否入住及客人及客房的各類(lèi)備注信息。 (3) 對(duì)定房信息進(jìn)行管理:其中包括定房人員的基礎(chǔ)信息(顧客姓名、身份證號(hào)碼、入住客房編號(hào)等)及入住信息(入住日期、折扣比例、費(fèi)用等)。 (4) 對(duì)結(jié)算信息進(jìn)行管理:其中將顧客信息及客房信息相結(jié)合,并輸入結(jié)帳時(shí)間后,自動(dòng)生成結(jié)帳金額。方便前臺(tái)人員的管理。 (5) 為了方便高層管理人員對(duì)賓館以往經(jīng)營(yíng)狀況及現(xiàn)狀及時(shí)的了解及掌握,在各類(lèi)模塊中創(chuàng)建了查詢模塊,以列表的方式顯示出符合條件的結(jié)果。 (6) 對(duì)
10、操作人員設(shè)置登錄帳戶和密碼:只有符合條件的用戶才能通過(guò)密碼進(jìn)入系統(tǒng)進(jìn)行操作,其他人員無(wú)權(quán)進(jìn)入系統(tǒng)。 1.2.2主要參加人員 組長(zhǎng):徐小剛 設(shè)計(jì): 徐小剛、廖百達(dá)、歐翔、曾森林、羅明 開(kāi)發(fā): 徐小剛、廖百達(dá)、歐翔、曾森林、羅明 1.2.3產(chǎn)品 1 系統(tǒng)開(kāi)發(fā)計(jì)劃書(shū) 2 系統(tǒng)需求說(shuō)明書(shū) 3 系統(tǒng)設(shè)計(jì)說(shuō)明書(shū) 4 測(cè)試計(jì)劃 5 一個(gè)能正確運(yùn)行的可執(zhí)行程序 源程序清單(有注釋) 1.2.4服務(wù) 安裝、維護(hù)和運(yùn)行支持從使用該系統(tǒng)開(kāi)始,維護(hù)期限為一年。 1.2.5驗(yàn)收標(biāo)準(zhǔn) 各個(gè)功能均能正常使用,滿足用戶的需求。 1.2.6本計(jì)劃的批準(zhǔn)者和批準(zhǔn)日期 批準(zhǔn)
11、者:顏富強(qiáng) 批準(zhǔn)日期:2011年6月6日 1.3實(shí)施計(jì)劃 1.3.1工作任務(wù)的分配與人員分工 組長(zhǎng): 徐小剛 任務(wù): (1)系統(tǒng)總的開(kāi)發(fā)計(jì)劃書(shū) (2)每周至少組織小組討論一次,列出本周開(kāi)發(fā)計(jì)劃 (3)項(xiàng)目開(kāi)發(fā)進(jìn)度的管理 (4)團(tuán)隊(duì)的組織和協(xié)調(diào) 設(shè)計(jì): 任務(wù): (1)參與小組討論
12、 (2)進(jìn)行系統(tǒng)的需求分析和系統(tǒng)設(shè)計(jì) (3)完成系統(tǒng)需求說(shuō)明書(shū)和系統(tǒng)設(shè)計(jì)說(shuō)明書(shū) (4)編寫(xiě)測(cè)試計(jì)劃,參與系統(tǒng)測(cè)試 (5)協(xié)助文檔人員完成用戶相關(guān)文檔 開(kāi)發(fā): 任務(wù): (1)參與小組討論 (2)根據(jù)設(shè)計(jì)完成編碼,并注釋 (3)進(jìn)行單元測(cè)試 1.3.2進(jìn)度
13、 系統(tǒng)規(guī)劃階段: 項(xiàng)目標(biāo)志性事件 開(kāi)始到完成 開(kāi)發(fā)階段: 項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)的完成 6.5-6.7 需求分析階段: 系統(tǒng)需求說(shuō)明書(shū)完成 6.8-6.10 設(shè)計(jì)階段: 系統(tǒng)設(shè)計(jì)說(shuō)明書(shū) 6.11-6.15 編碼實(shí)現(xiàn): 項(xiàng)目的形成 6.16-6.23 測(cè)試階段: 測(cè)試計(jì)劃 6.24-6.27 移交階段: 項(xiàng)目的遞交
14、6.28-6.30 1.4支持條件 1.4.1計(jì)算機(jī)系統(tǒng)支持 操作系統(tǒng)需要 windows 2000以上; 操作系統(tǒng)環(huán)境:java虛擬機(jī),.netFrameWork3.0; 數(shù)據(jù)庫(kù)需要: SQL Server數(shù)據(jù)庫(kù); 數(shù)據(jù)庫(kù)驅(qū)動(dòng):Microsoft公司的sqljdbc驅(qū)動(dòng); 前臺(tái)開(kāi)發(fā)工具:Dreamver mx 8.8,Visual C++6.0; 前臺(tái)界面類(lèi)型:html,jsp,servlet。 第二章 可行性分析 2.1可行性研究前提 要求:滿足賓館管理者對(duì)基本信息管理及要求,并對(duì)客戶資料具有保密性。 目標(biāo):實(shí)現(xiàn)無(wú)紙化辦公,節(jié)省成本,提高工作效率。 條
15、件、假定、限制:本軟件自開(kāi)發(fā)到運(yùn)行結(jié)束至少可運(yùn)行5年,開(kāi)發(fā)成本不超過(guò)500人民幣,開(kāi)發(fā)軟件到投入使用不超過(guò)1個(gè)月。 2.2 對(duì)現(xiàn)有系統(tǒng)的分析 如今旅游事業(yè)的蓬勃發(fā)展和賓館管理業(yè)務(wù)的不斷擴(kuò)大,賓館管理人員,尤其是星級(jí)賓館的管理人員對(duì)賓館管理的現(xiàn)代化、科學(xué)化的要求逐漸迫切起來(lái)。越來(lái)越多的人認(rèn)識(shí)到賓館管理計(jì)算機(jī)化的重要性和必要性。希望能夠有一套提高內(nèi)部管理水平、發(fā)善服務(wù)質(zhì)量、操作上簡(jiǎn)潔方便,并能滿足各種必要功能的系統(tǒng),而現(xiàn)有系統(tǒng)在管理水平、服務(wù)質(zhì)量、操作上都不跟不上需求,因此要開(kāi)發(fā)一個(gè)現(xiàn)代化、科學(xué)化的系統(tǒng)。 2.3 建議新系統(tǒng) 2.3.1 新系統(tǒng)說(shuō)明 新系統(tǒng)能夠?yàn)楣芾碚咛峁┮粋€(gè)良好的操
16、作平臺(tái)。使管理效率大大提高。能快捷、方便的處理信息。而且本系統(tǒng)界面友好,操作簡(jiǎn)單,對(duì)硬件要求不高,且用戶的花費(fèi)是幾乎可以忽略的,因此十分有利于推廣。 本系統(tǒng)的用戶可分為兩種:一般管理員和超級(jí)管理員并設(shè)置登錄帳戶和密碼。超級(jí)管理員是在一般管理員所擁有的權(quán)限上可以進(jìn)一步查詢所以信息,如:收入金額、特殊信息查詢、直接對(duì)系統(tǒng)管理和對(duì)一般管理員所設(shè)置的信息更改等。 2.3.2 新系統(tǒng)的流程圖 本系統(tǒng)的主模塊分為客房信息管理、定房信息管理、結(jié)算信息管理,結(jié)構(gòu)如下圖所示: 添加客房標(biāo)準(zhǔn) 設(shè)置客房標(biāo)準(zhǔn) 修改客房標(biāo)準(zhǔn) 客房信息管理 刪除客房標(biāo)準(zhǔn)
17、 添加客房信息 修改客房信息 設(shè)置客房信息 刪除客房信息 賓館管理系統(tǒng) 查詢客房信息 查詢剩余客房信息 添加定房信息 定房信息管理 修改定房信息 查詢定房信息 添加結(jié)算信息 結(jié)算信息管理工作 修改結(jié)算信息 查詢結(jié)算信息 圖1 新系統(tǒng)的流程圖 2.4經(jīng)濟(jì)上可行性 開(kāi)發(fā)成本:500元人民幣。 效益:暫時(shí)無(wú)法具體衡量。 效益/投資比:暫時(shí)無(wú)法估算。 投資回收期:大約2個(gè)月。 2.5技術(shù)可行性 軟件需求:操作系統(tǒng)WINDOWS 20
18、00 Advance Server以上。 硬件需求:賽揚(yáng)1.7G CPU、512M內(nèi)存 80G硬盤(pán)的計(jì)算機(jī)。 使用語(yǔ)言為:java 頁(yè)面為jsp 編輯工具為: Visual C++6.0 數(shù)據(jù)庫(kù)為:SQL Server數(shù)據(jù)庫(kù) 2.6開(kāi)發(fā)工具的選擇 Visual C++6.0作為前臺(tái)的開(kāi)發(fā)工具;用SQL Server 2008作為后臺(tái)支持?jǐn)?shù)據(jù)庫(kù);通過(guò)JDBC的數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)連接SQL Server 2008中并對(duì)其編程來(lái)實(shí)現(xiàn)各種功能。 2.7 新系統(tǒng)的影響 l 設(shè)備的影響:創(chuàng)建新系統(tǒng)需要添置一臺(tái)性能良好的服務(wù)器。 l 人員的影響:新系統(tǒng)需要一個(gè)專職維護(hù)人員。 l 用戶的影
19、響:用戶可準(zhǔn)確、高效的管理信息。 2.8 結(jié)論 綜上所述,賓館管理系統(tǒng)在技術(shù)非常成熟,主客觀條件都具備,且具有良好的效益,因此開(kāi)發(fā)此系統(tǒng)是可行的。為了提高賓館管理效率,方便管理者管理信息,建議立即開(kāi)發(fā)。 第三章 需求分析 3.1市場(chǎng)需求分析 過(guò)去系統(tǒng)各方面老化滿足不了星級(jí)賓館的管理人員對(duì)賓館管理的現(xiàn)代化、科學(xué)化的要求?,F(xiàn)在越來(lái)越多的人認(rèn)識(shí)到賓館管理計(jì)算機(jī)化的重要性和必要性。希望能夠有一套提高內(nèi)部管理水平、發(fā)善服務(wù)質(zhì)量、操作上簡(jiǎn)潔方便,并能滿足各種必要功能的系統(tǒng)。 同時(shí)檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好。這樣做極大地提高賓館管理的效率。
20、 3.2系統(tǒng)功能性需求分析 3.2.1 功能劃分 一個(gè)賓館的管理是十分復(fù)雜的過(guò)程,往往涉及許多不同的管理流程和系統(tǒng)。我們按照涉及對(duì)象的不同功能,將系統(tǒng)化分為以下幾個(gè)模塊: 1、客房管理: 包括客房標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱、客房面積、床位數(shù)量、住房單價(jià)、是否有衛(wèi)生間、電話、電視機(jī)等。用戶可以隨時(shí)修改、查詢。 2、客房資源: 能夠輸入、修改,包括客房編號(hào)、客房類(lèi)型、客房位置、客房單價(jià)、剩余的客房數(shù)量以及備注等信息。 3、定房信息: 包括兩部分:一是住房的信息,如客房編號(hào)、客房類(lèi)型、客房位置、客房單價(jià);二是住客信息,如姓名、身份證號(hào)碼、入住日期、折扣比例,以及備注信息等。 4
21、、 結(jié)算信息: 包括客房編號(hào)、客房類(lèi)型、客房位置、客房單價(jià)、顧客姓名、身份證號(hào)碼、入住日期、折扣比例、結(jié)算日期和備注信息等。 3.2.2.2 登錄功能模塊 主要用于用戶的登錄。已注冊(cè)的用戶進(jìn)入系統(tǒng)后可根據(jù)之前注冊(cè)的用戶名和密碼直接登錄自己的賬戶,但用戶需要填入正確的用戶名和用戶密碼。如果用戶登錄時(shí)的用戶名或密碼錯(cuò)誤,就會(huì)有提醒用戶登錄失敗的頁(yè)面。如果用戶輸入的用戶名和密碼經(jīng)過(guò)確認(rèn)后,頁(yè)面需跳轉(zhuǎn)到管理系統(tǒng)的管理首頁(yè)。 3.2.2.3 查詢功能模塊 所有管理用戶都可以使用本系統(tǒng)的查詢功能,對(duì)信息的基本情況進(jìn)行了解,并且查詢需要支持模糊查詢。查詢客房編號(hào)、客房類(lèi)型、客房位置、客房單
22、價(jià)、剩余的客房數(shù)量以及備注等信息。 3.2.2.4 管理功能信息模塊 只有登錄的合法用戶才可以使用管理功能模塊并且進(jìn)行修改,并可以添加、刪除等。 3.3 系統(tǒng)非功能性需求 3.3.1 可用性 本系統(tǒng)的潛在用戶群具有的身份、背景可能會(huì)有較大的差異,因此對(duì)本系統(tǒng)的可操作性和易用性都提出了很高的要求。過(guò)于復(fù)雜的操作將不可避免的損失大量的用戶,本系統(tǒng)應(yīng)能讓任何用戶都不必借助任何操作手冊(cè)或相關(guān)的系統(tǒng)幫助就能順利地進(jìn)行各種操作。 3.3.2 可靠性 系統(tǒng)建成后預(yù)計(jì)將有大量的用戶用此系統(tǒng),因此對(duì)系統(tǒng)的穩(wěn)定性有比較高的要求。一旦系統(tǒng)不能正常工作,會(huì)給用戶群帶來(lái)巨大的損失也將導(dǎo)致失去用
23、戶對(duì)系統(tǒng)的信任。 第四章 系統(tǒng)設(shè)計(jì) 4.1 功能模塊 查詢結(jié)算信息 修改結(jié)算信息 結(jié)算信息管理 4.1.1 設(shè)置客房標(biāo)準(zhǔn) (1)添加客房標(biāo)準(zhǔn) 選擇“添加客房標(biāo)準(zhǔn)”后,就出現(xiàn)右圖所示對(duì)話框,其中包括:標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱、房間面積、床位數(shù)量、住房單價(jià),并設(shè)置是否有空調(diào)、電話、電視、衛(wèi)生間等。 在輸入完成各項(xiàng)內(nèi)容后,單擊“保存”后,就可以將客房標(biāo)準(zhǔn)添加至相應(yīng)的數(shù)據(jù)庫(kù)。 (2)修改客房標(biāo)準(zhǔn) 選擇“修改客房標(biāo)準(zhǔn)”后,就出現(xiàn)右圖所示對(duì)話框,顯示項(xiàng)目與“添加客房標(biāo)準(zhǔn)”相同,但此模塊調(diào)用客房標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)并進(jìn)行相應(yīng)的顯示,允許用戶對(duì)數(shù)據(jù)進(jìn)行修改。完成
24、修改后,單擊“修改”按鈕后,將更新客房標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的內(nèi)容。 (3)刪除客房標(biāo)準(zhǔn) 選擇“刪除客房標(biāo)準(zhǔn)”后,就出現(xiàn)右圖所示對(duì)話框,在此對(duì)話框中,通過(guò)下拉框選擇要?jiǎng)h除的“標(biāo)準(zhǔn)編號(hào)”,然后,單擊“刪除”按鈕后,就可以將該標(biāo)準(zhǔn)編號(hào)及相應(yīng)的數(shù)據(jù)給予刪除。 4.1.2、設(shè)置客房信息 (1)添加客房信息 選擇“添加客房信息”,出現(xiàn)右圖所示對(duì)話框,在“客房編號(hào)”內(nèi)輸入房間編號(hào);在“客房類(lèi)型”中,通過(guò)下拉菜單選擇相該客房的類(lèi)型;在“客房位置”中輸入該房間的地理位置,以利于客人進(jìn)行選擇;“客房單價(jià)”由系統(tǒng)自動(dòng)生成,無(wú)需輸入;然后在“備注信息”中說(shuō)明客房?jī)?nèi)部配置的完好程度及
25、需要說(shuō)明的有關(guān)信息。 (2)修改客房信息 選擇“修改客房信息”,系統(tǒng)彈出如右所示對(duì)話框,并顯示出客房信息數(shù)據(jù)庫(kù)內(nèi)第一行的內(nèi)容,在“客房編號(hào)”中選擇相應(yīng)的客房編號(hào);在“客房類(lèi)型”中選擇相應(yīng)的類(lèi)型進(jìn)行修改;“客房位置”若沒(méi)有變化就不需要修改;“客房單價(jià)”會(huì)隨著客房類(lèi)型的變化自動(dòng)進(jìn)行調(diào)整,無(wú)需人工修改;若要修改備注信息,則在“備注信息” 編輯框中輸入相應(yīng)的信息。 輸入完成后,單擊“修改”按鈕,系統(tǒng)自動(dòng)更正數(shù)據(jù)庫(kù)內(nèi)的信息。 (3)刪除客房信息 選擇“刪除客房信息”,系統(tǒng)彈出如右所示對(duì)話框,并顯示出客房信息數(shù)據(jù)庫(kù)內(nèi)第一行的內(nèi)容,在“客房編號(hào)”中選
26、擇相應(yīng)的客房編號(hào);在“客房類(lèi)型” “客房位置” “客房單價(jià)” “備注信息” 中自動(dòng)顯示數(shù)據(jù)庫(kù)的內(nèi)容。 確定要?jiǎng)h除時(shí),單擊“修改”按鈕,系統(tǒng)自動(dòng)刪除數(shù)據(jù)庫(kù)內(nèi)的相應(yīng)信息。 (4)查詢客房信息 選擇“查詢客房信息”,系統(tǒng)彈出如右所示的“輸入查詢條件”對(duì)話框,可以根據(jù)“客房編號(hào)”進(jìn)行查詢,也可以根據(jù)“客房類(lèi)型”進(jìn)行查詢。在此,選擇“客房類(lèi)型”,并在下拉菜單中選擇“所有房間類(lèi)型”,單擊“查詢”后,系統(tǒng)根據(jù)要求顯示出如下相應(yīng)的列表信息。 4.1.3定房信息管理 (1) 查詢剩余客房信息 選擇 定房信息管理
27、| 查詢剩余客房信息,系統(tǒng)彈出如右圖“剩余客房查詢”對(duì)話框。在此對(duì)話框中,有各種不同的查詢條件,按“全部剩余客房”查詢,或按“客房類(lèi)型” “客房單價(jià)”進(jìn)行查詢,三種不同的查詢方式為一組單選按鈕。只能選擇一種查詢條件進(jìn)行查詢。 選擇查詢條件后,單擊“查詢”按鈕,系統(tǒng)進(jìn)行自動(dòng)查詢,并以列表的形式將查詢結(jié)果進(jìn)行顯示,如下圖所示的“客房信息”。 (2) 添加定房信息 (2)選擇 定房信息管理| 添加定房信息 ,系統(tǒng)彈出如右圖所示的“添加定房信息”對(duì)話框。此對(duì)話框由兩部分組成,一部分為顧客信息,另一部分為客房信息。 在客房信息中,只要選擇了“客房編
28、號(hào) ”,則其余內(nèi)容全部顯示在客房信息中;在顧客信息中,詳細(xì)記錄了“顧客姓名” “身份證號(hào)碼” “入住時(shí)間”,“折扣”,“備注信息”。 全部輸入完成后,單擊“添加”按鈕,系統(tǒng)自動(dòng)增加數(shù)據(jù)庫(kù)記錄。 (3)修改定房信息。 選擇 定房信息管理| 修改定房信息,系統(tǒng)彈出如右圖所示的“修改定房信息”在此對(duì)話框中,可以對(duì)“添加客房信息”中的失誤進(jìn)行修改,或由于顧客要求變更客房類(lèi)型時(shí),就可以應(yīng)用此對(duì)話框進(jìn)行修改。 將所有信息修正完畢后,單擊“修改”按鈕后,自動(dòng)將數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行更正。 (4)查詢定房信息 選擇 定房信息管理|查詢定房信息,系統(tǒng)彈出“查詢定房信息”對(duì)話框,在此對(duì)話框中,列出了
29、各種查詢條件,如“顧客姓名” “房間編號(hào)” “入住時(shí)間” 此三種條件互為單選。在查詢條件的編輯欄中輸入相應(yīng)的要求條件,然后單擊“查詢”按鈕后,系統(tǒng)自動(dòng)進(jìn)行查詢,并將結(jié)果顯示出來(lái)如下圖“定房信息”列表框圖所示。 4.1.4結(jié)算信息管理 (1) 添加結(jié)算信息 選擇 結(jié)算信息管理|添加結(jié)算信息 ,則彈出如右所示“添加結(jié)帳信息”對(duì)話框,在此對(duì)話框中,選擇“客房編號(hào)”中的相應(yīng)客房編號(hào),并選擇結(jié)帳時(shí)間,對(duì)話框內(nèi)自動(dòng)調(diào)用系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)的“顧客信息”及“客房信息”,然后單擊“添加”按鈕后,系統(tǒng)彈出如下結(jié)算信息, 在此對(duì)話框中,單擊“確定”后,在“添
30、加結(jié)帳信息”對(duì)話框中的“結(jié)帳金額”內(nèi)自動(dòng)更新為實(shí)際的結(jié)帳金額。 (2) 修改結(jié)算信息 選擇 結(jié)算信息管理| 修改結(jié)算信息,則彈出如下圖“修改結(jié)賬信息”對(duì)話框,在此對(duì)話框中,可以對(duì)“客房編號(hào)” “結(jié)帳時(shí)間”進(jìn)行修改,在修改完成后,單擊“修改”按鈕后,在“結(jié)帳金額”中自動(dòng)更正為實(shí)際的結(jié)算金額。 (3) 查詢結(jié)算信息 選擇 結(jié)算信息管理| 查詢結(jié)算信息,則彈出如右圖所示的 “查詢結(jié)算信息”對(duì)話框,在此對(duì)話框中,列出了各種查詢條件,如“顧客姓名” “房間編號(hào)” “入住時(shí)間” 此三種條件互為單選。在查詢條件的編輯欄中輸入相應(yīng)的要求條件,然后單擊“查詢”按鈕后,系統(tǒng)自動(dòng)進(jìn)行查
31、詢,并將結(jié)果顯示出來(lái)如下圖“結(jié)算信息”列表框圖所示。 4.2 數(shù)據(jù)庫(kù) 4.2.1、數(shù)據(jù)庫(kù)的設(shè)計(jì) 數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。 設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)根據(jù)需求分析階段的成果,充分了解用戶各個(gè)方面的需求,分析各用戶要求之間的聯(lián)系統(tǒng)及異同,并應(yīng)具有前瞻性,將現(xiàn)有的以及將來(lái)可能增加的需求都包括在內(nèi)。 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),實(shí)際上就是創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)空間。數(shù)據(jù)庫(kù)由一組表構(gòu)成,表是真正存儲(chǔ)數(shù)據(jù)的邏輯
32、單元。下面就根據(jù)功能模塊來(lái)定義這些表。 (1)標(biāo)準(zhǔn)客房表: 字段名 數(shù)據(jù)類(lèi)型 能否取空值 備注 roomid Varchar NOT NULL 客房標(biāo)準(zhǔn)編號(hào) roomname Varchar NOT NULL 客房標(biāo)準(zhǔn)類(lèi)型 area Float NULL 客房面積 bednum Int NULL 床位數(shù)量 aircondition Bit NULL 是否有空調(diào) television Bit NULL 是否有電視 telephone Bit NULL 是否有電話 toilet Bit NULL 是否有衛(wèi)生間 p
33、rice float NULL 單價(jià) (2)客房信息表 字段名 數(shù)據(jù)類(lèi)型 能否取空值 備注 roomnumber Varchar NOT NULL 客房編號(hào) stdroom Varchar NOT NULL 客房標(biāo)準(zhǔn)類(lèi)型 roomposition Varchar NULL 客房位置 roomprice Float NULL 單價(jià) putup Bit NULL 是否入住 roommemo Text NULL 備注信息 (3)定房信息表 字段名 數(shù)據(jù)類(lèi)型 能否取空值 備注 booknum Varchar N
34、OT NULL 定房編號(hào) customname Varchar NOT NULL 顧客姓名 customID Varchar NOT NULL 身份證號(hào)碼 roomnumber Varchar NOT NULL 客房編號(hào) indate Datetime NULL 入住日期 discount Float NULL 折扣比例 inmemo Text NULL 備注 checkdate Datetime NULL 結(jié)算日期 amount float NULL 金額 (4)用戶信息表 字段名 數(shù)據(jù)類(lèi)型 能否取空值 備注
35、user_ID Varchar NOT NULL 用戶名 user_PWD Varchar NULL 用戶密碼 user_Des varchar NULL 用戶說(shuō)明 4.2.2、 數(shù)據(jù)庫(kù)表的實(shí)現(xiàn) 通過(guò)需求作析以后,就可以得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。然后利用SQL Server2000數(shù)據(jù)庫(kù)系統(tǒng)中的SQL查詢分析器來(lái)實(shí)現(xiàn)該邏輯結(jié)構(gòu)。 具體步驟如下: (1)創(chuàng)建SQL2000數(shù)據(jù)庫(kù)。打開(kāi)SQL查詢分析器,并輸入以下SQL語(yǔ)言程序; USE master GO CREATE DATABASE SQL2000 然后在“查詢”菜單中按“執(zhí)
36、行”,數(shù)據(jù)庫(kù)就自動(dòng)在SQL中進(jìn)行了創(chuàng)建。 (2)創(chuàng)建數(shù)據(jù)庫(kù)表。打開(kāi)SQL查詢分析器,并輸入以下SQL語(yǔ)言程序; USE SQL2000 CREATE TABLE [dbo].[sysuser] ( [user_ID] [varchar] (15) NOT NULL , [user_PWD] [varchar] (10) NULL , [user_Des] [varchar] (10) NULL ) ON [PRIMARY] CREATE TABLE [dbo].[stdroom] ( [roomid] [varchar
37、] (10) NOT NULL , [roomname] [varchar] (10) NOT NULL , [area] [float] NULL , [bednum] [int] NULL , [aircondition] [bit] NULL , [telephone] [bit] NULL , [television] [bit] NULL , [toilet] [bit] NULL , [price] [float] NULL ) ON [PRIMARY] CREATE TABLE [dbo].[roominfo] ( [roomnum
38、ber] [varchar] (10) NOT NULL , [stdroom] [varchar] (10) NOT NULL , [roomposition] [varchar] (20) NULL , [roomprice] [float] NULL , [putup] [bit] NULL , [roommemo] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] CREATE TABLE [dbo].[bookroom] ( [booknum] [varchar] (14) NOT NULL , [c
39、ustomname] [varchar] (10) NOT NULL , [customID] [varchar] (18) NOT NULL , [roomnumber] [varchar] (10) NOT NULL , [indate] [datetime] NULL , [discount] [float] NULL , [inmemo] [text] NULL , [checkdate] [datetime] NULL , [amount] [float] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 然后
40、在“查詢”菜單中按“執(zhí)行”,數(shù)據(jù)表就自動(dòng)在SQL2000數(shù)據(jù)庫(kù)中進(jìn)行了創(chuàng)建。 4.2.3、創(chuàng)建數(shù)據(jù)源 使用ODBC編寫(xiě)應(yīng)用程序,需要?jiǎng)?chuàng)建數(shù)據(jù)源。數(shù)據(jù)源名稱為SQL2000,具體過(guò)程如下: (1) 在操作系統(tǒng)中,通過(guò)單擊“開(kāi)始”|“設(shè)置”|“控制面板”|“管理工具”|“數(shù)據(jù)源(ODBC)”打開(kāi)ODBC數(shù)據(jù)源管理器,ODBC數(shù)據(jù)源管理器由七個(gè)選項(xiàng)卡組成。創(chuàng)建用戶數(shù)據(jù)源,在“用戶DSN”選項(xiàng)卡進(jìn)行配置。 (2) 單擊“添加”按鈕,進(jìn)入“創(chuàng)建新數(shù)據(jù)源”窗口。 (3) 在“選擇您想為其安裝數(shù)據(jù)源的驅(qū)動(dòng)程序”列表框中,顯示系統(tǒng)中全部ODBC驅(qū)動(dòng)程序。選擇列表框中的“SQL Server”
41、,然后單擊“完成”按鈕,進(jìn)入“建立新的數(shù)據(jù)源到SQL Server”窗口。 在“名稱”框中輸入“SQL2000”,在“說(shuō)明”框中輸入“連接ODBC數(shù)據(jù)源”;在“服務(wù)器”框中選擇為“Local”。然后選擇“下一步”。 (4) 在“登錄”及“密碼”框中輸入用戶名“sa”和密碼“sa”。然后單擊“下一步”進(jìn)入向?qū)У牡谌酱翱凇? (5) 點(diǎn)擊“更改默認(rèn)的數(shù)據(jù)庫(kù)為”前的復(fù)選框,在顯示連接服務(wù)中所有的數(shù)據(jù)庫(kù)名的下拉列表中選擇“SQL2000”數(shù)據(jù)庫(kù),然后單擊“下一步”, (6) 不需要更改,單擊“完成”進(jìn)入“ODBC Microsoft SQL server安裝”窗口。為確定配置是否正確,可單擊
42、“測(cè)試數(shù)據(jù)源”,將顯示測(cè)試結(jié)果。 (7) 單擊“確定”,返回向?qū)У谒牟酱翱凇? (8) 單擊“確定”,返回“ODBC數(shù)據(jù)源管理器”窗口。 4.3 賓館管理信息系統(tǒng)主窗體 4.3.1、工程項(xiàng)目 利用Visual C++6.0,使用ODBC編寫(xiě)數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用程序的步驟如下: (1) 啟動(dòng)Visual C++6.0后,單擊“File | New”菜單,出現(xiàn)“New”對(duì)話框。在“New”對(duì)話框的“Projects”選項(xiàng)卡中,選擇“MFC AppWizard(exe)”項(xiàng),然后在“Porjects”欄中輸入工程名稱Hot
43、el_SQL,在“Location”中選擇工程的位置D:\Hotel_SQL,其它使用默認(rèn)選項(xiàng)。 (2) 單擊“OK”按鈕,出現(xiàn)“MFC AppWizard-Step1”對(duì)話框,在對(duì)話框中選擇“Single document”選項(xiàng)。 (3) 單擊“Next”按鈕,出現(xiàn)“MFC AppWizard-Step 2 of 6”對(duì)話框,在對(duì)話框中選擇“Header files only”選項(xiàng),表示只使用頭文件中中包含的數(shù)據(jù)庫(kù)。 (4) 單擊“Next”按鈕,出現(xiàn)“MFC AppWizard-Step 3 of 6”對(duì)話框。在對(duì)話
44、框中保持默認(rèn)選項(xiàng),單擊Next按鈕,出現(xiàn)“MFC AppWizard-Step 4of 6”對(duì)話框,在對(duì)話框中只選擇“Initial statul bar”選項(xiàng)和“3D controls”選項(xiàng)。 (5) 單擊“Next”按鈕,出現(xiàn)“MFC AppWizard-Step 5 of 6”對(duì)話框。在對(duì)話框中保持默認(rèn)選項(xiàng)。單擊“Next”按鈕,出現(xiàn)“MFC AppWizard-Step 6 of 6”對(duì)話框。在對(duì)話框中保持默認(rèn)選項(xiàng)。 (6) 單擊“Finish”按鈕,出現(xiàn)“New Project Information”對(duì)話框,顯示以上選擇的內(nèi)容。確認(rèn)設(shè)置正確后,單
45、擊“OK”按扭,完成創(chuàng)建工程的工作。 (浙大資料) 4.3.2、賓館管理信息系統(tǒng)主窗體的菜單 (1) 完成創(chuàng)建工程的工作之后,在Workspace的Recource View中,單擊“Menu”文件夾,然后雙擊“IDR_MAINFRAME”選項(xiàng),出現(xiàn)默認(rèn)的主窗體菜單。 (2) 雙擊窗口中的“文件”菜單,彈出以下對(duì)許話框: 在標(biāo)題中,將“文件”修改為“系統(tǒng)”后,選中“彈出”復(fù)選按鈕,按“回車(chē)鍵”確定后,窗口中的“文件”菜單名就變?yōu)槿缦聢D所示的“系統(tǒng)”菜單名,并且為一彈出菜單。 (3)在上圖“系統(tǒng)”菜單中,雙擊“新建”命令,彈出下圖所示對(duì)話框: 在此對(duì)話框中,將
46、ID號(hào)修改為“ID_MAINMENU_CHANGEPWD”,將標(biāo)題內(nèi)容修改為“修改密碼”。如下圖所示,然后按“回車(chē)鍵”確定。 (4)以同樣的方式,對(duì)這個(gè)菜單的其它項(xiàng)目進(jìn)行修改,將原有 “文件”“編輯”“查看”等菜單項(xiàng)刪除,重新加入以下所示菜單項(xiàng)目,使其與系統(tǒng)功能模塊一致。一個(gè)菜單項(xiàng)對(duì)應(yīng)一個(gè)系統(tǒng)功能模塊。 系統(tǒng)分為三級(jí),菜單結(jié)構(gòu)下表所示: 菜單名稱 ID 系統(tǒng) \ 修改密碼 ID_MAINMENU_CHANGEPWD 添加用戶 ID_MAINMENU_APPENDACCOUNT 退出系統(tǒng) ID_AP
47、P_EXIT 客房信息管理 \ 設(shè)備客房標(biāo)準(zhǔn) \ 添加客房標(biāo)準(zhǔn) ID_MENU_ADDSTDROOM 修改客房標(biāo)準(zhǔn) ID_MENU_ALTERSTDROOM 刪除客房標(biāo)準(zhǔn) ID_MENU_DELSTDROOM 設(shè)置客房信息 \ 添加客房信息 ID_MENU_ADDROOM 修改客房信息 ID_MENU_ALTERROOM 刪除客房信息 ID_MENU_DELROOM 查詢客房信息 ID_MENU_CHECKROOM 定房信息管理 \
48、 查詢剩余客房信息 ID_MENU_CHECKREMAIN 添加定房信息 ID_MENU_ADDBOOKROOM 修改定房信息 ID_MENU_ALTERBOOKROOM 查詢定房信息 ID_MENU_SEARCHBOOKROOM 結(jié)算信息管理 \ 添加結(jié)算信息 ID_MENU_ADDCHECKOUT 修改結(jié)算信息 ID_MENU_ALTERCHECKOUT 查詢結(jié)算信息 ID_MENU_SEARCHCHECKOUT 幫助 \ About \ 最終修改后的系統(tǒng)菜單如下圖所示: 4
49、.3.3、記錄集類(lèi) 由于系統(tǒng)中各個(gè)模塊都將頻繁進(jìn)行數(shù)據(jù)庫(kù)的訪問(wèn),因此首先創(chuàng)建Hotel數(shù)據(jù)庫(kù)中表的記錄集類(lèi)。這樣,在以后相繼編寫(xiě)系統(tǒng)各功能模塊時(shí),就可以使用這些記錄集類(lèi)進(jìn)行數(shù)據(jù)庫(kù)操作,使程序容易逐步完成。創(chuàng)建步驟如下: (1) 單擊主菜單“Inser| New Class”選項(xiàng),打開(kāi)如下圖所示的“New Class”對(duì)話框。 (2) “Class Type”保持“MFC Class”不變,“Name”欄輸入“CStdroominfoSet”,作為表stdroom記錄集的類(lèi)名;在“Base class”下拉列表中,選擇“CRecordset”選項(xiàng),作為新類(lèi)的基類(lèi)。 (3) 單
50、擊“OK”按扭,打開(kāi)“Database Options”對(duì)話框。如下圖所示: 在ODBC下拉列表中選擇新建的數(shù)據(jù)源“SQL2000”,然后單擊“OK”按鈕,打開(kāi)“Select Database Tables ”對(duì)話框。 在對(duì)話框中列出的Hotel 庫(kù)中所有的表。選擇客房類(lèi)型表dbo.sdroom,然后單擊“OK”。對(duì)話框關(guān)閉后,VC++自動(dòng)生成記錄集類(lèi)CStdroominfoSet。 (4) 按上述步驟為表roominfo,bookroom,sysuser創(chuàng)建記錄集類(lèi)CroominfoSet、CbookroomSet、CuserSet。 4.4 客
51、房標(biāo)準(zhǔn)管理模塊 4.4.1、添加客房標(biāo)準(zhǔn)對(duì)話框 具體步驟如下: (1) 在Resource View中右擊“Dialog”,從快捷菜單中選擇“Insert Dialog”,生成只有兩個(gè)按鈕的對(duì)話框。使用控件工具,向?qū)υ捒蛑刑砑訕?biāo)簽、文本框、下拉列表框等,并將各個(gè)控件調(diào)整至合適的位置。這個(gè)對(duì)話框用來(lái)輸入客房標(biāo)準(zhǔn)。 (2) 完成對(duì)話框制作之后,創(chuàng)建一個(gè)新類(lèi)CStdroomDlg,并使用MFC ClassWizard中的Message Maps選項(xiàng)卡,向類(lèi)中添加消息處理函數(shù): OnOK();單擊“保存”事件。 (3) 使用“MFC ClassWiz
52、ard”中的“Member Variables”選項(xiàng)卡,向類(lèi)中添加成員變量: CString m_roomid:標(biāo)準(zhǔn)編號(hào) CString m_name:標(biāo)準(zhǔn)名稱 CString m_area:客房面積 CString m_bedno:床位數(shù)量 CString m_price:住房單價(jià) int m_isaircon:是否有空調(diào) int m_istel:是否有電話 int m_istv:是否有電視 int m_istoilet:是否有衛(wèi)生間 (4) 在“ClassView”中右擊類(lèi)
53、名“CStdroomDlg”,從快捷菜單中選擇“Add Member Variables ”項(xiàng),添加成員變量: CStdroominfoSet m_stdroom:表stdroom的記錄集類(lèi)對(duì)象。 (5) 輸入客房標(biāo)準(zhǔn)信息后,單擊“保存”按鈕,添加記錄,其處理函數(shù)為OnOK()。在“ClassView”中雙擊“CstdroomDlg”類(lèi)中的“OnOK()”函數(shù),進(jìn)行修改。修改后的代碼如下: void CStdroomDlg::OnOK() { UpdateData(TRUE); CString sWarn=""; if(m_roomid==
54、"")sWarn=_T("標(biāo)準(zhǔn)編號(hào)"); else if(m_name=="")sWarn=_T("標(biāo)準(zhǔn)名稱"); if(sWarn!="") { sWarn+=_T("不能為空!"); AfxMessageBox(sWarn); return; } if(atof(m_area)==0)sWarn=_T("房間面積"); else if(atol(m_bedno)==0)sWarn=_T("床位數(shù)
55、量"); else if(atof(m_price)==0)sWarn=_T("住房單價(jià)"); if(sWarn!="") { sWarn+=_T("不能為零!"); AfxMessageBox(sWarn); return; } m_stdroom.m_strFilter="typeid = '"+m_roomid+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else
56、 m_stdroom.Requery(); if(!m_stdroom.IsEOF()){ AfxMessageBox(_T("標(biāo)準(zhǔn)編號(hào)重復(fù)!")); return; } m_stdroom.m_strFilter="typename = '"+m_name+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); if(!m_stdroom.IsEOF()){ AfxM
57、essageBox(_T("標(biāo)準(zhǔn)名稱重復(fù)!")); return; } //AfxMessageBox(m_stdroom.GetSQL()); m_stdroom.AddNew(); m_stdroom.m_roomid=m_roomid; m_stdroom.m_roomname=m_name; m_stdroom.m_area=atof(m_area); m_stdroom.m_bednum=atol(m_bedno); m_stdroom.m_aircondition=m_isaircon; m_stdroom.m_telep
58、hone=m_istel; m_stdroom.m_television=m_istv; m_stdroom.m_toilet=m_istoilet; m_stdroom.m_price=atof(m_price); m_stdroom.Update(); m_stdroom.Close(); AfxMessageBox(_T("添加完成!")); } 4.4.2、修改客房標(biāo)準(zhǔn)與刪除客房標(biāo)準(zhǔn)對(duì)話框 創(chuàng)建這個(gè)對(duì)話框的步驟如下: 在Resource View(資源視圖)中右擊“Dialog”,從快捷菜單中選擇“Insert Dialo
59、g”,生成只有兩個(gè)按鈕的對(duì)話框。使用控件工具,向?qū)υ捒蛑刑砑訕?biāo)簽、文本框、下拉列表框等,這個(gè)對(duì)話框既用于修改客房標(biāo)準(zhǔn),也用于刪除客房標(biāo)準(zhǔn)。 完成對(duì)話框制作之后,創(chuàng)建一個(gè)新類(lèi)CUpdateStdroom,并使用MFC ClassWizard中的Message Maps選項(xiàng)卡,向類(lèi)中添加消息處理函數(shù): OnInitDialog();初始化對(duì)話框 OnSelchangeRoomid():改變標(biāo)準(zhǔn)編號(hào)事件 OnOK():?jiǎn)螕簟靶薷摹笔录? 使用“MFC ClassWizard”中的“Member Variables”選項(xiàng)卡,向類(lèi)中添加成員變量: CComboBox
60、 m_id:標(biāo)準(zhǔn)編號(hào) CString m_name:標(biāo)準(zhǔn)名稱 CString m_area:客房面積 CString m_bedno:床位數(shù)量 CString m_price:住房單價(jià) int m_isaircon:是否有空調(diào) int m_istel:是否有電話 int m_istv:是否有電視 int m_istoilet:是否有衛(wèi)生間 int m_flag:對(duì)話框標(biāo)志。M_flag=1為修改客房類(lèi)型;M_flag=0 為刪除客房類(lèi)型 在“ClassView
61、”中右擊類(lèi)名“CStdroomDlg”,從快捷菜單中選擇“Add Member Variables”項(xiàng),添加成員變量: CStdroominfoSet m_stdroom:表stdroom的記錄集類(lèi)對(duì)象。 在“ClassView”中雙擊“CUpdateStdroom”類(lèi)中的“OnInitDialog()”函數(shù),進(jìn)行修改。修改后的代碼如下: BOOL CUpdateRoomType::OnInitDialog() { CDialog::OnInitDialog(); m_stdroom.Open(); while(!m_stdroom.IsEOF()) {
62、 m_id.AddString(m_stdroom.m_roomid); m_stdroom.MoveNext(); } if(m_id.GetCount()==0) { AfxMessageBox(_T("現(xiàn)在沒(méi)有客房標(biāo)準(zhǔn)!")); CDialog::OnOK(); return FALSE; } m_id.SetCurSel(0); m_id.GetLBText(0,m_roomid); m_stdroom.m_strFilter="roomid = '"+m_roomid+"
63、'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); //AfxMessageBox(m_stdroom.GetSQL()); m_name=m_stdroom.m_roomname; m_area.Format("%.2f",m_stdroom.m_area); m_bedno.Format("%d",m_stdroom.m_bednum); m_isaircon=m_stdroom.m_airconditi
64、on; m_istel=m_stdroom.m_telephone; m_istv=m_stdroom.m_television; m_istoilet=m_stdroom.m_htoilet; m_price.Format("%.2f",m_stdroom.m_price); UpdateData(FALSE); m_stdroom.Close(); if(m_flag) { SetWindowText(_T("修改客房標(biāo)準(zhǔn)")); GetDlgItem(IDOK)->SetWindowText
65、("修改"); } else { SetWindowText(_T("刪除客房標(biāo)準(zhǔn)")); GetDlgItem(IDOK)->SetWindowText("刪除"); } return TRUE; } (5) 函數(shù)OnSelchangeRoomid()的功能是當(dāng)改變下拉列表中客房類(lèi)型時(shí),根據(jù)當(dāng)前標(biāo)準(zhǔn)編號(hào),更新顯示的內(nèi)容。修改后的代碼為: void CUpdateRoomType::OnSelchangeTypeId() { UpdateData(TRUE); int i=m
66、_id.GetCurSel(); m_id.GetLBText(i,m_roomid); m_stdroom.m_strFilter="roomid = '"+m_roomid+"'"; if(!m_stdroom.IsOpen()) m_stdroom.Open(); else m_stdroom.Requery(); //AfxMessageBox(m_stdroom.GetSQL()); m_name=m_stdroom.m_roomname; m_area.Format("%.2f&
67、quot;,m_stdroom.m_area); m_bedno.Format("%d",m_stdroom.m_bednum); m_isaircon=m_stdroom.m_aircondition; m_istel=m_stdroom.m_telephone; m_istv=m_stdroom.m_television; m_istoilet=m_stdroom.m_toilet; m_price.Format("%.2f",m_stdroom.m_price); m_stdroom.Close(); Upd
68、ateData(FALSE); } (6) 修改客房標(biāo)準(zhǔn)后或決定刪除時(shí),調(diào)用OnOK()。具體代碼如下: void CUpdateRoomType::OnOK() { UpdateData(TRUE); if(m_flag) { CString sWarn=""; if(atof(m_area)==0)sWarn=_T("房間面積"); else if(atol(m_bedno)==0)sWarn=_T("床位數(shù)量"); else if(atof(m_price)==0)sWarn=_T("住房單價(jià)")
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語(yǔ)文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語(yǔ)文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版