版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p> 課程名稱__ 數(shù)據(jù)庫系統(tǒng)概論 </p><p> 題目名稱__ 賓館管理系統(tǒng) </p><p> 學生學院_____計算機學院 </p><p> 專業(yè)班級_ </p&
2、gt;<p> 學 號___ </p><p> 學生姓名________________</p><p> 指導教師_______ _______</p><p> 2012年 1 月 14 日</p><p><b> 目錄</b></p><
3、p><b> 一、系統(tǒng)定義1</b></p><p><b> 二、需求分析1</b></p><p> ?。ㄒ唬┫到y(tǒng)綜合需求1</p><p> (二)系統(tǒng)邏輯模型2</p><p><b> 1.數(shù)據(jù)流程圖2</b></p><p
4、><b> 2.數(shù)據(jù)字典2</b></p><p><b> 三、系統(tǒng)設(shè)計5</b></p><p> ?。ㄒ唬?shù)據(jù)庫概念設(shè)計5</p><p> ?。ǘ?shù)據(jù)庫邏輯設(shè)計5</p><p> ?。ㄈ?shù)據(jù)庫與數(shù)據(jù)表設(shè)計 ——物理結(jié)構(gòu)設(shè)計6</p><p>
5、<b> 四、詳細設(shè)計6</b></p><p> ?。ㄒ唬┙〝?shù)據(jù)庫——賓館客戶數(shù)據(jù)庫6</p><p><b> ?。ǘ┙ū?</b></p><p><b> ?。ㄈ┯脩艚缑?</b></p><p> 1.賓館客房管理系統(tǒng)登陸界面的設(shè)計8</p&g
6、t;<p> 2.客房管理管理頁面的設(shè)計13</p><p> 3.客房經(jīng)營管理頁面的設(shè)計17</p><p> 4.客戶信息查詢頁面的設(shè)計20</p><p> 5.員工信息管理頁面的設(shè)計23</p><p> 五、課程設(shè)計總結(jié)28</p><p><b> 六、參考文獻
7、28</b></p><p><b> 一、系統(tǒng)定義</b></p><p> 隨著賓館酒店業(yè)競爭的加劇,賓館之間客源的爭奪越來越激烈,賓館需要使用更有效的信息化手段,拓展經(jīng)營空間,降低運營成本,提高管理和決策效率.傳統(tǒng)的賓館酒店計算機管理系統(tǒng)主要包括前臺管理系統(tǒng)和后臺管理系統(tǒng)兩大部分,基本包含了賓館主要業(yè)務(wù)部門,初步實現(xiàn)了對顧客服務(wù)和進行財務(wù)核算所
8、需要的各個功能.但傳統(tǒng)的賓館酒店管理系統(tǒng)基于財務(wù)管理為主線的設(shè)計理念,無法滿足賓館酒店全面信息化管理的需要. 現(xiàn)代賓館酒店業(yè)迅速發(fā)展,新的管理觀念與模式層出不窮.賓客客房管理系統(tǒng)亦隨著賓館管理理念的發(fā)展而發(fā)展.賓館客房管理系統(tǒng)依照國家星級賓館標準化業(yè)務(wù)程序,采用了先進的數(shù)據(jù)庫理論,多媒體技術(shù),軟件工程理念等,從基層,中層,高層三個管理者層次為切入點,以成本分析,預(yù)測,控制為主線,形成一套上下貫通,操作便捷的酒店系統(tǒng)解決方案,科
9、學地將賓館各種日常業(yè)務(wù)完美的結(jié)合在一起,為管理及決策提供了強有力的支持.其對客人個性化服務(wù)及全面徹底的信息化,使企業(yè)電算化管理水平提升到一個新的更高層次.提供大量豐富的基于企業(yè)管理經(jīng)營過程中實際的數(shù)據(jù)。</p><p><b> 二、需求分析</b></p><p><b> ?。ㄒ唬┫到y(tǒng)綜合需求</b></p><p>
10、; 本系統(tǒng)設(shè)計實現(xiàn)的目標是對賓館的客房管理、客戶信息管理和餐廳服務(wù)管理功能,前臺用java實現(xiàn)對數(shù)據(jù)的添加,刪除,查詢等功能,在后臺用Sql server作為數(shù)據(jù)庫,其中數(shù)據(jù)庫設(shè)計是用PowerDesigner.v11軟件設(shè)計的。</p><p> 本系統(tǒng)就是利用計算機信息提高了餐館賓館的管理水平,主要對系統(tǒng)的操作員權(quán)限、菜收銀客房、客戶等信息管理。系統(tǒng)操作權(quán)限管理可以實現(xiàn)對操作員的添加、刪除、修改操作,并設(shè)
11、置操作員對指定用戶進行密碼修改。</p><p> 賓館的信息量大,數(shù)據(jù)安全性和保密性要求高。本系統(tǒng)實現(xiàn)對賓館信息的管理和總體的統(tǒng)計等,營業(yè)信息的查看和維護。操作管理人員可以瀏覽,查詢,添加,刪除等賓館的基本信息等。</p><p> 本系統(tǒng)基本包含了賓館管理的主要需求,具有完善細致的功能:</p><p> 系統(tǒng)具有高可靠性、安全性、操作性;</p&g
12、t;<p> 模塊化結(jié)構(gòu),具有強大的數(shù)據(jù)處理功能,可根據(jù)業(yè)務(wù)需要,十分便捷地進行模塊增減,靈活地進行系統(tǒng)組合;</p><p> 直觀的圖形用戶界面,面向事務(wù)處理。隨心所欲的查詢,并全面支持分析和決策的功能。</p><p><b> ?。ǘ┫到y(tǒng)邏輯模型</b></p><p><b> 1.數(shù)據(jù)流程圖</
13、b></p><p><b> 2.數(shù)據(jù)字典</b></p><p><b> (1) 用戶信息表</b></p><p> 用戶信息表(UsersInfo)用來保存使用該系統(tǒng)的酒店員工的基本信息,表UsersInfo的結(jié)構(gòu)如表1所示。</p><p> 表1 用戶信息表(UsersI
14、nfo)</p><p><b> (2) 客戶信息表</b></p><p> 客戶信息表(CustomersInfo)用來保存在酒店訂房的客戶的基本信息,表CustomersInfo的結(jié)構(gòu)如表2所示。</p><p> 表2 客戶信息表(CustomersInfo)</p><p><b> (3)
15、 客房類型表</b></p><p> 客房類型表(RoomCategory)用來保存酒店所有客房類型的基本信息,表RoomCategory的結(jié)構(gòu)如表3所示。</p><p> 表3 客房類型表(RoomCategory)</p><p><b> (4) 客房信息表</b></p><p> 客房信
16、息表(RoomsInfo)用來保存酒店所有客房的相關(guān)信息,表RoomsInfo結(jié)構(gòu)的如表4所示。</p><p> 表4 客房信息表(RoomsInfo)</p><p><b> (5) 客房狀態(tài)表</b></p><p> 客房狀態(tài)表(RoomStatus)用來保存客房使用情況的基本信息,表RoomStatus結(jié)構(gòu)的如表5所示。&l
17、t;/p><p> 表5 客房狀態(tài)表(RoomStatus)</p><p><b> (6) 客房業(yè)務(wù)表</b></p><p> 客房業(yè)務(wù)表(RoomOperation)用來保存目前酒店正有客戶入住的客房的相關(guān)信息,表RoomOperation的結(jié)構(gòu)如表6所示。</p><p> 表6 客房業(yè)務(wù)表(RoomO
18、peration)</p><p><b> (7) 業(yè)務(wù)記錄表</b></p><p> 業(yè)務(wù)記錄表(History)用來保存酒店里所有入住過客戶的客房的業(yè)務(wù)信息,表History的結(jié)構(gòu)如表7所示。</p><p> 表7 業(yè)務(wù)記錄表(History)</p><p><b> 三、系統(tǒng)設(shè)計<
19、/b></p><p> ?。ㄒ唬?shù)據(jù)庫概念設(shè)計</p><p> E-R圖的分析工作通常采用自底向下的設(shè)計方法,首先對局部視圖進行分析設(shè)計,然后再實現(xiàn)視圖集成。賓館客房管理系統(tǒng)一般包括如下幾個表:用戶信息(UsersInfo)、客戶信息(CustomersInfo)、客房類型(RoomCategory)、客房信息(RoomsInfo)、客房狀態(tài)(RoomStatus)、客房業(yè)務(wù)(
20、RoomOperation)、業(yè)務(wù)記錄(History)。他們之間關(guān)系如圖1所示。</p><p> 圖1 賓館客房管理系統(tǒng)E-R圖</p><p> ?。ǘ?shù)據(jù)庫邏輯設(shè)計</p><p> 將數(shù)據(jù)庫的概念模型轉(zhuǎn)換為關(guān)系模型:</p><p> 實體轉(zhuǎn)換成的關(guān)系模式有:</p><p> 用戶信息(編號,姓
21、名,密碼,性別,Email地址,通訊地址,聯(lián)系電話,所在部門,用戶類型)(用來保存使用該系統(tǒng)的酒店員工的基本信息)</p><p> 客戶(身份證號,客戶姓名,聯(lián)系電話)</p><p> 客房(客房類型編號,類型名稱,客房面積,配置床位,客房價格,是否配置空調(diào),是否配置電視,客房號,客房類型編號,客房位置,描述客房編號,狀態(tài))</p><p> 業(yè)務(wù)(入住時
22、間,退房時間,客房編號,金額,客戶身份證號,客戶姓名,客戶電話,備注)</p><p> (三)數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計 ——物理結(jié)構(gòu)設(shè)計</p><p> 在SQL數(shù)據(jù)庫中需要建立3個數(shù)據(jù)表:員工信息數(shù)據(jù)表、房間信息數(shù)據(jù)表、客戶信息數(shù)據(jù)表。</p><p> ?、賳T工信息數(shù)據(jù)表定義</p><p><b> ②房間信息數(shù)據(jù)表<
23、;/b></p><p><b> ?、劭蛻粜畔?shù)據(jù)表</b></p><p><b> 四、詳細設(shè)計</b></p><p> ?。ㄒ唬┙〝?shù)據(jù)庫——賓館客戶數(shù)據(jù)庫</p><p> IF EXISTS(SELECT * FROM sysdatabases WHERE name='
24、賓館客戶數(shù)據(jù)庫')</p><p> drop database 賓館客戶數(shù)據(jù)庫</p><p><b> GO</b></p><p> CREATE DATABASE賓館客戶數(shù)據(jù)庫</p><p> ON PRIMARY(</p><p> NAME=賓館客戶數(shù)據(jù)庫,<
25、/p><p> FILENAME=C:\ 賓館客戶數(shù)據(jù)庫_data.mdf',</p><p><b> SIZE=4MB,</b></p><p> MAXSIZE=6MB,</p><p> FILEGROWTH=2MB</p><p><b> )</b>
26、</p><p> LOG ON (NAME ='賓館客戶數(shù)據(jù)庫_log', </p><p> FILENAME ='C:\ 賓館客戶數(shù)據(jù)庫.ldf',</p><p> SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)</p><p><b> (二)建表<
27、/b></p><p> create table CustomersInfo(</p><p> CIdentityId nvarchar(50) NOT NULL primary key,</p><p> CName nvarchar(50),</p><p> CPhone nvarchar(50),</p>
28、<p><b> )GO</b></p><p> create table History(</p><p> BeginTime datetime NOT NULL,</p><p> EndTime datetime,</p><p> RoomId int NOT NULL,</p&
29、gt;<p> TotaPrice money,</p><p> CIdentityId nvarchar(50),</p><p> CName nvarchar(50),</p><p> CPhone nvarchar(50),</p><p> Remarks nvarchar(50)</p>
30、<p><b> )GO</b></p><p> create table Roomcategory(</p><p> RCategoryId int NOT NULL,</p><p> Name varchar(50),</p><p> Area float,</p><
31、p> BedNum int,</p><p> Price money,</p><p> AirCondition int,</p><p><b> TV int</b></p><p><b> )GO</b></p><p> create tabl
32、e RoomOperation (</p><p> RoomId int NOT NULL primary key,</p><p> BeginTime datetime,</p><p> CIdentityId nvarchar(50),</p><p> Remarks nvarchar(50) </p>&l
33、t;p><b> )GO</b></p><p> create table RoomsInfo (</p><p> RoomId int NOT NULL primary key,</p><p> RCategory varchar(50),</p><p> RPosition varchar(5
34、0),</p><p> Description varchar(50)</p><p><b> )GO</b></p><p> create table RoomStatus (</p><p> RoomId int NOT NULL primary key,</p><p>
35、Status int</p><p><b> )GO</b></p><p> create table UsersInfo (</p><p> UserId int NOT NULL,</p><p> Name varchar(50),</p><p> Password var
36、char(50),</p><p> Gender int,</p><p> Email varchar(50),</p><p> Address varchar(50),</p><p> Telephone varchar(50),</p><p> Department varchar(50),&l
37、t;/p><p><b> Type int</b></p><p><b> )GO</b></p><p><b> ?。ㄈ┯脩艚缑?lt;/b></p><p> 1.賓館客房管理系統(tǒng)登陸界面的設(shè)計</p><p> 系統(tǒng)共分兩類用戶:酒店管理員和
38、前臺服務(wù)員</p><p> 當用戶進入賓館客房管理系統(tǒng)登陸界面后,首先需要進行身份驗證,系統(tǒng)在驗證通過后,將使用UserType變量記錄其用戶類型,并根據(jù)用戶類型確定用戶的使用權(quán)限。賓館客房管理系統(tǒng)登陸界面如圖2所示。</p><p> 現(xiàn)在給出登陸界面的主要代碼如下:</p><p> import java.net.URL.*;</p>&
39、lt;p> import javax.swing.*;</p><p> import javax.swing.ImageIcon;</p><p> import javax.swing.JLabel;</p><p> import java.sql.*;</p><p> import java.awt.Containe
40、r;</p><p> import java.awt.GridLayout;</p><p> import java.awt.FlowLayout;</p><p> import javax.swing.JButton;</p><p> import javax.swing.JFrame;</p><p&g
41、t; import javax.swing.JTextField;</p><p> import javax.swing.JPasswordField;</p><p> import java.awt.event.ActionEvent;</p><p> import java.awt.event.ActionListener;</p>
42、<p> import java.awt.*;</p><p> public class HoteLand extends JFrame implements ActionListener{</p><p> private boolean boo1=false,boo2=false;</p><p> int Type=0;</p>
43、;<p> public JTextField []t ={new JTextField("用戶名:",8),new JTextField(27),</p><p> new JTextField("密碼:",8),new JPasswordField(27),</p><p> //new JTextField("賓館
44、客房管理系統(tǒng)登陸界面--(計算機1006梁嘉宏)",36),</p><p> new JTextField("賓館客房管理系統(tǒng)登陸界面",20),</p><p> new JTextField("應(yīng)用數(shù)據(jù)庫加密技術(shù)--安全保護你的信息!請放心使用!",30),</p><p> new JTextField
45、("功能:管理賓館客房 版權(quán):本人所有 ",25)};</p><p> public JButton []b={new JButton("登陸"),new JButton("退出")};</p><p> ImageIcon ic=new ImageIcon(HoteLand.class.getResource(&qu
46、ot;/dipaihotel.jpg"));</p><p> //ImageIcon ic=new ImageIcon("me.jpg");</p><p> //java.net.URL imgURL = HoteLand.class.getResource("/me.jpg");</p><p> //
47、 ImageIcon ic = new ImageIcon(imgURL);</p><p> // ImageIcon ic=new ImageIcon(HoteLand.class.getResource("me.jpg"));</p><p> JFrame app;</p><p> Statement statement;<
48、/p><p><b> //構(gòu)造方法</b></p><p> public HoteLand(){</p><p> app= new JFrame("--賓館客房管理系統(tǒng)登陸界面--");</p><p> app.setDefaultCloseOperation(JFrame.EXIT_ON
49、_CLOSE);</p><p> app.setSize(438,583);</p><p> app.setResizable(false);</p><p> Container c=app.getContentPane();</p><p> c.setLayout(new FlowLayout());</p>
50、<p> JLabel aLabel=new JLabel(ic,JLabel.LEFT);</p><p> t[0].setFont(new Font("TimesRoman",Font.BOLD,13));</p><p> t[0].setForeground(Color.red);</p><p> t[0].setE
51、ditable(false);</p><p> t[2].setFont(new Font("TimesRoman",Font.BOLD,13));</p><p> t[2].setForeground(Color.red);</p><p> t[2].setEditable(false);</p><p>
52、 for(int i=0;i<4;i++)</p><p> c.add(t[i]);</p><p> c.add(b[0]);</p><p> c.add(b[1]);</p><p> for(int j=4;j<7;j++)</p><p><b> {</b>&l
53、t;/p><p> c.add(t[j]);</p><p> t[j].setFont(new Font("TimesRoman",Font.BOLD,13));</p><p> t[j].setForeground(Color.blue);</p><p> t[j].setEditable(false);<
54、;/p><p><b> }</b></p><p> c.add(aLabel);</p><p> t[0].addActionListener(this);</p><p> t[2].addActionListener(this);</p><p> b[0].addActionLi
55、stener(this);</p><p> b[1].addActionListener(this);</p><p> app.setVisible(true);</p><p><b> }</b></p><p><b> //消息響應(yīng)方法</b></p><p&
56、gt; public void actionPerformed(ActionEvent e){</p><p> JButton source=(JButton)e.getSource();</p><p> //如果單擊"登陸"按鍵,執(zhí)行StudentManager程序,該部分應(yīng)用到數(shù)據(jù)庫加密技術(shù)</p><p> if(source=
57、=b[0]){</p><p><b> try{</b></p><p> //基于SQL Server 2000 的 JDBC-ODBC 橋數(shù)據(jù)庫連接(先要創(chuàng)建一個數(shù)據(jù)源lib)</p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p>&
58、lt;p> System.out.println("數(shù)據(jù)庫驅(qū)動程序注冊成功!");</p><p> //使用網(wǎng)絡(luò)登錄ID的Windows NT 驗證(W)</p><p> Connection conn=DriverManager.getConnection("jdbc:odbc:賓館客戶數(shù)據(jù)庫");</p><p
59、> //Connection conn=DriverManager.getConnection("jdbc:odbc:lib");</p><p> //使用用戶輸入登錄ID和密碼的SQL Server 驗證(S)</p><p> //Connection conn=DriverManager.getConnection("jdbc:odbc:l
60、ib","sa","password");</p><p> System.out.println("數(shù)據(jù)庫連接成功!");</p><p> statement=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_
61、ONLY);</p><p> String s1=t[1].getText();</p><p> String s2=t[3].getText();</p><p> ResultSet resultset=statement.executeQuery("select * from UsersInfo where Name='"
62、+s1+"'and Password='"+s2+"'");</p><p> resultset.next();</p><p> Type=resultset.getInt("Type");</p><p> // String a1=resultset.getString
63、("Name");</p><p> //resultset.beforeFirst();</p><p> // String a2=resultset.getString("Password");</p><p> if(resultset!=null){</p><p> boo1=boo
64、2=true;</p><p> resultset.close();</p><p><b> }</b></p><p><b> }</b></p><p> catch(Exception e1){</p><p> JOptionPane.showMess
65、ageDialog(this,"用戶名和密碼不正確!","警告",JOptionPane.WARNING_MESSAGE);</p><p> // e1.printStackTrace();</p><p><b> }</b></p><p> // 該方法只是一個簡單的加密技術(shù),</p&
66、gt;<p><b> /*</b></p><p> //如果輸入的用戶名等于"梁嘉宏"</p><p> if(t[1].getText().compareTo("梁嘉宏") ==0){</p><p> boo1=true;</p><p><b&
67、gt; }</b></p><p> //如果輸入的密碼等于"ljh"</p><p> if(t[3].getText().compareTo("321")==0){</p><p> boo2=true;</p><p><b> }</b></p&
68、gt;<p><b> */</b></p><p> //如果輸入的用戶名和密碼都正確,則登陸</p><p> if(boo1&&boo2&&Type==1){</p><p><b> Type=0;</b></p><p> boo1=
69、boo2=true;</p><p> new HoteMen(statement,"普通員工--"+t[1].getText());</p><p> //new StudentManager();</p><p> app.setVisible(false);</p><p><b> }</b
70、></p><p> if(boo1&&boo2&&Type==2){</p><p><b> Type=0;</b></p><p> boo1=boo2=true;</p><p> new HotelManagerMen(statement,"管理員--&q
71、uot;+t[1].getText());</p><p> //new StudentManager();</p><p> app.setVisible(false);</p><p><b> }</b></p><p><b> }</b></p><p>
72、 //如果單擊"退出"按鍵,則退出登陸界面</p><p> if(source==b[1]){</p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p><p> pu
73、blic static void main(String args[]){</p><p> new HoteLand();</p><p><b> }</b></p><p><b> }</b></p><p> 2.客房管理管理頁面的設(shè)計</p><p>
74、客房管理管理頁面主要是負責所有客房信息的維護。其中功能主要包括:錄入客房信息,修改客房信息,查詢客房信息,刪除客房信息。他們的界面如圖所示。</p><p> 現(xiàn)在給出客房管理界面的主要代碼如下:</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p>
75、 import javax.swing.*;</p><p> import java.io.*;</p><p> import java.util.*;</p><p> import java.sql.*;</p><p> public class AddRooms extends JPanel implements Act
76、ionListener</p><p><b> {</b></p><p> Hashtable 基本信息表=null;</p><p> JTextField 房間號,房間位置;</p><p> JTextArea 描述;</p><p> JButton 錄入,重置;</p
77、><p> Choice 房間類型;</p><p> Statement statement=null;</p><p> JLabel 添加客房信息=null;</p><p> public AddRooms(Statement statement)</p><p><b> {</b&g
78、t;</p><p> this.statement=statement;</p><p> 房間號=new JTextField(10);</p><p> 房間位置=new JTextField(10);</p><p> 描述 =new JTextArea(7,10);</p><p> 錄入=new
79、JButton("錄入");</p><p> 重置=new JButton("重置");</p><p> 錄入.addActionListener(this);</p><p> 重置.addActionListener(this);</p><p> Box box0=Box.create
80、HorizontalBox();</p><p> 添加客房信息=new JLabel("--添加客房信息--",JLabel.CENTER);</p><p> 添加客房信息.setFont(new Font("TimesRoman",Font.BOLD,25));</p><p> 添加客房信息.setForegro
81、und(Color.red);</p><p> box0.add(添加客房信息);</p><p> Box box1=Box.createHorizontalBox();</p><p> box1.add(new JLabel("房間號:",JLabel.CENTER));</p><p> box1.add
82、(房間號);</p><p> 房間類型=new Choice();</p><p> 房間類型.add("普通單人間");</p><p> 房間類型.add("普通雙人間");</p><p> 房間類型.add("vip單人間");</p><p&g
83、t; 房間類型.add("vip雙人間");</p><p> 房間類型.add("豪華貴賓間");</p><p> 房間類型.add("總統(tǒng)套間");</p><p> Box box2=Box.createHorizontalBox();</p><p> box2.
84、add(new JLabel("房間類型:",JLabel.CENTER));</p><p> box2.add(房間類型);</p><p> Box box3=Box.createHorizontalBox();</p><p> box3.add(new JLabel("房間位置:",JLabel.CENTER)
85、);</p><p> box3.add(房間位置);</p><p> Box box4=Box.createHorizontalBox();</p><p> box4.add(new JLabel("單價 :",JLabel.CENTER));</p><p> box4.add(new JScrollPan
86、e(描述),BorderLayout.CENTER);</p><p> Box boxH=Box.createVerticalBox();</p><p> boxH.add(box0);</p><p> boxH.add(box1);</p><p> boxH.add(box2);</p><p>
87、boxH.add(box3);</p><p> boxH.add(box4);</p><p> boxH.add(Box.createVerticalGlue());</p><p> JPanel pCenter=new JPanel();</p><p> pCenter.add(boxH);</p><p
88、> setLayout(new BorderLayout());</p><p> add(pCenter,BorderLayout.CENTER);</p><p> JPanel pSouth=new JPanel();</p><p> pSouth.add(錄入);</p><p> pSouth.add(重置);&l
89、t;/p><p> add(pSouth,BorderLayout.SOUTH);</p><p> validate();</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b
90、> {</b></p><p> ResultSet resultset=null;</p><p> boolean boo=false;</p><p> if(e.getSource()==錄入)</p><p><b> {</b></p><p> int
91、number=0;</p><p><b> try{</b></p><p> number=Integer.parseInt(房間號.getText().toString());</p><p><b> boo=true;</b></p><p><b> }</b&g
92、t;</p><p> catch(Exception e1){</p><p> boo=false;</p><p><b> }</b></p><p> if(boo&&(number>0))</p><p><b> {</b><
93、;/p><p><b> try{</b></p><p> resultset=statement.executeQuery("use 賓館客戶數(shù)據(jù)庫;select * from RoomsInfo where RoomId='"+number+"'");</p><p><b&g
94、t; try{</b></p><p> resultset.next();</p><p> resultset.getInt("RoomId");</p><p> String warning="該客房信息已存在,請到修改頁面修改!";</p><p> JOptionPan
95、e.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p> catch(Exception e1){</p><p> int RoomId=Integer.parseInt(房間號.ge
96、tText().toString());</p><p> String RCategory=房間類型.getSelectedItem().toString();</p><p> String RPostion=房間位置.getText().toString();</p><p> String Description=描述.getText().toStri
97、ng();</p><p> String str="use 賓館客戶數(shù)據(jù)庫;insert into RoomsInfo values("+RoomId+",'"+RCategory+"','"+RPostion+"','"+Description+"')";<
98、;/p><p><b> try{</b></p><p> statement.executeUpdate(str);</p><p> statement.executeUpdate("use 賓館客戶數(shù)據(jù)庫;insert into RoomStatus values("+RoomId+","+1+
99、")");</p><p> JOptionPane.showMessageDialog(this,"成功錄入客房信息!","提示",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p> catch(Exception
100、 e2){</p><p> String warning="輸入格式有誤,請重新輸入!";</p><p> JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p> e2.printStackTrac
101、e();</p><p><b> }</b></p><p> 房間號.setText(null);</p><p> 房間類型.select("普通單人間");</p><p> 房間位置.setText(null);</p><p> 描述.setText(nu
102、ll);</p><p><b> }</b></p><p><b> }</b></p><p> catch(Exception e1){</p><p> String warning="輸入格式有誤,請重新輸入!";</p><p>
103、JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> else {</b>
104、;</p><p> String warning="必須要輸入房間號!";</p><p> JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p
105、><p><b> }</b></p><p> if(e.getSource()==重置)</p><p><b> {</b></p><p> 房間號.setText(null);</p><p> 房間類型.select("普通單人間");&
106、lt;/p><p> 房間位置.setText(null);</p><p> 描述.setText(null);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
107、<p> 3.客房經(jīng)營管理頁面的設(shè)計</p><p> 該頁面主要是實現(xiàn)如下三個功能:客房使用情況,賓館訂房,賓館退房。其的界面如圖所示。</p><p> 現(xiàn)在給出客房經(jīng)營管理頁面的主要代碼:</p><p> import java.awt.*;</p><p> import java.awt.event.*;&
108、lt;/p><p> import javax.swing.*;</p><p> import java.io.*;</p><p> import java.util.*;</p><p> import java.sql.*;</p><p> public class UseOfRooms extends
109、 JPanel implements ActionListener</p><p><b> {</b></p><p> JButton 查詢;</p><p> Choice 房間類型,狀態(tài);</p><p> Statement statement=null;</p><p> J
110、TextArea 房間使用情況;</p><p> JLabel 客房使用情況=null;</p><p> public UseOfRooms(Statement statement)</p><p><b> {</b></p><p> this.statement=statement;</p>
111、<p> 查詢=new JButton("查詢");</p><p> 查詢.addActionListener(this);</p><p> 房間類型=new Choice();</p><p> 房間類型.add("普通單人間");</p><p> 房間類型.add(&q
112、uot;普通雙人間");</p><p> 房間類型.add("vip單人間");</p><p> 房間類型.add("vip雙人間");</p><p> 房間類型.add("豪華貴賓間");</p><p> 房間類型.add("總統(tǒng)套間"
113、);</p><p> 狀態(tài)=new Choice();</p><p> 狀態(tài).add("有");</p><p> 狀態(tài).add("否");</p><p> Box box0=Box.createHorizontalBox();</p><p> 客房使用情況=n
114、ew JLabel("--客房使用情況--",JLabel.CENTER);</p><p> 客房使用情況.setFont(new Font("TimesRoman",Font.BOLD,25));</p><p> 客房使用情況.setForeground(Color.red);</p><p> box0.add(
115、客房使用情況);</p><p> Box box1=Box.createHorizontalBox();</p><p> box1.add(new JLabel("按房間類型:",JLabel.CENTER));</p><p> box1.add(房間類型);</p><p> Box box2=Box.cr
116、eateHorizontalBox();</p><p> box2.add(new JLabel("狀態(tài):",JLabel.CENTER));</p><p> box2.add(狀態(tài));</p><p> box2.add(查詢);</p><p> Box box3=Box.createHorizontalB
117、ox();</p><p> box3.add(new JLabel("房間使用情況:",JLabel.CENTER));</p><p> Box box4=Box.createHorizontalBox();</p><p> box4.add(new JLabel("-客房號:"));</p><
118、;p> box4.add(new JLabel("-客房類型:"));</p><p> box4.add(new JLabel("-是否空房:"));</p><p> Box box5=Box.createHorizontalBox();</p><p> 房間使用情況=new JTextArea(8,12)
119、;</p><p> 房間使用情況.setFont(new Font("TimesRoman",Font.BOLD,15));</p><p> 房間使用情況.setForeground(Color.red);</p><p> 房間使用情況.setEditable(false);</p><p> box5.ad
120、d(new JScrollPane(房間使用情況),BorderLayout.CENTER);</p><p> Box boxH=Box.createVerticalBox();</p><p> boxH.add(box0);</p><p> boxH.add(box1);</p><p> boxH.add(box2);<
121、;/p><p> boxH.add(box3);</p><p> boxH.add(box4);</p><p> boxH.add(box5);</p><p> boxH.add(Box.createVerticalGlue());</p><p> JPanel pCenter=new JPanel();
122、</p><p> pCenter.add(boxH);</p><p> setLayout(new BorderLayout());</p><p> add(pCenter,BorderLayout.CENTER);</p><p> validate();</p><p><b> }<
123、;/b></p><p> public void actionPerformed(ActionEvent e)</p><p> { int i=1;</p><p> ResultSet resultset=null;</p><p> String string="";</p>&l
124、t;p> if(e.getSource()==查詢){</p><p> String str=房間類型.getSelectedItem().toString();</p><p> String str1=狀態(tài).getSelectedItem();</p><p> if(str1.equals("有")){</p>
125、<p><b> i=2;</b></p><p><b> }</b></p><p><b> else i=1;</b></p><p> String str2="use 賓館客戶數(shù)據(jù)庫;select RoomsInfo.RoomId,RCategory,Room
126、Status.Status from RoomsInfo,RoomStatus where RoomsInfo.RoomId=RoomStatus.RoomId and Status="+i+" and RCategory='"+str+"'";</p><p><b> try{</b></p><p&
127、gt; resultset=statement.executeQuery(str2);</p><p> while(resultset.next()){</p><p> string+=resultset.getInt(1)+", "+resultset.getString(2)+", "+str1+"\n";</
128、p><p><b> }</b></p><p> if(string==""){</p><p> 房間使用情況.setText("沒有要找的客房!");</p><p><b> }</b></p><p><b>
129、 else</b></p><p> 房間使用情況.setText(string);</p><p><b> }</b></p><p> catch(Exception e1){</p><p> e1.printStackTrace();</p><p><b>
130、; }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.客戶信息查詢頁面的設(shè)計</p><p> 該頁面主要是實現(xiàn)客戶信息查詢功能。界
131、面如圖所示。</p><p> 現(xiàn)在給出客戶信息查詢頁面主要代碼:</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> import java.io.*;&l
132、t;/p><p> import java.util.*;</p><p> import java.sql.*;</p><p> public class CustomerInformation extends JPanel implements ActionListener</p><p><b> {</b>
133、</p><p> JTextField 姓名;</p><p> JTextArea 查詢結(jié)果;</p><p> JButton 查詢,查詢所有;</p><p> Statement statement=null;</p><p> JLabel 客戶信息查詢;</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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計--賓館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---賓館住宿管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計——賓館客房管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 賓館客房管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 賓館管理系統(tǒng)c#數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告----賓館信息管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設(shè)計--賓館客房管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----賓館客房信息管理系統(tǒng)設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫設(shè)計—公司管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計實驗報告(賓館客房管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計---機房管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-酒店管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫原理課程設(shè)計---教室管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--bbs系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--超市會員管理系統(tǒng)的數(shù)據(jù)庫設(shè)計
評論
0/150
提交評論