版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 膃蒆螅膆聿蒆袈罿莇蒅薇螁芃蒄蝕羇腿薃螂螀肅薂蒂羅羈薁薄螈莀薀螆肅芆薀衿袆膂蕿薈肂肈薈蝕裊莆蚇螃肀節(jié)蚆裊袃膈蚅薅肈肄節(jié)螇袁肀芁衿膇荿芀蕿罿芅艿蟻膅膁羋螄羈肇羋袆螁莆莇薆羆節(jié)莆蚈蝿膇蒞袀羄膃莄薀袇聿莃螞肅莈莂螅裊芄莂袇肁膀莁薆襖肆蒀蠆聿羂葿螁袂芁蒈蒁肇芇蕆蚃羀膃蒆螅膆聿蒆袈罿莇蒅薇螁芃蒄蝕羇腿薃螂螀肅薂蒂羅羈薁薄螈莀薀螆肅芆薀衿袆膂蕿薈肂肈薈蝕裊莆蚇螃肀節(jié)蚆裊袃膈蚅薅肈肄節(jié)螇袁肀芁衿膇荿芀蕿罿芅艿蟻膅膁羋螄羈肇羋袆螁莆
2、莇薆羆節(jié)莆蚈蝿膇蒞袀羄膃莄薀袇聿莃螞肅莈莂螅裊芄莂袇肁膀莁薆襖肆蒀蠆聿羂葿螁袂芁蒈蒁肇芇蕆蚃羀膃蒆螅膆聿蒆袈罿莇蒅薇螁芃蒄蝕羇腿薃螂螀肅薂蒂羅羈薁薄螈莀薀螆肅芆薀衿袆膂蕿薈肂肈薈蝕裊莆蚇螃肀節(jié)蚆裊袃膈蚅薅肈肄節(jié)螇袁肀芁衿膇荿芀蕿罿芅艿蟻膅膁羋螄羈肇羋袆螁莆莇薆羆節(jié)莆蚈蝿膇蒞袀羄膃莄薀袇聿莃螞肅莈莂螅裊芄莂袇肁膀莁薆襖肆蒀蠆聿羂葿螁袂芁蒈蒁肇芇蕆蚃羀膃蒆螅膆聿蒆袈罿莇蒅薇螁芃蒄蝕羇腿薃螂螀肅薂蒂羅羈薁薄螈莀薀螆肅芆薀衿袆膂蕿薈肂肈薈蝕裊莆
3、蚇螃肀節(jié)蚆裊袃膈蚅薅肈肄節(jié)螇袁肀芁衿膇荿芀蕿罿芅艿蟻膅膁羋螄羈肇羋袆螁莆莇薆羆節(jié)莆蚈蝿膇蒞袀羄膃莄薀袇聿莃螞肅莈莂螅裊芄莂袇肁膀莁薆襖肆蒀蠆聿</p><p><b> 上海電視大學(xué)</b></p><p> 畢業(yè)設(shè)計(jì)(論文、作業(yè))</p><p> 畢業(yè)設(shè)計(jì)(論文、作業(yè))題目:</p><p> 閔二分校學(xué)生成
4、績(jī)管理系統(tǒng) </p><p> 分校(站、點(diǎn)): 閔二分校 </p><p> 年級(jí)、專業(yè): 09秋計(jì)算機(jī) </p><p> 教育層次:
5、 ???</p><p> 學(xué)生姓名: 屈華 </p><p> 學(xué) 號(hào): 098020518 </p><p> 指導(dǎo)教師: 黃曉
6、冬 </p><p> 完成日期: 2011年11月 </p><p><b> 目 錄</b></p><p> 內(nèi)容摘要和關(guān)鍵詞 ……………………………………………………………………Ⅰ</p><p>
7、一、XXXXXXXX …………………………………………………………………………1</p><p> (一)XXXXXXXX …………………………………………………………………………2</p><p> 1、XXXXXXXX …………………………………………………………………………4 </p><p> 二、XXXXXXXX ……………………………………
8、……………………………………7</p><p> (一)XXXXXXXX …………………………………………………………………………8</p><p> 1、XXXXXXXX ……………………………………………………………………………10</p><p> 三、XXXXXXXX …………………………………………………………………………12</p>
9、<p> (一)XXXXXXXX …………………………………………………………………………13</p><p> 1、XXXXXXXX ……………………………………………………………………………14 </p><p> 四、XXXXXXXX …………………………………………………………………………20</p><p> (一)XXXXXXXX
10、 …………………………………………………………………………21</p><p> 1、XXXXXXXX ……………………………………………………………………………23 </p><p> 五、XXXXXXXX …………………………………………………………………………25</p><p> (一)XXXXXXXX ……………………………………………………………
11、……………26</p><p> 1、XXXXXXXX ……………………………………………………………………………27 </p><p> 參考文獻(xiàn) ………………………………………………………………………………30</p><p> 附錄 ………………………………………………………………………………31</p><p> 致謝
12、 …………………………………………………………………………………32</p><p> 內(nèi) 容 摘 要</p><p> 隨著計(jì)算機(jī)普及, 網(wǎng)絡(luò)技術(shù)的發(fā)展, 越來(lái)越多的企業(yè)為引進(jìn)現(xiàn)代化計(jì)算機(jī)工具,推動(dòng)現(xiàn)代化管理,使公司管理規(guī)范化、程序化、迅速快捷。各個(gè)企業(yè)單位的管理系統(tǒng)也不得不與時(shí)俱進(jìn),及時(shí)開發(fā)出新的軟件或?qū)υ械能浖M(jìn)行功能更新或版本升級(jí)。旅游事業(yè)的蓬勃發(fā)展和賓館管理業(yè)務(wù)的不斷
13、擴(kuò)大,賓館管理人員尤其是星級(jí)賓館的管理人員對(duì)賓館管理的現(xiàn)代化科學(xué)化的要求逐漸迫切起來(lái)。越來(lái)越多的賓館領(lǐng)導(dǎo)認(rèn)識(shí)到賓館管理計(jì)算機(jī)化的重要性和必要性,計(jì)算機(jī)信息管理系統(tǒng)對(duì)賓館管理來(lái)說,已不再是一個(gè)時(shí)髦的奢侈品,而是一個(gè)必不可少的得力助手。</p><p> 本系統(tǒng)使用Visual Basic 2003編程技術(shù)和SQL Server 2000數(shù)據(jù)庫(kù)技術(shù)進(jìn)行開發(fā),操作系統(tǒng)為Windows2000 Server。本系統(tǒng)共有
14、登入功能、基礎(chǔ)設(shè)置、業(yè)務(wù)管理、房態(tài)管理等模塊。通過這些模塊可以對(duì)酒店的客房,入住情況等進(jìn)行搜索、新增、更改、刪除等操作。本系統(tǒng)簡(jiǎn)單易操作,為酒店管理提供了方便。</p><p><b> 關(guān)鍵詞:</b></p><p> 酒店管理 VB.NET2003 SQLServer2000</p><p><b> 酒店管理系統(tǒng)<
15、/b></p><p><b> 一、引言</b></p><p> ?。ㄒ唬┍菊n題的研究意義</p><p> 酒店作為旅游業(yè)的主要組成部分,正在發(fā)揮越來(lái)越重要的作用。酒店的內(nèi)涵也隨著客人需要的發(fā)展而不斷變革,消費(fèi)者對(duì)現(xiàn)代酒店的功能、經(jīng)營(yíng)管理提出了新的衡量標(biāo)準(zhǔn)。以此為基礎(chǔ),酒店的等級(jí)標(biāo)準(zhǔn)也在逐漸提高?,F(xiàn)代酒店競(jìng)爭(zhēng)格局的變化帶來(lái)現(xiàn)代酒
16、店集團(tuán)的產(chǎn)生與發(fā)展,它對(duì)酒店功能的設(shè)置與資源管理也提出了更為嚴(yán)格的要求。</p><p> ?。ǘ┍菊撐牡哪康摹?nèi)容</p><p> 酒店組織龐大,服務(wù)項(xiàng)目多,信息量大,要想提高勞動(dòng)生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來(lái)進(jìn)行現(xiàn)代化的信息管理。</p><p> 用酒店管理系統(tǒng)通過節(jié)省大量的人力物力,增加飯店的服務(wù)項(xiàng)目,提高酒店
17、的服務(wù)檔次,減少管理上的漏洞,從整體上提高酒店的經(jīng)濟(jì)效益。如完善的預(yù)訂功能可防止有房不能租或滿房重訂的情況出現(xiàn),可隨時(shí)提供準(zhǔn)確的房間使用和預(yù)訂情況,從而提高客房出租率。</p><p> 二、研究現(xiàn)狀及設(shè)計(jì)目標(biāo)</p><p> (一)相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析</p><p> 傳統(tǒng)的酒店管理,多采用手工的形式,既繁瑣又易于出差錯(cuò),隨著電子技術(shù)的發(fā)展,酒
18、店管理多采用使用計(jì)算機(jī)的方式進(jìn)行管理,避免進(jìn)行簡(jiǎn)單的重復(fù)計(jì)算,從而做到準(zhǔn)確、快捷。酒店管理系統(tǒng)發(fā)揮其強(qiáng)大的優(yōu)勢(shì),在數(shù)據(jù)保存、數(shù)據(jù)交換等方面均快速可靠,是手工操作所不能完成的。</p><p> ?。ǘ┍菊n題要達(dá)到的設(shè)計(jì)目標(biāo)</p><p> 酒店作為一個(gè)服務(wù)型行業(yè),從客房的營(yíng)銷即客人的預(yù)訂開始,到入住登記直至最后退房結(jié)帳,整個(gè)過程應(yīng)該能夠體現(xiàn)以賓館為中心,提供快捷,方便的服務(wù),給賓客一
19、種顧客至上的享受,提高酒店的管理水平,簡(jiǎn)化各種復(fù)雜操作,在最合理最短時(shí)間內(nèi)完成酒店業(yè)務(wù)規(guī)范操作,這樣才能令旅客舒適難忘。因此,采用計(jì)算機(jī)網(wǎng)絡(luò)和管理系統(tǒng),將成為提高酒店的管理效率、改善服務(wù)水準(zhǔn)的重要手段之一。</p><p> 三、要解決的幾個(gè)關(guān)鍵問題</p><p> ?。ㄒ唬﹩栴}:房態(tài)設(shè)置</p><p> 解決方案:酒店客房在不同時(shí)間有不同的狀態(tài),如空房、維
20、修房等,在酒店的管理中需要實(shí)時(shí)掌握每一個(gè)客房所處的狀態(tài),從而安排各種工作。為了直觀的表示和更改這些信息,酒店管理系統(tǒng)中一般都使用房態(tài)圖來(lái)表示。房態(tài)圖是酒店管理系統(tǒng)中最為重要的一個(gè)功能,它以圖形的形式顯示了酒店各個(gè)房間的不同狀態(tài),從而使操作者準(zhǔn)確、快速地分析酒店目前的房間占用情況,用鼠標(biāo)單擊任意一間客房,就可以瀏覽到該客房相關(guān)的信息。</p><p> ?。ǘ﹩栴}:系統(tǒng)與數(shù)據(jù)庫(kù)連接</p><
21、p> 解決方法:數(shù)據(jù)庫(kù)建立完成后,創(chuàng)建保存入住單、計(jì)算應(yīng)收賬款、收銀退房三個(gè)存儲(chǔ)過程。在程序設(shè)計(jì)界面時(shí),從工具箱拖動(dòng)一個(gè)SqlDataAdapter對(duì)象,添加界面需要的表,然后生成數(shù)據(jù)集,在生成數(shù)據(jù)集對(duì)話框單擊確定。為TextBox控件以及Combobox控件設(shè)置數(shù)據(jù)源。Textbox控件屬性DataBingings與Text進(jìn)行數(shù)據(jù)綁定。</p><p> ?。ㄈ﹩栴}:登入系統(tǒng)</p>
22、<p> 解決方法:在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)登入使用的“用戶信息” 表,規(guī)定只有數(shù)據(jù)庫(kù)有信息的操作員才能登入系統(tǒng),里面包含操作員登入時(shí)使用的用戶編號(hào)、姓名、密碼等信息。程序設(shè)計(jì)里添加一個(gè)frmLogin登入界面,并為其添加Label、Textbox、Button等控件,操作員需輸入正確的用戶名和密碼方可進(jìn)入操作,輸入錯(cuò)誤則提示確認(rèn)用戶名密碼是否正確,確定后返回重新輸入</p><p><b>
23、四、系統(tǒng)結(jié)構(gòu)與模型</b></p><p><b> ?。ㄒ唬┫到y(tǒng)結(jié)構(gòu)</b></p><p> 圖1 系統(tǒng)模塊結(jié)構(gòu)圖</p><p><b> ?。ǘ┫到y(tǒng)流程</b></p><p><b> 圖2 系統(tǒng)流程圖</b></p><p&
24、gt; ?。ㄈ┰O(shè)計(jì)實(shí)現(xiàn)的策略和算法描述</p><p> 客房信息是系統(tǒng)關(guān)鍵的表,其它信息均與通過客房編號(hào)字段相對(duì)應(yīng)進(jìn)行多對(duì)一的關(guān)聯(lián)。系統(tǒng)共需要10張表格,用途分別如下表:</p><p> 系統(tǒng)數(shù)據(jù)表及其用途表</p><p> 創(chuàng)建完成各個(gè)表格后,還要?jiǎng)?chuàng)建主鍵及外鍵等表約束,尤其關(guān)鍵的是創(chuàng)建存儲(chǔ)過程,這個(gè)系統(tǒng)使用了“sf_保存入住單”,“sf_計(jì)算應(yīng)收賬
25、款”,“sf_收銀退房”三個(gè)存儲(chǔ)過程,操作實(shí)現(xiàn)的功能分別為保存入住單時(shí)修改房態(tài),收銀結(jié)帳時(shí)計(jì)算應(yīng)收賬款總額和收銀結(jié)帳。具體計(jì)算方法在下面的腳本中有詳細(xì)的注釋:</p><p> 1. sf_保存入住單</p><p> create proc sf_保存入住單 @入住單號(hào) varchar(36)</p><p><b> as</b>&l
26、t;/p><p> begin tran</p><p> -- 修改客房信息</p><p> update 客房信息 set 狀態(tài)='住房' from 客房信息 as a, 入住單 as b </p><p> where a.客房編號(hào)=b.客房編號(hào) and b.入住單號(hào)=@入住單號(hào)</p><p
27、> -- 修改預(yù)定單狀態(tài)</p><p> update 預(yù)定單 set 單據(jù)狀態(tài)='入住' from 預(yù)定單 as a, 入住單 as b </p><p> where a.預(yù)定單號(hào)=b.預(yù)定單號(hào) and b.入住單號(hào)=@入住單號(hào)</p><p> -- 將已入住的預(yù)定單放入歷史</p><p> inse
28、rt into 預(yù)定單歷史 select * from 預(yù)定單 where 單據(jù)狀態(tài) = '入住'</p><p> -- 清除已入住預(yù)定單</p><p> delete from 預(yù)定單 where 單據(jù)狀態(tài) = '入住'commit</p><p><b> GO</b></p><
29、;p> 2. sf_計(jì)算應(yīng)收賬款</p><p> create proc sf_計(jì)算應(yīng)收帳款 @入住單號(hào) varchar(36)</p><p><b> as</b></p><p> begin tran</p><p> declare @total money</p><p&
30、gt; declare @datecount int</p><p><b> -- 設(shè)置離電時(shí)間</b></p><p> update 入住單 set 離店時(shí)間 = getdate() where 入住單號(hào) = @入住單號(hào)</p><p><b> -- 住店天數(shù)</b></p><p>
31、; select @datecount = datediff(dd,抵店時(shí)間,getdate())</p><p> from 入住單 where 入住單號(hào) = @入住單號(hào)</p><p><b> -- 住店金額</b></p><p> select @total = 0</p><p> select @
32、total = @datecount*(isnull(入住價(jià)格,0)+isnull(加床價(jià)格,0))</p><p> from 入住單 where 入住單號(hào) = @入住單號(hào)</p><p><b> -- 消費(fèi)金額</b></p><p> select @total = @total + isnull(b.消費(fèi)金額,0) from&l
33、t;/p><p> (select sum(消費(fèi)金額) as 消費(fèi)金額 from 帳單明細(xì)</p><p> where 入住單號(hào) = @入住單號(hào)) as b</p><p> -- 設(shè)置應(yīng)收帳款和結(jié)算金額</p><p> update 入住單 set 應(yīng)收帳款 = @total, </p><p> 結(jié)帳金額
34、 = @total - isnull(預(yù)收款,0) </p><p> where 入住單號(hào) = @入住單號(hào)</p><p><b> commit</b></p><p><b> GO</b></p><p> 3. sf_收銀退房</p><p> creat
35、e proc sf_收銀退房 @入住單號(hào) varchar(36), @付款方式 varchar(20)</p><p><b> as</b></p><p> begin tran</p><p> update 入住單 set 離店時(shí)間 = getdate(), 單據(jù)狀態(tài) = '離店',</p><
36、p> 付款方式 = @付款方式, 是否結(jié)帳=1,</p><p> 結(jié)帳日期 = getdate() </p><p> where 入住單號(hào) = @入住單號(hào)</p><p><b> -- 設(shè)置房態(tài)</b></p><p> update 客房信息 set 狀態(tài)='空房' from 客房
37、信息 as a, 入住單 as b </p><p> where a.客房編號(hào)=b.客房編號(hào) and b.入住單號(hào)=@入住單號(hào)</p><p><b> -- 倒入歷史</b></p><p> insert into 入住單歷史 select * from 入住單 </p><p> where 入住單號(hào) =
38、 @入住單號(hào)</p><p> insert into 帳單明細(xì)歷史 select * from 帳單明細(xì) </p><p> where 入住單號(hào) = @入住單號(hào)</p><p> delete from 帳單明細(xì) </p><p> where 入住單號(hào) = @入住單號(hào)</p><p><b>
39、 -- 清除入住單</b></p><p> delete from 入住單</p><p> where 入住單號(hào) = @入住單號(hào)</p><p><b> commit</b></p><p><b> GO</b></p><p> 本系統(tǒng)采用多文
40、檔窗體程序,每一功能對(duì)應(yīng)一個(gè)子窗體,選擇主菜單中的各菜單命令可以進(jìn)入相應(yīng)的功能。</p><p> ?。ㄋ模┚幊棠P图皵?shù)據(jù)結(jié)構(gòu)</p><p> 1.酒店管理系統(tǒng)E-R圖</p><p> 圖3 酒店管理系統(tǒng)E-R圖</p><p><b> 2.數(shù)據(jù)庫(kù)結(jié)構(gòu)</b></p><p><
41、;b> 表1 用戶信息表</b></p><p><b> 表2 入住單表</b></p><p> 表3 入住單歷史表</p><p><b> 表4 客房信息表</b></p><p><b> 表5 客房類型表</b></p&g
42、t;<p><b> 表6 賬單明細(xì)表</b></p><p> 表7 賬單明細(xì)歷史表</p><p><b> 表8 樓層信息表</b></p><p><b> 表9 預(yù)訂單表</b></p><p> 表10 預(yù)訂單歷史表</p&g
43、t;<p><b> 五、系統(tǒng)實(shí)現(xiàn)技術(shù)</b></p><p> 程序設(shè)計(jì)首先要?jiǎng)?chuàng)建一個(gè)登入窗體,再進(jìn)行創(chuàng)建系統(tǒng)主窗體,系統(tǒng)主窗體包括“基礎(chǔ)設(shè)置”、“業(yè)務(wù)管理”、“房態(tài)管理”三大模塊。</p><p> 基礎(chǔ)設(shè)置包括:客房類型設(shè)置和客房信息設(shè)置;</p><p> 業(yè)務(wù)管理包括:預(yù)訂管理、入住管理、消費(fèi)記賬和收銀退房。&l
44、t;/p><p> 然后創(chuàng)建各個(gè)模塊的控件。</p><p><b> ?。ㄒ唬﹦?chuàng)建登入窗體</b></p><p> 本系統(tǒng)采用多文檔窗體程序,每一功能對(duì)應(yīng)一個(gè)子窗體,利用Visual Basic.NET實(shí)現(xiàn)登入系統(tǒng)的功能。如圖5,在用戶輸入“用戶號(hào)”和“密碼” 后對(duì)用戶的輸入進(jìn)行驗(yàn)證,并記錄登錄用戶的姓名和用戶號(hào),供系統(tǒng)使用(權(quán)限管理、制單
45、人指定等)。</p><p><b> 圖4 登入窗口</b></p><p> 登入窗體將其Name屬性設(shè)置為“frmlogin”,主要代碼:</p><p> 在“確定”的Click事件中添加如下代碼</p><p> Private Sub btnSubmit_Click(ByVal sender As
46、System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click</p><p> '判斷用戶輸入密碼的合法性</p><p> If Me.UserPwd.Trim() = Me.txbPwd.Text.Trim() _</p><p> And UserPwd <>
47、"" Then</p><p><b> '合法用戶</b></p><p> bResult = True</p><p> UserName = Me.txbName.Text.Trim()</p><p> Me.Close()</p><p><b
48、> Else</b></p><p><b> '密碼錯(cuò)誤</b></p><p> bResult = False</p><p> MessageBox.Show("請(qǐng)確認(rèn)你的用戶名或密碼是否正確")</p><p><b> End If</b
49、></p><p><b> End Sub</b></p><p> ?。ǘ﹦?chuàng)建數(shù)據(jù)訪問模塊</p><p> 因?yàn)楦鱾€(gè)窗體均需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問,可以把對(duì)數(shù)據(jù)庫(kù)的一些操作通過一個(gè)類來(lái)實(shí)現(xiàn),這樣可以使數(shù)據(jù)庫(kù)的訪問更加簡(jiǎn)單。添加一個(gè)名為“DadaBase.vb”的類文件,主要代碼:</p><p> Pri
50、vate SqlConn As SqlConnection</p><p> Public Shared sConn As String = "Persist Security Info=False;Integrated Security=SSPI;database=hotelbook;server=localhost;Connect Timeout=30"</p><p
51、> Public Sub Dispose() Implements System.IDisposable.Dispose</p><p> Dispose(True)</p><p> GC.SuppressFinalize(True)</p><p><b> End Sub</b></p><p>
52、Protected Sub Dispose(ByVal disposing As Boolean)</p><p> If disposing <> True Then</p><p><b> Return</b></p><p><b> End If</b></p><p>
53、 If SqlConn Is Nothing = False Then</p><p> SqlConn.Dispose()</p><p> SqlConn = Nothing</p><p><b> End If</b></p><p><b> End Sub</b></p&
54、gt;<p> Public Sub Open()</p><p> If SqlConn Is Nothing = True Then</p><p> '建立數(shù)據(jù)庫(kù)連接對(duì)象</p><p> SqlConn = New SqlConnection(Me.sConn)</p><p><b>
55、39;打開數(shù)據(jù)庫(kù)連接</b></p><p> SqlConn.Open()</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Public Sub Close()</p><p>
56、39;如果數(shù)據(jù)庫(kù)連接對(duì)象不為空則關(guān)閉數(shù)據(jù)庫(kù)連接</p><p> If SqlConn Is Nothing = False Then</p><p> SqlConn.Close()</p><p><b> End If</b></p><p><b> End Sub</b></
57、p><p> Public Function RunSelectSQL(ByVal sSQLString As System.String) As DataView</p><p><b> Me.Open()</b></p><p> Dim SqlDS As DataSet = New DataSet</p><p&g
58、t; Dim SqlDA As SqlDataAdapter = New SqlDataAdapter(sSQLString, Me.SqlConn)</p><p> SqlDA.Fill(SqlDS)</p><p> Return SqlDS.Tables(0).DefaultView</p><p> End Function</p>
59、<p> Public Function RunDelOrInsSQL(ByVal sSQLString As System.String)</p><p><b> Me.Open()</b></p><p> Dim SqlComm As SqlCommand = New SqlCommand(sSQLString, Me.SqlConn)<
60、/p><p> SqlComm.ExecuteNonQuery()</p><p> End Function</p><p><b> End Class</b></p><p> ?。ㄈ﹦?chuàng)建數(shù)據(jù)操作窗體的父類窗體</p><p> 因?yàn)橄到y(tǒng)中所有對(duì)數(shù)據(jù)庫(kù)表進(jìn)行維護(hù)的窗體界面及實(shí)現(xiàn)的功能大
61、體是一致的,為了減少系統(tǒng)編程的工作量,可以把這些共同的部分抽出來(lái),生成一個(gè)父類窗體,其它數(shù)據(jù)庫(kù)操作窗體均可以通過繼承父類窗體獲得數(shù)據(jù)維護(hù)的功能。新建一個(gè)窗體,將其Name屬性改為“frmBase”,并為其添加如圖6控件。</p><p><b> 圖5 基礎(chǔ)窗體</b></p><p> 設(shè)置完成ToolBar控件Buttons屬性,主要代碼:</p>
62、;<p> 在ToolBar1的ButtonClick事件輸入代碼</p><p> Private Sub ToolBar1_ButtonClick(ByVal sender As Object, _</p><p> ByVal e As ToolBarButtonClickEventArgs) _</p><p> Handles Too
63、lBar1.ButtonClick</p><p> Select Case e.Button.Text</p><p> Case "首記錄"</p><p><b> '返回首記錄</b></p><p> bmData.Position = 0</p><p&
64、gt; Case "上記錄"</p><p> If bmData.Position <> 0 Then</p><p> bmData.Position -= 1</p><p><b> End If</b></p><p> Case "下記錄"<
65、/p><p> If bmData.Position <> bmData.Count Then</p><p> bmData.Position += 1</p><p><b> End If</b></p><p> Case "尾記錄"</p><p>&
66、lt;b> '返回尾記錄</b></p><p> bmData.Position = bmData.Count</p><p><b> Case "新增"</b></p><p> Me.dgdList.Enabled = False</p><p> SetT
67、extBoxState(False)</p><p> SetToolBarState(False)</p><p> bAdd = True</p><p><b> Clear()</b></p><p><b> Case "修改"</b></p>&
68、lt;p> Me.dgdList.Enabled = False</p><p> SetTextBoxState(False)</p><p> SetToolBarState(False)</p><p> bAdd = False</p><p><b> Case "刪除"</b&g
69、t;</p><p><b> '彈出詢問對(duì)話框</b></p><p> Dim dlgResult As DialogResult = _</p><p> MessageBox.Show("你確認(rèn)刪除此數(shù)據(jù)?", _</p><p> "刪除", Messag
70、eBoxButtons.OKCancel)</p><p> If dlgResult = DialogResult.OK Then</p><p> DeleteData()</p><p><b> End If</b></p><p><b> Case "保存"</b&
71、gt;</p><p> SetToolBarState(True)</p><p> SetTextBoxState(True)</p><p> If bAdd = True Then</p><p><b> '為新增數(shù)據(jù)保存</b></p><p> SaveForAdd
72、()</p><p><b> Else</b></p><p><b> '為更新數(shù)據(jù)保存</b></p><p> SaveForUpdate()</p><p><b> End If</b></p><p> Me.dgdLis
73、t.Enabled = True</p><p><b> Case "取消"</b></p><p> SetTextBoxState(True)</p><p> SetToolBarState(True)</p><p> Me.dgdList.Enabled = True</p&
74、gt;<p> SearchResult()</p><p><b> Case "退出"</b></p><p><b> '關(guān)閉本窗體</b></p><p> Me.Close()</p><p> End Select</p>
75、<p><b> Try</b></p><p> Me.dgdList.CurrentRowIndex = bmData.Position</p><p><b> SetData()</b></p><p> Catch ex As Exception</p><p><
76、;b> End Try</b></p><p><b> End Sub</b></p><p> 搜索btnSearch的Click事件主要代碼</p><p> Private Sub btnSearch_Click(ByVal sender As System.Object, _</p><p
77、> ByVal e As System.EventArgs) Handles btnSearch.Click</p><p> SearchResult()</p><p><b> End Sub</b></p><p> ?。ㄋ模┰O(shè)置系統(tǒng)界面與數(shù)據(jù)庫(kù)連接</p><p> 創(chuàng)建客房類型設(shè)置、客房信息設(shè)置
78、、預(yù)訂管理、入住管理、消費(fèi)記賬和收銀退房的窗體界面相似:選擇文件,添加新項(xiàng)命令,在添加新項(xiàng)對(duì)話框模板列表框中選擇繼承的窗體選項(xiàng),并分別命名為“frmRoomType.vb”、“frmRoomInfo.vb”、“frmReserve.vb”、“frmReside.vb”、“frmConsume.vb”和“frmCash.vb”。單擊打開按鈕后出現(xiàn)繼承選擇器對(duì)話框,在其中選擇frmBase選項(xiàng)并確定。</p><p>
79、; 客房類型設(shè)置、客房信息設(shè)置、預(yù)訂管理、入住管理和消費(fèi)記賬都是從工具箱中拖動(dòng)一個(gè)SqlDataAdapter對(duì)象到窗體上,連接hotelbook數(shù)據(jù)庫(kù),添加相對(duì)應(yīng)的表,并選折所有字段。</p><p> 收銀退房連接hotelbook數(shù)據(jù)庫(kù)后,則要添加入住單表并選者“入住單號(hào)、客房類型、客房編號(hào)、抵店時(shí)間、離店時(shí)間、入住價(jià)格、加床價(jià)格、預(yù)收款、應(yīng)收賬款、結(jié)帳金額、是否結(jié)帳、結(jié)帳日期、付款方式”字段。<
80、/p><p> 然后在SqlDataAdapter1對(duì)象上右擊,在彈出的快捷菜單中選擇生成數(shù)據(jù)集命令,在生成數(shù)據(jù)集對(duì)話框中單擊確定按鈕。</p><p> 為每個(gè)TextBox、ComboBox和CheckBox控件設(shè)置數(shù)據(jù)源:在控件屬性設(shè)計(jì)器中對(duì)TextBox和ComboBox的屬性Databingdings與Text進(jìn)行數(shù)據(jù)綁定,CheckBox的屬性Databingdings與Che
81、cked進(jìn)行數(shù)據(jù)綁定。</p><p> ?。ㄎ澹┰O(shè)置房態(tài)圖功能</p><p> 新建一個(gè)Name屬性為“frmRoomState”的窗體,并為其添加如圖7所示的控件。</p><p><b> 圖6 房態(tài)圖窗體</b></p><p> 在文件添加現(xiàn)有項(xiàng)命令,將表示客房狀態(tài)的圖片加入到項(xiàng)目中去,單擊打開按鈕,
82、解決方案資源管理器對(duì)話框中設(shè)置加入到項(xiàng)目中的表示客房狀態(tài)的位圖文件,將屬性中的生成操作設(shè)置為嵌入的資源,主要代碼:</p><p> frmRoomState的LoadData事件</p><p> Private Sub LoadData()</p><p> dtData.Rows.Clear()</p><p> Dim db
83、As DataBase = New DataBase</p><p> Dim dvFloor As DataView = _</p><p> db.RunSelectSQL("select 樓層編號(hào) from 樓層信息")</p><p> Dim strSQL As String</p><p> For i
84、 As Int16 = 0 To dvFloor.Count - 1</p><p> strSQL = "select 樓層編號(hào),狀態(tài) from 客房信息 "</p><p> Dim strTmp As String = ""</p><p> If strFilter.Trim <> "&qu
85、ot; Then</p><p> strTmp = " and " + strFilter</p><p><b> End If</b></p><p> strSQL += " where 樓層編號(hào) = "</p><p> strSQL += dvFloor(i)(
86、0).ToString.Trim + strTmp</p><p> '查詢出每個(gè)樓層的房間信息</p><p> Dim tmpdv As DataView = db.RunSelectSQL(strSQL)</p><p><b> '新建數(shù)據(jù)行</b></p><p> Dim dr As
87、DataRow = dtData.NewRow()</p><p> '將樓層房間信息添加到數(shù)據(jù)行中</p><p> dr(0) = dvFloor(i)(0).ToString.Trim + "/F"</p><p> For j As Int16 = 0 To iMaxRoomNumber - 1</p><
88、;p> '設(shè)置房間的狀態(tài)信息</p><p> If j < tmpdv.Count Then</p><p> dr(j + 1) = GetStateNumber(tmpdv(j)("狀態(tài)"))</p><p><b> Else</b></p><p> dr(j
89、+ 1) = "6"</p><p><b> End If</b></p><p><b> Next</b></p><p> dtData.Rows.Add(dr)</p><p><b> Next</b></p><p&
90、gt;<b> End Sub</b></p><p> 更新房態(tài)圖btnUpate的Click事件</p><p> Private Sub btnUpate_Click(ByVal sender As System.Object, _</p><p> ByVal e As System.EventArgs) Handles btn
91、Upate.Click</p><p> LoadData()</p><p> Dim dv As DataView = dtData.DefaultView</p><p> dv.AllowNew = False</p><p> dv.AllowDelete = False</p><p> dv.A
92、llowEdit = False</p><p><b> '設(shè)置數(shù)據(jù)源</b></p><p> dgdList.DataSource = dtData.DefaultView</p><p><b> End Sub</b></p><p> 設(shè)置房態(tài)btnSet的Clicksh
93、ij</p><p> Private Sub btnSet_Click(ByVal sender As System.Object, _</p><p> ByVal e As System.EventArgs) Handles btnSet.Click</p><p> Dim iRow, iCol As Integer</p><p&
94、gt; iRow = dgdList.CurrentCell.RowNumber</p><p> iCol = dgdList.CurrentCell.ColumnNumber</p><p> Dim strState As String = dgdList.Item(iRow, iCol)</p><p> Dim strTmpState As Str
95、ing</p><p> If iCol <> 0 Then</p><p> If Me.rbnArrive.Checked = True Then</p><p> strTmpState = "0"</p><p> ElseIf Me.rbnEmpty.Checked = True Then&l
96、t;/p><p> strTmpState = "2"</p><p> ElseIf Me.rbnFull.Checked = True Then</p><p> strTmpState = "4"</p><p> ElseIf Me.rbnLeave.Checked = True Then&
97、lt;/p><p> strTmpState = "1"</p><p> ElseIf Me.rbnRepair.Checked = True Then</p><p> strTmpState = "3"</p><p> ElseIf Me.rbnSelf.Checked = True The
98、n</p><p> strTmpState = "5"</p><p><b> End If</b></p><p><b> Else</b></p><p><b> Return</b></p><p><b&
99、gt; End If</b></p><p><b> '如果狀態(tài)已經(jīng)更新</b></p><p> If strTmpState <> strState Then</p><p> Dim db As DataBase = New DataBase</p><p> Dim d
100、v As DataView = dtRoom.Copy.DefaultView</p><p> dv.RowFilter = "樓層編號(hào)=" + _</p><p> dgdList.Item(iRow, 0).ToString.Split("/")(0)</p><p> Dim strSQL As String =
101、 "update 客房信息 set 狀態(tài)='"</p><p> strSQL += GetStateText(strTmpState) + "'"</p><p> strSQL += " where 客房編號(hào)='"</p><p> strSQL += dv(iCol -
102、1)(0).ToString.Trim + "'"</p><p> db.RunDelOrInsSQL(strSQL)</p><p> db.Dispose()</p><p><b> End If</b></p><p> LoadData()</p><p
103、> Dim dvTmp As DataView = dtData.DefaultView</p><p> dvTmp.AllowNew = False</p><p> dvTmp.AllowDelete = False</p><p> dvTmp.AllowEdit = False</p><p><b> &
104、#39;設(shè)置數(shù)據(jù)源</b></p><p> dgdList.DataSource = dtData.DefaultView</p><p><b> End Sub</b></p><p><b> 六、性能測(cè)試與分析</b></p><p> (一)測(cè)試實(shí)例(測(cè)試集)的研究與
105、選擇</p><p> 在系統(tǒng)完成后,進(jìn)行用戶的驗(yàn)收測(cè)試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的真實(shí)數(shù)據(jù)測(cè)試。一般來(lái)說,對(duì)程序測(cè)試有兩種測(cè)試方法:根據(jù)系統(tǒng)應(yīng)具有的功能,來(lái)測(cè)試每個(gè)功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,根據(jù)系統(tǒng)程序結(jié)構(gòu),來(lái)測(cè)試程序內(nèi)部是否按照程序設(shè)計(jì)正常進(jìn)行。測(cè)試程序?qū)嵗斎霐?shù)據(jù)和預(yù)期輸出結(jié)果是否符合設(shè)計(jì)的效果,還要輸入不正確或非法的數(shù)據(jù)進(jìn)行測(cè)試,檢查程序是否做了不應(yīng)該做得工作,主要測(cè)試容易
106、出錯(cuò)的程序模塊并對(duì)其修改,修改完成后必須重新進(jìn)行測(cè)試。</p><p> ?。ǘy(cè)試環(huán)境與測(cè)試條件</p><p> 1.運(yùn)行Intel Core 2 Duo E7500雙核處理器的計(jì)算機(jī),內(nèi)存2GB。</p><p> 2.運(yùn)行環(huán)境:Microsoft windows 2000 Server,Microsoft Visual Studio .NET 2003
107、,Microsoft SQL Server2000。</p><p><b> (三)實(shí)例測(cè)試</b></p><p> 1. 首先Microsoft SQL Server2000導(dǎo)入hotelbook數(shù)據(jù)庫(kù);</p><p> 2. 運(yùn)行系統(tǒng)登入,輸入密碼,正確驗(yàn)證密碼,系統(tǒng)報(bào)錯(cuò)如下圖所示,返回輸入正確的用戶名密碼,就能夠登入系統(tǒng)主
108、界面進(jìn)行操作了。</p><p> 圖7 酒店管理性能測(cè)試一</p><p> 3.系統(tǒng)里修改數(shù)據(jù)要輸入數(shù)據(jù)庫(kù)表規(guī)定的數(shù)據(jù),超出則提示錯(cuò)誤信息,如下圖:</p><p> 圖8 酒店管理性能測(cè)試二</p><p><b> 七、結(jié)束語(yǔ)</b></p><p> 經(jīng)過近三個(gè)月的構(gòu)思與設(shè)
109、計(jì),在指導(dǎo)老師的精心指導(dǎo)和安排下,本系統(tǒng)已經(jīng)設(shè)計(jì)完畢。其使用功能基本符合酒店在實(shí)際工作的需要,具有一定的實(shí)用性。但是由于個(gè)人水平有限,時(shí)間比較倉(cāng)促,系統(tǒng)還是有些不盡人意的地方,以后還要加強(qiáng)改進(jìn)。</p><p><b> 參考文獻(xiàn):</b></p><p> [1]VB.NET入門經(jīng)典(第3版) 清華大學(xué)出版社 </p><p&g
110、t; [2]VISUAL BASIC 高級(jí)編程解決方案 機(jī)械工業(yè)出版社</p><p> [3]SQL Server 2000 編程員指南 北京希望電子出版社</p><p> [4]VB.Net高級(jí)編程 電子書版本</p><p> [5]Visual Basic.NET項(xiàng)目開發(fā)寶典 電子工業(yè)出版社
111、</p><p><b> 致 謝</b></p><p> 特別感謝我的導(dǎo)師黃曉東老師,本文是在黃老師精心指導(dǎo)和大力支持下完成的。黃老師以其嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、高度的敬業(yè)精神、兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)和大膽創(chuàng)新的進(jìn)取精神對(duì)我產(chǎn)生重要影響。他淵博的知識(shí)、開闊的視野和敏銳的思維給了我深深的啟迪。</p><p> 蒄襖螇芄薆蚇肆芃芆蒀
112、肂芃蒈螆羈節(jié)薁薈襖芁芀螄螀芀莃薇聿艿蒅螂羅莈薇薅袁莇芇螀螆莇荿薃膅莆薂衿肁蒞蚄螞羇莄莄袇袃羈蒆蝕蝿羀薈裊肈聿羋蚈羄肈莀襖袀肇薂蚆袆肆蚅蕿?zāi)f肅莄螅肀肅蕆薈羆肄蕿螃袂肅艿薆螈膂莁螁肇膁蒃薄羃膀蚆螀罿腿蒞螞裊腿蒈袈螁膈薀蟻?lái)材i艿袆羅膆莂蠆袁芅蒄襖螇芄薆蚇肆芃芆蒀肂芃蒈螆羈節(jié)薁薈襖芁芀螄螀芀莃薇聿艿蒅螂羅莈薇薅袁莇芇螀螆莇荿薃膅莆薂衿肁蒞蚄螞羇莄莄袇袃羈蒆蝕蝿羀薈裊肈聿羋蚈羄肈莀襖袀肇薂蚆袆肆蚅蕿?zāi)f肅莄螅肀肅蕆薈羆肄蕿螃袂肅艿薆螈膂莁螁肇膁蒃薄
113、羃膀蚆螀罿腿蒞螞裊腿蒈袈螁膈薀蟻?lái)材i艿袆羅膆莂蠆袁芅蒄襖螇芄薆蚇肆芃芆蒀肂芃蒈螆羈節(jié)薁薈襖芁芀螄螀芀莃薇聿艿蒅螂羅莈薇薅袁莇芇螀螆莇荿薃膅莆薂衿肁蒞蚄螞羇莄莄袇袃羈蒆蝕蝿羀薈裊肈聿羋蚈羄肈莀襖袀肇薂蚆袆肆蚅蕿?zāi)f肅莄螅肀肅蕆薈羆肄蕿螃袂肅艿薆螈膂莁螁肇膁蒃薄羃膀蚆螀罿腿蒞螞裊腿蒈袈螁膈薀蟻?lái)材i艿袆羅膆莂蠆袁芅蒄襖螇芄薆蚇肆芃芆蒀肂芃蒈螆羈節(jié)薁薈襖芁芀螄螀芀莃薇聿艿蒅螂羅莈薇薅袁莇芇螀螆莇荿薃膅莆薂衿肁蒞蚄螞羇莄莄袇袃羈蒆蝕蝿羀薈裊肈聿羋蚈
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)---畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì) (3)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì) (3)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)報(bào)告
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì) (2)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)3
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)--學(xué)生成績(jī)管理設(shè)計(jì)
- 基于bs學(xué)生成績(jī)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----學(xué)生成績(jī)信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論