版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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è)計5</p
3、><p> 4.1 系統(tǒng)功能模塊設(shè)計5</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計7</p><p> 4.3系統(tǒng)數(shù)據(jù)流程圖8</p><p> 4.4 E-R圖9</p><p> 4.5 系統(tǒng)的運行要求9</p><p> 第5章 詳細設(shè)計與實現(xiàn)10</p>
4、;<p> 5.1 數(shù)據(jù)庫設(shè)計10</p><p> 5.2 創(chuàng)建主窗體以及主要窗體13</p><p> 5.3 代碼設(shè)計19</p><p> 第6章 系統(tǒng)評價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> 參考文獻31</b></p><p><b> 第1章 需求分析</b></p><p><b> 1.1 系統(tǒng)概述&l
6、t;/b></p><p> 隨著社會經(jīng)濟的發(fā)展,酒店、賓館在服務(wù)行業(yè)扮演著越來越重要的角色。酒店行業(yè)的競爭表現(xiàn)在管理和服務(wù)水平的競爭,它影響到酒店的形象和聲譽。這就要求通過先進的管理來提高服務(wù)質(zhì)量,盡可能做到讓客戶滿意。因此,非常需要一套酒店管理系統(tǒng)來對客房信息,經(jīng)營情況以及客戶信息進行管理。酒店管理系統(tǒng)為管理者制定決策判斷提供了可行依據(jù)。判斷提供迅速高效的、系統(tǒng)化的服務(wù),避免手工處理的繁瑣與誤差,成為
7、酒店、賓館經(jīng)營的重中之重。但是目前商業(yè)性的酒店管理軟件大多數(shù)是舍用于大、中型酒店,其操作復(fù)雜,收費昂貴,還需專業(yè)維護。這就造成了很多小型酒店以及小型賓沒有客房的管理軟件,對于其賓館的經(jīng)營造成管理的繁瑣與混亂。所以開發(fā)一款社用于小型酒店或小型賓館的客房管理軟件時必須的。</p><p> 1.2 系統(tǒng)功能需求分析</p><p> 該系統(tǒng)的功能需求有如下幾個方面:</p>
8、<p> 客房管理。主要用于對客房信息進行維護。功能包括對客房信息的添加、修改和刪除已有的客戶信息,對客房信息進行查詢。</p><p> 住宿管理。主要用于對入住信息進行維護。功能包括對入住信息的添加、修改和查詢。</p><p> 結(jié)算管理。主要用于對客房結(jié)賬和對結(jié)算歷史信息的查詢。功能包括結(jié)賬(計算費用、記錄結(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)異,可靠性高,適于長期運行,能支持關(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、擴充性和升級能力強。</p><p> 2.2 系統(tǒng)開發(fā)工具的選擇</p><p> 本次系統(tǒng)設(shè)計選用的是Visual Basic作為開發(fā)工具,因為Visual Basic 具有以下優(yōu)越的功能:</p><p><
11、b> 簡單,易學(xué),易用</b></p><p> (1)快速完成應(yīng)用任務(wù)</p><p> (2)使用方便的工具欄</p><p> (3)支持中英文輸入法</p><p> (4)用項目管理器統(tǒng)一界面</p><p> 第3章 酒店管理概述</p><p>&l
12、t;b> 3.1系統(tǒng)數(shù)據(jù)需求</b></p><p> 數(shù)據(jù)錄入和處理的準確性和實時性。</p><p> 數(shù)據(jù)的一致性與完整性。</p><p> 數(shù)據(jù)的共享與獨立性。</p><p> 3.2系統(tǒng)業(yè)務(wù)功能的需求</p><p> 實現(xiàn)客房信息管理功能</p><p&
13、gt; 實現(xiàn)客戶信息管理功能</p><p><b> 實現(xiàn)預(yù)定管理功能</b></p><p><b> 實現(xiàn)入住管理功能</b></p><p><b> 實現(xiàn)消費記賬功能</b></p><p><b> 實現(xiàn)收銀退房功能</b></
14、p><p> 綜上,我們將系統(tǒng)的功能大體劃分為三大模塊:</p><p> 權(quán)限管理:包括管理員的登錄</p><p> 前臺管理:包括客戶信息的錄入、客戶預(yù)訂和入住登記以及結(jié)算的管理等。</p><p> 后臺報表管理:包括報表的打印</p><p> 3.3系統(tǒng)性能需求:</p><p&g
15、t; 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,系統(tǒng)應(yīng)該滿足以下的性能需求:</p><p> ?。?)系統(tǒng)處理的準確性和及時性</p><p> 系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足用戶對信息的處理。</p><p> ?。?)系統(tǒng)的開放性和系統(tǒng)
16、的可擴充性</p><p> 系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如系統(tǒng)權(quán)限和客房信息設(shè)置等模塊也會不斷的更新和完善。所有這些都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。</p><p><b> ?。?)系統(tǒng)的易用性</b&
17、gt;</p><p> 本酒店客房管理系統(tǒng)面向的用戶是酒店內(nèi)工作人員,而有些使用人員往往對計算機并不是非常熟悉,所以系統(tǒng)操作上要求簡單、方便、快捷,便于用戶使用。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。</p><p> ?。?)系統(tǒng)的響應(yīng)速度</p><p> 系統(tǒng)設(shè)計中摒棄大量數(shù)據(jù)冗余,提出了優(yōu)化數(shù)據(jù)庫的解決方案,大量使用存儲過程,大大提高
18、系統(tǒng)響應(yīng)時間和速度。</p><p> 第4章 系統(tǒng)總體設(shè)計</p><p> 本部分主要介紹系統(tǒng)要實現(xiàn)的功能,搭好設(shè)計的總體框架,使我們對要開發(fā)的系統(tǒng)有一個系統(tǒng)、全面、確切的認識。</p><p> 4.1 系統(tǒng)功能模塊設(shè)計</p><p> 結(jié)合前面需求分析階段的結(jié)果進行綜合處理,確定了客房管理系統(tǒng)需要完成的功能,主要劃分為以
19、下模塊:</p><p><b> 1. 結(jié)算管理</b></p><p> (1)結(jié)賬 (2)結(jié)賬查詢</p><p><b> 2. 客房信息管理</b></p><p><b> (1)設(shè)置客房標準</b></p><p&
20、gt; ?、偬砑涌头繕藴?②修改客房標準 ③刪除客房標準</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è)計圖如下:</b></p><p> 圖4-1系統(tǒng)功能模塊圖</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計</p><p><b> 系統(tǒng)的主要結(jié)構(gòu):</b>
22、;</p><p> 系統(tǒng)的封面以表單開始,要求用戶輸入登錄,若密碼錯誤,則自動退出,否則出現(xiàn)系統(tǒng)主菜單,接受用戶的操作,操作完畢后用戶可以從系統(tǒng)菜單中退出系統(tǒng),系統(tǒng)運行的步驟如圖:</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)的運行要求</p><p><b> 軟、硬件環(huán)境:</b></p><p> 硬件:客戶機(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章 詳細設(shè)計與實現(xiàn)</p><p> 5.1 數(shù)據(jù)庫設(shè)計</p><p> ?。?)數(shù)據(jù)庫需求分析<
25、/p><p> 設(shè)計的數(shù)據(jù)庫系統(tǒng)應(yīng)用于酒店管理系統(tǒng),所以必須充分滿足酒店客房管理系統(tǒng)的各種要求。此系統(tǒng)要求記錄每一次酒店客戶的住宿登記、調(diào)房登記和退宿結(jié)賬的操作信息,并允許系統(tǒng)用戶對這些信息進行查詢。另外,必須建立一些輔助項目表為這些操作信息提供數(shù)據(jù)來源。通過以上的分析,數(shù)據(jù)庫設(shè)計必須滿足以下幾點:</p><p> ?。?)記錄酒店客戶住宿登記操作的信息。</p><p
26、> ?。?)記錄酒店客戶退房結(jié)賬操作的信息。</p><p> ?。?)記錄酒店客房的相關(guān)信息。</p><p> (4)記錄酒店客戶的客房預(yù)訂信息。</p><p> (5)記錄系統(tǒng)用戶的用戶名、密碼和操作權(quán)限。</p><p> ?。?)建立Access數(shù)據(jù)庫及表</p><p> 在一個酒店管理系統(tǒng)中
27、,數(shù)據(jù)庫的地位是非常重要的,是一個系統(tǒng)正常運行的基礎(chǔ)。本系統(tǒng)的數(shù)據(jù)庫是采用Microsoft公司的Access 2003設(shè)計的。在數(shù)據(jù)庫的設(shè)計過程中,首先是收集、分析需求;再從需求抽象出一般的實體、關(guān)系和他們的屬性;再將這些實體、關(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日主登記表記錄了入住旅客的基本個人信息、房間號、登記號等。&
29、lt;/p><p> 表3-2旅客信息表為旅客的個人信息加入住客房信息數(shù)據(jù)結(jié)構(gòu)表</p><p><b> 如下所示:</b></p><p> 表3-3為room資料數(shù)據(jù)表。room料數(shù)據(jù)表記錄了room基本資料,可供查詢。該表主要包括了房間號、客房等級、客房類型、客房價格、客房狀態(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è)計的公共模塊中,先定義ADO連接對象。語句如下:</p><p> Public conn As New ADODB.connection ‘標記連接對象’</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窗體”菜單,在彈出的對話框中單擊”打開”按鈕則為當前項目添加了一個MDI窗體。設(shè)置好MDI窗體屬性后,設(shè)置此項目的屬性。單擊”工程”->”工程1屬性”菜單,進入項目屬性設(shè)置窗體。在此項目屬性窗體中通用選項卡的啟動對象中選擇MDIfrmMain項,將這一多文檔窗體作為程序的啟動窗體。</p><p> 圖4—1 菜單結(jié)構(gòu)</p><p> (1)登錄模塊的
35、設(shè)計:此模塊的功能是檢查管理員是否有進入系統(tǒng)的權(quán)限。用到的主要控件為二個text、兩個label和兩個Button按鈕。窗體界面如圖4-2所示。</p><p> 圖4-2 登錄窗體的界面</p><p> 在此模塊中管理員可以選擇相應(yīng)的管理員帳號進行登錄,減去了忘記帳號或帳號名輸入不方便的煩惱。</p><p> (2)主頁面模塊的設(shè)計:此模塊是系統(tǒng)服務(wù)器端
36、的主要控制界面,通過菜單的選擇,可以控制系統(tǒng)的所有功能,窗體界面如圖4-3,4-4所示。</p><p><b> 主界面的設(shè)計步驟:</b></p><p> 1)設(shè)計主界面控件布局:在主界面的布局中使用了工具欄(ToolBar)、時鐘控件(timer)和圖象列表(ImageList)等非Vb標準控件。</p><p> 2)工具欄的設(shè)
37、置: 給工具欄添加按鈕</p><p> 3)添加菜單:菜單的使用是為了更好的給用戶提供功能指引。</p><p><b> 工具欄列表</b></p><p> 系統(tǒng)通過Timer控件在狀態(tài)欄中顯示系統(tǒng)的當前時間,Timer控件的時間間隔是1000,也就是1秒鐘,這樣狀態(tài)欄中的時間每秒鐘都會變化,達到顯示系統(tǒng)時鐘的目的,具體實現(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> 當系統(tǒng)運行時,首先進入登錄界面,當輸入帳號,密碼合法時,則啟動系統(tǒng)主界面。</p><p> 圖4-4 系統(tǒng)主窗體的界面</p><p> 5)用戶進入客房需要必要的登記來完成如圖:</p><p> 圖4-5用戶登記界面</p><p> 圖4-6已經(jīng)登記的用戶</p><
40、p> ?。?)退房信息:當旅客離開賓館時,需要為其辦理退房手續(xù),在這過程中需要在旅客退房信息表中添加記錄信息,以及修改客房信息表,改變客房狀態(tài)。</p><p> 旅客退房信息窗體,工作界面設(shè)計情況如圖:</p><p><b> 圖4-7退房登記表</b></p><p> ?。?)查詢住戶信息:此界面用于查詢房間狀態(tài)如是否有所需的
41、類型或是否為空房或滿房,可以全部瀏覽,也可以按照查詢條件來查找,如圖:</p><p> 圖4-8 客房狀態(tài)界面</p><p> (8)查詢客房:客查詢窗體主要功能是實現(xiàn)客房信息查詢顯示,查詢方式可以是按旅客姓名,登記號也可以按房間號查詢。工作界面如圖:</p><p> 圖4-9查詢住戶登記表</p><p> (9)客房情況打印
42、表:</p><p> 圖4-10客房情況打印表</p><p><b> 5.3 代碼設(shè)計</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, "錯誤"</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> !客房價格 = 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> 退房登記實現(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> !退房時間 = 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, "錯誤"</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)評價</b></p><p> 6.1 系統(tǒng)的測試</p><p> 在完成了系統(tǒng)界面設(shè)計及編碼等工作后,為了使系統(tǒng)能夠穩(wěn)定地運行,測試是必不可少的,本系統(tǒng)采取的測試方案如下。 </p><p><b> 1.單元測試 </b></p
114、><p> 主要采用白盒法,即對系統(tǒng)代碼中所有可能運行到的語句設(shè)置測試數(shù)據(jù),以保證其處理結(jié)果正確。 </p><p><b> 2.集成測試 </b></p><p> 采用白盒法與黑盒法并用的方案,首先對窗體上各成員的工作原理進行測試,檢測它們之間的邏輯關(guān)系是否正確、能否實現(xiàn)各自的功能,并使用錯誤測試數(shù)據(jù)以檢測系統(tǒng)的健壯性。如選擇系統(tǒng)中模塊
115、的實施部分,輸入數(shù)據(jù),看界面上的功能鍵能否運行起來。 </p><p><b> 3.確認測試 </b></p><p> 主要采用黑盒法,以檢測各模塊之間、以及窗體與數(shù)據(jù)庫之間的接口是否正確,系統(tǒng)功能是否能得到實現(xiàn)等。 </p><p> 在以上測試的基礎(chǔ)上對系統(tǒng)功能進行整體的測試,依次檢驗系統(tǒng)功能是否符合系統(tǒng)設(shè)計的要求。</p&
116、gt;<p> 6.2要注意到的問題</p><p> VB 連接數(shù)據(jù)庫,數(shù)據(jù)庫的應(yīng)用,程序的 簡單設(shè)計, 以及一些開發(fā)的程序的步驟, 大致的知道一些 VB 的開發(fā)過程, 但本程序有一點不足之處是安全性能很不理想,完全沒有涉及到對 特殊字符的過濾,很有可能導(dǎo)致整個程序崩潰,所有努力將付之東流。 還有就是數(shù)據(jù)庫的安全性不是很理想,建議用 Oracle 10i,這版本的數(shù) 據(jù)庫在我看來性能是相對的高
117、的,也是很理想的。 還有對于程序中的數(shù)據(jù)庫中的路徑要相對復(fù)雜點,那樣防止非授權(quán) 用下載數(shù)據(jù)庫很有很大的幫助。 也就是說安全性能會得到很大的提高的</p><p> 6.3 將來可能提出的要求</p><p> 隨著計算機技術(shù)的飛速發(fā)展,計算機在學(xué)校信息化建設(shè)的普及,利用計算機實現(xiàn)管理酒店記錄勢在必行。越來越多的大型企業(yè)重視信息化建設(shè),利用先進的計算機和網(wǎng)絡(luò)技術(shù)改善內(nèi)部管理系統(tǒng),使酒店
118、人員能可更加便捷的處理酒店各項事宜。</p><p><b> 結(jié) 論</b></p><p> 課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。</p><p> 通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把
119、所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,遇到了各種各樣的問題,在設(shè)計的過程中也發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p> 通過這次課程設(shè)計,我的專業(yè)能力和綜合素質(zhì)都得到了提升,同時也讓我對今后的學(xué)習、工作充滿了激情和期待。</p>&
120、lt;p><b> 參考文獻</b></p><p> [1] 劉天惠. Visual Basic程序設(shè)計教程[M].清華大學(xué)出版社,2006.2:165-224</p><p> [2] 劉新民,蔡瓊,白康生編著.Visual Basic 6.0程序設(shè)計[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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理系統(tǒng)課程設(shè)計
- 酒店管理系統(tǒng)課程設(shè)計
- 酒店管理系統(tǒng)課程設(shè)計
- 酒店管理系統(tǒng)課程設(shè)計
- 酒店管理系統(tǒng)課程設(shè)計
- 酒店管理系統(tǒng)課程設(shè)計
- java課程設(shè)計--酒店管理系統(tǒng)
- web課程設(shè)計--酒店管理系統(tǒng)
- 酒店管理系統(tǒng)課程設(shè)計報告
- 酒店管理系統(tǒng)課程設(shè)計2
- access課程設(shè)計酒店管理系統(tǒng)
- uml酒店管理系統(tǒng)課程設(shè)計
- java課程設(shè)計--酒店管理系統(tǒng)
- web課程設(shè)計酒店管理系統(tǒng)
- java酒店管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-酒店管理系統(tǒng)課程設(shè)計
- c++酒店管理系統(tǒng)課程設(shè)計
- c++酒店管理系統(tǒng)課程設(shè)計
- java課程設(shè)計--酒店住宿管理系統(tǒng)
- 課程設(shè)計---酒店經(jīng)營管理系統(tǒng)
評論
0/150
提交評論