版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 第1章 需求分析1</p><p> 1.1 系統(tǒng)概述1</p><p> 1.2 系統(tǒng)功能需求分析1</p><p> 第2章 管理系統(tǒng)平臺的選用2</p><p> 2.1 數(shù)據(jù)庫系統(tǒng)的選擇原則2<
2、;/p><p> 2.2 系統(tǒng)開發(fā)工具的選擇2</p><p> 第3章 酒店管理概述3</p><p> 3.1系統(tǒng)數(shù)據(jù)需求3</p><p> 3.2系統(tǒng)業(yè)務(wù)功能的需求3</p><p> 3.3系統(tǒng)性能需求:3</p><p> 第4章 系統(tǒng)總體設(shè)計(jì)5</p
3、><p> 4.1 系統(tǒng)功能模塊設(shè)計(jì)5</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)7</p><p> 4.3系統(tǒng)數(shù)據(jù)流程圖8</p><p> 4.4 E-R圖9</p><p> 4.5 系統(tǒng)的運(yùn)行要求9</p><p> 第5章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)10</p>
4、;<p> 5.1 數(shù)據(jù)庫設(shè)計(jì)10</p><p> 5.2 創(chuàng)建主窗體以及主要窗體13</p><p> 5.3 代碼設(shè)計(jì)19</p><p> 第6章 系統(tǒng)評價(jià)28</p><p> 6.1 系統(tǒng)的測試28</p><p> 6.2要注意到的問題29</p>
5、<p> 6.3 將來可能提出的要求29</p><p><b> 結(jié) 論30</b></p><p><b> 參考文獻(xiàn)31</b></p><p><b> 第1章 需求分析</b></p><p><b> 1.1 系統(tǒng)概述&l
6、t;/b></p><p> 隨著社會經(jīng)濟(jì)的發(fā)展,酒店、賓館在服務(wù)行業(yè)扮演著越來越重要的角色。酒店行業(yè)的競爭表現(xiàn)在管理和服務(wù)水平的競爭,它影響到酒店的形象和聲譽(yù)。這就要求通過先進(jìn)的管理來提高服務(wù)質(zhì)量,盡可能做到讓客戶滿意。因此,非常需要一套酒店管理系統(tǒng)來對客房信息,經(jīng)營情況以及客戶信息進(jìn)行管理。酒店管理系統(tǒng)為管理者制定決策判斷提供了可行依據(jù)。判斷提供迅速高效的、系統(tǒng)化的服務(wù),避免手工處理的繁瑣與誤差,成為
7、酒店、賓館經(jīng)營的重中之重。但是目前商業(yè)性的酒店管理軟件大多數(shù)是舍用于大、中型酒店,其操作復(fù)雜,收費(fèi)昂貴,還需專業(yè)維護(hù)。這就造成了很多小型酒店以及小型賓沒有客房的管理軟件,對于其賓館的經(jīng)營造成管理的繁瑣與混亂。所以開發(fā)一款社用于小型酒店或小型賓館的客房管理軟件時(shí)必須的。</p><p> 1.2 系統(tǒng)功能需求分析</p><p> 該系統(tǒng)的功能需求有如下幾個(gè)方面:</p>
8、<p> 客房管理。主要用于對客房信息進(jìn)行維護(hù)。功能包括對客房信息的添加、修改和刪除已有的客戶信息,對客房信息進(jìn)行查詢。</p><p> 住宿管理。主要用于對入住信息進(jìn)行維護(hù)。功能包括對入住信息的添加、修改和查詢。</p><p> 結(jié)算管理。主要用于對客房結(jié)賬和對結(jié)算歷史信息的查詢。功能包括結(jié)賬(計(jì)算費(fèi)用、記錄結(jié)賬信息)和結(jié)算查詢。</p><p&
9、gt; 第2章 管理系統(tǒng)平臺的選用</p><p> 2.1 數(shù)據(jù)庫系統(tǒng)的選擇原則</p><p> 1、數(shù)據(jù)庫系統(tǒng)采用易于集成的,開放的技術(shù)。</p><p> 2、產(chǎn)品質(zhì)量優(yōu)異,可靠性高,適于長期運(yùn)行,能支持關(guān)鍵應(yīng)用。</p><p> 3、數(shù)據(jù)安全,保安型高。</p><p> 4、能提供分布式數(shù)
10、據(jù)庫功能。</p><p> 5、支持多種開發(fā)環(huán)境,軟件開發(fā)容易。</p><p> 6、擴(kuò)充性和升級能力強(qiáng)。</p><p> 2.2 系統(tǒng)開發(fā)工具的選擇</p><p> 本次系統(tǒng)設(shè)計(jì)選用的是Visual Basic作為開發(fā)工具,因?yàn)閂isual Basic 具有以下優(yōu)越的功能:</p><p><
11、b> 簡單,易學(xué),易用</b></p><p> (1)快速完成應(yīng)用任務(wù)</p><p> (2)使用方便的工具欄</p><p> (3)支持中英文輸入法</p><p> (4)用項(xiàng)目管理器統(tǒng)一界面</p><p> 第3章 酒店管理概述</p><p>&l
12、t;b> 3.1系統(tǒng)數(shù)據(jù)需求</b></p><p> 數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性。</p><p> 數(shù)據(jù)的一致性與完整性。</p><p> 數(shù)據(jù)的共享與獨(dú)立性。</p><p> 3.2系統(tǒng)業(yè)務(wù)功能的需求</p><p> 實(shí)現(xiàn)客房信息管理功能</p><p&
13、gt; 實(shí)現(xiàn)客戶信息管理功能</p><p><b> 實(shí)現(xiàn)預(yù)定管理功能</b></p><p><b> 實(shí)現(xiàn)入住管理功能</b></p><p><b> 實(shí)現(xiàn)消費(fèi)記賬功能</b></p><p><b> 實(shí)現(xiàn)收銀退房功能</b></
14、p><p> 綜上,我們將系統(tǒng)的功能大體劃分為三大模塊:</p><p> 權(quán)限管理:包括管理員的登錄</p><p> 前臺管理:包括客戶信息的錄入、客戶預(yù)訂和入住登記以及結(jié)算的管理等。</p><p> 后臺報(bào)表管理:包括報(bào)表的打印</p><p> 3.3系統(tǒng)性能需求:</p><p&g
15、t; 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,系統(tǒng)應(yīng)該滿足以下的性能需求:</p><p> ?。?)系統(tǒng)處理的準(zhǔn)確性和及時(shí)性</p><p> 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足用戶對信息的處理。</p><p> ?。?)系統(tǒng)的開放性和系統(tǒng)
16、的可擴(kuò)充性</p><p> 系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如系統(tǒng)權(quán)限和客房信息設(shè)置等模塊也會不斷的更新和完善。所有這些都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。</p><p><b> ?。?)系統(tǒng)的易用性</b&
17、gt;</p><p> 本酒店客房管理系統(tǒng)面向的用戶是酒店內(nèi)工作人員,而有些使用人員往往對計(jì)算機(jī)并不是非常熟悉,所以系統(tǒng)操作上要求簡單、方便、快捷,便于用戶使用。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。</p><p> ?。?)系統(tǒng)的響應(yīng)速度</p><p> 系統(tǒng)設(shè)計(jì)中摒棄大量數(shù)據(jù)冗余,提出了優(yōu)化數(shù)據(jù)庫的解決方案,大量使用存儲過程,大大提高
18、系統(tǒng)響應(yīng)時(shí)間和速度。</p><p> 第4章 系統(tǒng)總體設(shè)計(jì)</p><p> 本部分主要介紹系統(tǒng)要實(shí)現(xiàn)的功能,搭好設(shè)計(jì)的總體框架,使我們對要開發(fā)的系統(tǒng)有一個(gè)系統(tǒng)、全面、確切的認(rèn)識。</p><p> 4.1 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 結(jié)合前面需求分析階段的結(jié)果進(jìn)行綜合處理,確定了客房管理系統(tǒng)需要完成的功能,主要?jiǎng)澐譃橐?/p>
19、下模塊:</p><p><b> 1. 結(jié)算管理</b></p><p> (1)結(jié)賬 (2)結(jié)賬查詢</p><p><b> 2. 客房信息管理</b></p><p><b> (1)設(shè)置客房標(biāo)準(zhǔn)</b></p><p&
20、gt; ?、偬砑涌头繕?biāo)準(zhǔn) ②修改客房標(biāo)準(zhǔn) ③刪除客房標(biāo)準(zhǔn)</p><p><b> (2)設(shè)置客房信息</b></p><p> ?、偬砑涌头啃畔?②修改客房信息 ③添加客房類型 ④查詢客房信息</p><p><b> 3. 住宿信息管理</b></p><p> (1) 添加入住
21、信息 (2) 修改入住信息</p><p> (3) 查詢?nèi)胱⌒畔?lt;/p><p><b> 模塊設(shè)計(jì)圖如下:</b></p><p> 圖4-1系統(tǒng)功能模塊圖</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p><b> 系統(tǒng)的主要結(jié)構(gòu):</b>
22、;</p><p> 系統(tǒng)的封面以表單開始,要求用戶輸入登錄,若密碼錯(cuò)誤,則自動(dòng)退出,否則出現(xiàn)系統(tǒng)主菜單,接受用戶的操作,操作完畢后用戶可以從系統(tǒng)菜單中退出系統(tǒng),系統(tǒng)運(yùn)行的步驟如圖:</p><p> 4.3系統(tǒng)數(shù)據(jù)流程圖</p><p> 圖4-3 系統(tǒng)數(shù)據(jù)流程圖</p><p><b> 4.4 E-R圖</b&
23、gt;</p><p> 4.5 系統(tǒng)的運(yùn)行要求</p><p><b> 軟、硬件環(huán)境:</b></p><p> 硬件:客戶機(jī)(CPU P200以上,內(nèi)存:32M以上)、數(shù)據(jù)庫服務(wù)器(CPU PIII800以上,內(nèi)存:256M或以上。</p><p> 以Microsoft windows操作系統(tǒng)為工作平臺
24、。</p><p> 以Microsoft Visual Basic 6.0為開發(fā)工具。</p><p> 數(shù)據(jù)庫環(huán)境是Microsoft Office Access 2003。</p><p> 第5章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 5.1 數(shù)據(jù)庫設(shè)計(jì)</p><p> ?。?)數(shù)據(jù)庫需求分析<
25、/p><p> 設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)應(yīng)用于酒店管理系統(tǒng),所以必須充分滿足酒店客房管理系統(tǒng)的各種要求。此系統(tǒng)要求記錄每一次酒店客戶的住宿登記、調(diào)房登記和退宿結(jié)賬的操作信息,并允許系統(tǒng)用戶對這些信息進(jìn)行查詢。另外,必須建立一些輔助項(xiàng)目表為這些操作信息提供數(shù)據(jù)來源。通過以上的分析,數(shù)據(jù)庫設(shè)計(jì)必須滿足以下幾點(diǎn):</p><p> ?。?)記錄酒店客戶住宿登記操作的信息。</p><p
26、> (2)記錄酒店客戶退房結(jié)賬操作的信息。</p><p> ?。?)記錄酒店客房的相關(guān)信息。</p><p> ?。?)記錄酒店客戶的客房預(yù)訂信息。</p><p> ?。?)記錄系統(tǒng)用戶的用戶名、密碼和操作權(quán)限。</p><p> ?。?)建立Access數(shù)據(jù)庫及表</p><p> 在一個(gè)酒店管理系統(tǒng)中
27、,數(shù)據(jù)庫的地位是非常重要的,是一個(gè)系統(tǒng)正常運(yùn)行的基礎(chǔ)。本系統(tǒng)的數(shù)據(jù)庫是采用Microsoft公司的Access 2003設(shè)計(jì)的。在數(shù)據(jù)庫的設(shè)計(jì)過程中,首先是收集、分析需求;再從需求抽象出一般的實(shí)體、關(guān)系和他們的屬性;再將這些實(shí)體、關(guān)系和屬性按照一定的規(guī)則轉(zhuǎn)化為二元表結(jié)構(gòu)。</p><p> 本系統(tǒng)中共有4數(shù)據(jù)表</p><p> 表3-1為Usersinfo—管理員資料數(shù)據(jù)表。管理員資
28、料數(shù)據(jù)表記錄了所有管理的基本資料,管理員可添加、刪除和查詢該表。該表包括管理員ID、姓名、密碼和權(quán)限等資料。</p><p> 表3-1為UsersInfo—管理員資料數(shù)據(jù)表</p><p><b> 如下圖所示:</b></p><p> 表3-2為add旅客入住登記表。add日主登記表記錄了入住旅客的基本個(gè)人信息、房間號、登記號等。&
29、lt;/p><p> 表3-2旅客信息表為旅客的個(gè)人信息加入住客房信息數(shù)據(jù)結(jié)構(gòu)表</p><p><b> 如下所示:</b></p><p> 表3-3為room資料數(shù)據(jù)表。room料數(shù)據(jù)表記錄了room基本資料,可供查詢。該表主要包括了房間號、客房等級、客房類型、客房價(jià)格、客房狀態(tài)、客房備注信息等基本資料。</p><
30、p> 表3-2room資料數(shù)據(jù)表</p><p><b> 如下所示:</b></p><p> 表3-4為quit資料數(shù)據(jù)表。quit資料數(shù)據(jù)表記錄了所有退房的基本資料,管理員可添加、刪除和查詢該表。類型的基本資料,包括登記號、登記日期、退房日期、付款金額、退房備注信息。</p><p> 表3-4為quit資料數(shù)據(jù)表</
31、p><p><b> 如下所示:</b></p><p><b> 連接數(shù)據(jù)庫:</b></p><p> 由于本系統(tǒng)是采用ADO對象訪問數(shù)據(jù)庫的技術(shù),所以在VB中需要添加ADO庫。添加的方法是在VB中選擇“工程”—>“引用”命令,在對話框中選擇Microdoft ActiveX Data Objects
32、2.0 Library,單擊“確定”按鈕。</p><p> 在程序設(shè)計(jì)的公共模塊中,先定義ADO連接對象。語句如下:</p><p> Public conn As New ADODB.connection ‘標(biāo)記連接對象’</p><p> Dim connection As String</p><p> Connecti
33、onString = "provider=microsoft.jet.oledb.4.0;" & "data source=carshale.mdb"</p><p> conn.Open ConnectionString</p><p> 5.2 創(chuàng)建主窗體以及主要窗體</p><p> 建立主窗體:單擊”工程
34、”->”添加MDI窗體”菜單,在彈出的對話框中單擊”打開”按鈕則為當(dāng)前項(xiàng)目添加了一個(gè)MDI窗體。設(shè)置好MDI窗體屬性后,設(shè)置此項(xiàng)目的屬性。單擊”工程”->”工程1屬性”菜單,進(jìn)入項(xiàng)目屬性設(shè)置窗體。在此項(xiàng)目屬性窗體中通用選項(xiàng)卡的啟動(dòng)對象中選擇MDIfrmMain項(xiàng),將這一多文檔窗體作為程序的啟動(dòng)窗體。</p><p> 圖4—1 菜單結(jié)構(gòu)</p><p> (1)登錄模塊的
35、設(shè)計(jì):此模塊的功能是檢查管理員是否有進(jìn)入系統(tǒng)的權(quán)限。用到的主要控件為二個(gè)text、兩個(gè)label和兩個(gè)Button按鈕。窗體界面如圖4-2所示。</p><p> 圖4-2 登錄窗體的界面</p><p> 在此模塊中管理員可以選擇相應(yīng)的管理員帳號進(jìn)行登錄,減去了忘記帳號或帳號名輸入不方便的煩惱。</p><p> (2)主頁面模塊的設(shè)計(jì):此模塊是系統(tǒng)服務(wù)器端
36、的主要控制界面,通過菜單的選擇,可以控制系統(tǒng)的所有功能,窗體界面如圖4-3,4-4所示。</p><p><b> 主界面的設(shè)計(jì)步驟:</b></p><p> 1)設(shè)計(jì)主界面控件布局:在主界面的布局中使用了工具欄(ToolBar)、時(shí)鐘控件(timer)和圖象列表(ImageList)等非Vb標(biāo)準(zhǔn)控件。</p><p> 2)工具欄的設(shè)
37、置: 給工具欄添加按鈕</p><p> 3)添加菜單:菜單的使用是為了更好的給用戶提供功能指引。</p><p><b> 工具欄列表</b></p><p> 系統(tǒng)通過Timer控件在狀態(tài)欄中顯示系統(tǒng)的當(dāng)前時(shí)間,Timer控件的時(shí)間間隔是1000,也就是1秒鐘,這樣狀態(tài)欄中的時(shí)間每秒鐘都會變化,達(dá)到顯示系統(tǒng)時(shí)鐘的目的,具體實(shí)現(xiàn)代碼為:
38、</p><p> Private Sub Timer1_Timer()</p><p> StatusBar1.Panels(2).Text = Date & " " & Time</p><p><b> End Sub</b></p><p> ?。?)創(chuàng)建系統(tǒng)主界面<
39、;/p><p> 當(dāng)系統(tǒng)運(yùn)行時(shí),首先進(jìn)入登錄界面,當(dāng)輸入帳號,密碼合法時(shí),則啟動(dòng)系統(tǒng)主界面。</p><p> 圖4-4 系統(tǒng)主窗體的界面</p><p> 5)用戶進(jìn)入客房需要必要的登記來完成如圖:</p><p> 圖4-5用戶登記界面</p><p> 圖4-6已經(jīng)登記的用戶</p><
40、p> (6)退房信息:當(dāng)旅客離開賓館時(shí),需要為其辦理退房手續(xù),在這過程中需要在旅客退房信息表中添加記錄信息,以及修改客房信息表,改變客房狀態(tài)。</p><p> 旅客退房信息窗體,工作界面設(shè)計(jì)情況如圖:</p><p><b> 圖4-7退房登記表</b></p><p> ?。?)查詢住戶信息:此界面用于查詢房間狀態(tài)如是否有所需的
41、類型或是否為空房或滿房,可以全部瀏覽,也可以按照查詢條件來查找,如圖:</p><p> 圖4-8 客房狀態(tài)界面</p><p> (8)查詢客房:客查詢窗體主要功能是實(shí)現(xiàn)客房信息查詢顯示,查詢方式可以是按旅客姓名,登記號也可以按房間號查詢。工作界面如圖:</p><p> 圖4-9查詢住戶登記表</p><p> (9)客房情況打印
42、表:</p><p> 圖4-10客房情況打印表</p><p><b> 5.3 代碼設(shè)計(jì)</b></p><p> 一、酒店管理信息系統(tǒng)程序代碼:</p><p> Private Sub CmdOK_Click() </p><p> Dim s1 As String</p
43、><p> Dim i As Integer</p><p> Dim j As Integer</p><p> Dim a(18) As String</p><p> j = Len(txtUserName.Text)</p><p> s1 = txtUserName.Text</p>&l
44、t;p> Dim c As Integer</p><p><b> c = 1</b></p><p> For i = 1 To j</p><p> a(i) = Mid(s1, i, 1) '逐一判斷字符的合格化</p><p> If a(i) = "" Then
45、</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "<" Then</p><p> MsgBox "
46、Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = ">" Then</p><p> MsgBox "Error", vbOKOnly, "Error&q
47、uot;</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "=" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exi
48、t Sub</b></p><p> ElseIf a(i) = " " Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> E
49、lseIf a(i) = "~" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "," Then</p&g
50、t;<p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "'" Then</p><p> MsgBox "Error&q
51、uot;, vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p><b> c = c + 1</b></p><p> txtUserName.Set
52、Focus </p><p><b> Next i</b></p><p> Dim strusername As String</p><p> Dim strpassword As String</p><p> Static intlogintimes As Integer</p>&l
53、t;p> If Trim(txtUserName.Text) = "" Then</p><p> MsgBox "用戶名不能為空!", vbOKOnly + vbCritical, "錯(cuò)誤"</p><p><b> Exit Sub</b></p><p><b&
54、gt; End If</b></p><p> opentable adousers, "usersinfo"</p><p> adousers.Refresh</p><p> adousers.Recordset.Find "姓名=" & "'" & txt
55、UserName.Text & "'", , adSearchForward, 1</p><p> If Not adousers.Recordset.EOF Then</p><p> strusername = adousers.Recordset!姓名</p><p> strpassword = adousers.
56、Recordset!密碼</p><p><b> Else</b></p><p> strusername = ""</p><p> strpassword = ""</p><p><b> End If</b></p><
57、p> If strusername = txtUserName.Text And strpassword = txtPassword.Text Then</p><p> adousers.Recordset.Close</p><p> Unload Me frmmdi.Show</p><p><b> Else</b><
58、;/p><p> MsgBox "用戶名或密碼不對!", vbOKOnly + vbInformation, "提示"</p><p> intlogintimes = intlogintimes + 1</p><p> If intlogintimes >= 3 Then</p><p>
59、 adousers.Recordset.Close</p><p><b> End</b></p><p><b> End If</b></p><p> txtPassword.SetFocus</p><p> SendKeys "{HOME}+{END}"<
60、;/p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub cmdcancel_click()</p><p><b> Unload Me</b></p><p>&l
61、t;b> End Sub</b></p><p> Option Explicit</p><p> Private Sub Command1_Click()</p><p> With frmmdi.adoroom.Recordset</p><p> If Not txtroomno.Locked Then&l
62、t;/p><p> If Trim(txtroomno.Text) = "" Then</p><p> MsgBox " 房間號不能為空!", vbOKOnly + vbInformation, "提示"</p><p> txtroomno.SetFocus</p><p>&
63、lt;b> Exit Sub</b></p><p><b> End If</b></p><p><b> End If</b></p><p> !房間號 = Trim(txtroomno.Text)</p><p> !客房等級 = Trim(txtroomgra
64、de.Text)</p><p> !客房類型 = Trim(txtroomtype.Text)</p><p> !客房價(jià)格 = Trim(txtroomprice.Text)</p><p> !客房狀態(tài) = Trim(txtroomstatus.Text)</p><p> !客房備注信息 = txtroominfo.Text&
65、lt;/p><p><b> Update</b></p><p><b> Unload Me</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p>
66、Private Sub Command2_Click()</p><p><b> Unload Me</b></p><p> End Sub </p><p><b> 退房登記實(shí)現(xiàn)代碼:</b></p><p> Private Sub CmdOK_Click()</
67、p><p> With frmmdi.adoquit.Recordset</p><p> If Not txtbookno.Locked Then </p><p> If Trim(txtbookno.Text) = "" Then</p><p&
68、gt; MsgBox "登記號不能為空!", vbOKOnly + vbInformation, "提示"</p><p> txtbookno.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p&
69、gt;<p> frmmdi.adoguest.Recordset.Find "登記號='" & Trim(txtbookno.Text) & </p><p> "'", , adSearchForward, 1</p><p> If frmmdi.adoguest.Recordset.EOF
70、Then </p><p> MsgBox "非法登記號!", vbOKOnly + vbInformation, "提示" </p><p> txtbookno.SetFocus</p><p> SendKeys "{HOME}+{END}"</p><
71、;p> txtpaymoney.Text = ""</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> frmmdi.adoquit.Recordset.Find "登記號='" & Tr
72、im(txtbookno.Text) & " '", , adSearchForward, 1</p><p> If Not frmmdi.adoquit.Recordset.EOF Then '有就提示,然后退出</p><p> MsgBox "已經(jīng)有相同登記號!", vbOKOnly + vbInforma
73、tion, "提示"</p><p> txtbookno.SetFocus</p><p> SendKeys "{HOME}+{END}"</p><p> txtpaymoney.Text = ""</p><p><b> Exit Sub</b>
74、;</p><p><b> End If</b></p><p><b> .AddNew</b></p><p> !登記號 = Trim(txtbookno.Text)</p><p><b> End If</b></p><p> !
75、付款金額 = Val(Trim(txtpaymoney.Text))</p><p> !登記日期 = Trim(txtbookdate.Text)</p><p> !退房時(shí)間 = dtpquitdate.Text</p><p><b> Update</b></p><p> If Trim(txtinfo
76、.Text) = "" Then</p><p> MsgBox "備注不能為空!", vbOKOnly + vbInformation, "提示"</p><p> txtinfo.SetFocus</p><p><b> End If</b></p><
77、p> !退房備注信息 = txtinfo.Text</p><p><b> Update</b></p><p><b> Unload Me</b></p><p> frmmdi.adoroom.Recordset!客房狀態(tài) = "空"</p><p> W
78、ith frmmdi.adoguest.Recordset</p><p><b> Delete</b></p><p><b> End With</b></p><p><b> End With</b></p><p><b> End Sub<
79、/b></p><p> Private Sub Command1_Click()</p><p> If optroom Then</p><p> opentable frmmdi.Adoroom1, "select * from room where (((room.房間號) like '" & Trim(txt
80、value.Text) & "%" & "'))"</p><p> ElseIf optgrade Then</p><p> opentable frmmdi.Adoroom1, "select * from room where (((room.客房等級) like '" & Tr
81、im(txtvalue.Text) & "%" & "'))" '</p><p> ElseIf opttype Then</p><p> opentable frmmdi.Adoroom1, "select * from room where (((room.客房類型) like '&quo
82、t; & Trim(txtvalue.Text) & "%" & "'))"</p><p><b> End If</b></p><p> dtgroomqueryinforefresh</p><p><b> End Sub</b><
83、;/p><p> Private Sub CmdOK_Click() </p><p> Dim s1 As String</p><p> Dim i As Integer</p><p> Dim j As Integer</p><p> Dim a(18) As String</p><
84、;p> j = Len(txtUserName.Text)</p><p> s1 = txtUserName.Text</p><p> Dim c As Integer</p><p><b> c = 1</b></p><p> For i = 1 To j</p><p>
85、; a(i) = Mid(s1, i, 1)</p><p> If a(i) = "" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p>
86、 ElseIf a(i) = "<" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = ">" The
87、n</p><p> MsgBox "Error", vbOKOnly, "Error</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p>
88、ElseIf a(i) = "=" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = " " Then</p&
89、gt;<p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "~" Then</p><p> MsgBox "Error"
90、;, vbOKOnly, "Error"</p><p><b> Exit Sub</b></p><p> ElseIf a(i) = "," Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p>
91、;<p><b> Exit Sub</b></p><p> ElseIf a(i) = "'" Then</p><p> MsgBox "Error", vbOKOnly, "Error"</p><p><b> Exit Sub<
92、/b></p><p><b> End If</b></p><p><b> c = c + 1</b></p><p> txtUserName.SetFocus</p><p><b> Next i</b></p><p> D
93、im strusername As String</p><p> Dim strpassword As String</p><p> Static intlogintimes As Integer</p><p> If Trim(txtUserName.Text) = "" Then</p><p> Msg
94、Box "用戶名不能為空!", vbOKOnly + vbCritical, "錯(cuò)誤"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> opentable adousers, "usersinfo&
95、quot;</p><p> adousers.Refresh</p><p> adousers.Recordset.Find "姓名=" & "'" & txtUserName.Text & "'", , adSearchForward, 1</p><p>
96、 If Not adousers.Recordset.EOF Then</p><p> strusername = adousers.Recordset!姓名</p><p> strpassword = adousers.Recordset!密碼</p><p><b> Else</b></p><p>
97、 strusername = ""</p><p> strpassword = ""</p><p><b> End If</b></p><p> If strusername = txtUserName.Text And strpassword = txtPassword.Text Then
98、</p><p> adousers.Recordset.Close</p><p><b> Unload Me</b></p><p> frmmdi.Show</p><p><b> Else</b></p><p> MsgBox "用戶名或密碼
99、不對!", vbOKOnly + vbInformation, "提示"</p><p> intlogintimes = intlogintimes + 1</p><p> If intlogintimes >= 3 Then</p><p> adousers.Recordset.Close</p>&l
100、t;p><b> End</b></p><p><b> End If</b></p><p> txtPassword.SetFocus</p><p> SendKeys "{HOME}+{END}"</p><p><b> End If<
101、/b></p><p><b> End Sub</b></p><p> Private Sub cmdcancel_click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p>&
102、lt;p> 二、主控制窗體代碼:</p><p> Option Explicit</p><p> Private Sub MDIForm_Load()</p><p> App.Title = "賓館客房管理系統(tǒng)"</p><p> opentable adoroom, "room"
103、</p><p> opentable Adoroom1, "room"</p><p> opentable adoguest, "guest"</p><p> opentable Adoguest1, "guest"</p><p> opentable adoquit
104、, "quit"</p><p> StatusBar1.Panels(1).Text = "歡迎登陸賓館管理系統(tǒng)"</p><p> StatusBar1.Panels(2).Text = Date & " " & Time</p><p><b> End Sub<
105、/b></p><p> Private Sub mnuCascade_Click()</p><p> frmmdi.Arrange vbCascade</p><p><b> End Sub</b></p><p> Private Sub mnudenglu_Click()</p>&
106、lt;p> frmLogin.Show</p><p><b> End Sub</b></p><p> Private Sub mnuExit_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b&g
107、t;</p><p> Private Sub mnuGuest_Click()</p><p> frmGuestInfo.Show</p><p><b> End Sub</b></p><p> Private Sub mnuHor_Click()</p><p> frmmdi
108、.Arrange vbTileHorizontal</p><p><b> End Sub</b></p><p> Private Sub mnuin_Click()</p><p> frmusers.Show</p><p><b> End Sub</b></p>&
109、lt;p> Private Sub mnuqueryguest_Click()</p><p> frmqueryinfo.Show</p><p><b> End Sub</b></p><p> Private Sub mnuqueryroom_Click()</p><p> frmqueryro
110、om.Show</p><p><b> End Sub</b></p><p> Private Sub mnuQuit_Click()</p><p> frmquitinfo.Show</p><p><b> End up</b></p><p> Priv
111、ate Sub mnuver_Click()</p><p> frmmdi.Arrange vbTileVertical</p><p><b> End Sub</b></p><p> Private Sub Timer1_Timer()</p><p> StatusBar1.Panels(2).Text
112、 = Date & " " & Time</p><p><b> End Sub</b></p><p> Private Sub toolbar1_buttonclick(ByVal button As MSComctlLib.button)</p><p> Select Case button.
113、Index</p><p><b> 第6章 系統(tǒng)評價(jià)</b></p><p> 6.1 系統(tǒng)的測試</p><p> 在完成了系統(tǒng)界面設(shè)計(jì)及編碼等工作后,為了使系統(tǒng)能夠穩(wěn)定地運(yùn)行,測試是必不可少的,本系統(tǒng)采取的測試方案如下。 </p><p><b> 1.單元測試 </b></p
114、><p> 主要采用白盒法,即對系統(tǒng)代碼中所有可能運(yùn)行到的語句設(shè)置測試數(shù)據(jù),以保證其處理結(jié)果正確。 </p><p><b> 2.集成測試 </b></p><p> 采用白盒法與黑盒法并用的方案,首先對窗體上各成員的工作原理進(jìn)行測試,檢測它們之間的邏輯關(guān)系是否正確、能否實(shí)現(xiàn)各自的功能,并使用錯(cuò)誤測試數(shù)據(jù)以檢測系統(tǒng)的健壯性。如選擇系統(tǒng)中模塊
115、的實(shí)施部分,輸入數(shù)據(jù),看界面上的功能鍵能否運(yùn)行起來。 </p><p><b> 3.確認(rèn)測試 </b></p><p> 主要采用黑盒法,以檢測各模塊之間、以及窗體與數(shù)據(jù)庫之間的接口是否正確,系統(tǒng)功能是否能得到實(shí)現(xiàn)等。 </p><p> 在以上測試的基礎(chǔ)上對系統(tǒng)功能進(jìn)行整體的測試,依次檢驗(yàn)系統(tǒng)功能是否符合系統(tǒng)設(shè)計(jì)的要求。</p&
116、gt;<p> 6.2要注意到的問題</p><p> VB 連接數(shù)據(jù)庫,數(shù)據(jù)庫的應(yīng)用,程序的 簡單設(shè)計(jì), 以及一些開發(fā)的程序的步驟, 大致的知道一些 VB 的開發(fā)過程, 但本程序有一點(diǎn)不足之處是安全性能很不理想,完全沒有涉及到對 特殊字符的過濾,很有可能導(dǎo)致整個(gè)程序崩潰,所有努力將付之東流。 還有就是數(shù)據(jù)庫的安全性不是很理想,建議用 Oracle 10i,這版本的數(shù) 據(jù)庫在我看來性能是相對的高
117、的,也是很理想的。 還有對于程序中的數(shù)據(jù)庫中的路徑要相對復(fù)雜點(diǎn),那樣防止非授權(quán) 用下載數(shù)據(jù)庫很有很大的幫助。 也就是說安全性能會得到很大的提高的</p><p> 6.3 將來可能提出的要求</p><p> 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在學(xué)校信息化建設(shè)的普及,利用計(jì)算機(jī)實(shí)現(xiàn)管理酒店記錄勢在必行。越來越多的大型企業(yè)重視信息化建設(shè),利用先進(jìn)的計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)改善內(nèi)部管理系統(tǒng),使酒店
118、人員能可更加便捷的處理酒店各項(xiàng)事宜。</p><p><b> 結(jié) 論</b></p><p> 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。</p><p> 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把
119、所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,遇到了各種各樣的問題,在設(shè)計(jì)的過程中也發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p> 通過這次課程設(shè)計(jì),我的專業(yè)能力和綜合素質(zhì)都得到了提升,同時(shí)也讓我對今后的學(xué)習(xí)、工作充滿了激情和期待。</p>&
120、lt;p><b> 參考文獻(xiàn)</b></p><p> [1] 劉天惠. Visual Basic程序設(shè)計(jì)教程[M].清華大學(xué)出版社,2006.2:165-224</p><p> [2] 劉新民,蔡瓊,白康生編著.Visual Basic 6.0程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.3:20-25</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--酒店管理系統(tǒng)
- web課程設(shè)計(jì)--酒店管理系統(tǒng)
- 酒店管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 酒店管理系統(tǒng)課程設(shè)計(jì)2
- access課程設(shè)計(jì)酒店管理系統(tǒng)
- uml酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--酒店管理系統(tǒng)
- web課程設(shè)計(jì)酒店管理系統(tǒng)
- java酒店管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-酒店管理系統(tǒng)課程設(shè)計(jì)
- c++酒店管理系統(tǒng)課程設(shè)計(jì)
- c++酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--酒店住宿管理系統(tǒng)
- 課程設(shè)計(jì)---酒店經(jīng)營管理系統(tǒng)
評論
0/150
提交評論