數(shù)據(jù)庫(kù)課程設(shè)計(jì)---賓館管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p>  課程名稱(chēng)__ 數(shù)據(jù)庫(kù)系統(tǒng)概論 </p><p>  題目名稱(chēng)__ 賓館管理系統(tǒng) </p><p>  學(xué)生學(xué)院_____計(jì)算機(jī)學(xué)院 </p><p>  專(zhuān)業(yè)班級(jí)_ </p&

2、gt;<p>  學(xué) 號(hào)___ </p><p>  學(xué)生姓名________________</p><p>  指導(dǎo)教師_______ _______</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> ?。ǘ┫到y(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è)計(jì)5</b></p><p> ?。ㄒ唬?shù)據(jù)庫(kù)概念設(shè)計(jì)5</p><p>  (二)數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)5</p><p> ?。ㄈ?shù)據(jù)庫(kù)與數(shù)據(jù)表設(shè)計(jì) ——物理結(jié)構(gòu)設(shè)計(jì)6</p><p>

5、<b>  四、詳細(xì)設(shè)計(jì)6</b></p><p>  (一)建數(shù)據(jù)庫(kù)——賓館客戶(hù)數(shù)據(jù)庫(kù)6</p><p><b> ?。ǘ┙ū?</b></p><p><b> ?。ㄈ┯脩?hù)界面8</b></p><p>  1.賓館客房管理系統(tǒng)登陸界面的設(shè)計(jì)8</p&g

6、t;<p>  2.客房管理管理頁(yè)面的設(shè)計(jì)13</p><p>  3.客房經(jīng)營(yíng)管理頁(yè)面的設(shè)計(jì)17</p><p>  4.客戶(hù)信息查詢(xún)頁(yè)面的設(shè)計(jì)20</p><p>  5.員工信息管理頁(yè)面的設(shè)計(jì)23</p><p>  五、課程設(shè)計(jì)總結(jié)28</p><p><b>  六、參考文獻(xiàn)

7、28</b></p><p><b>  一、系統(tǒng)定義</b></p><p>  隨著賓館酒店業(yè)競(jìng)爭(zhēng)的加劇,賓館之間客源的爭(zhēng)奪越來(lái)越激烈,賓館需要使用更有效的信息化手段,拓展經(jīng)營(yíng)空間,降低運(yùn)營(yíng)成本,提高管理和決策效率.傳統(tǒng)的賓館酒店計(jì)算機(jī)管理系統(tǒng)主要包括前臺(tái)管理系統(tǒng)和后臺(tái)管理系統(tǒng)兩大部分,基本包含了賓館主要業(yè)務(wù)部門(mén),初步實(shí)現(xiàn)了對(duì)顧客服務(wù)和進(jìn)行財(cái)務(wù)核算所

8、需要的各個(gè)功能.但傳統(tǒng)的賓館酒店管理系統(tǒng)基于財(cái)務(wù)管理為主線(xiàn)的設(shè)計(jì)理念,無(wú)法滿(mǎn)足賓館酒店全面信息化管理的需要. 現(xiàn)代賓館酒店業(yè)迅速發(fā)展,新的管理觀(guān)念與模式層出不窮.賓客客房管理系統(tǒng)亦隨著賓館管理理念的發(fā)展而發(fā)展.賓館客房管理系統(tǒng)依照國(guó)家星級(jí)賓館標(biāo)準(zhǔn)化業(yè)務(wù)程序,采用了先進(jìn)的數(shù)據(jù)庫(kù)理論,多媒體技術(shù),軟件工程理念等,從基層,中層,高層三個(gè)管理者層次為切入點(diǎn),以成本分析,預(yù)測(cè),控制為主線(xiàn),形成一套上下貫通,操作便捷的酒店系統(tǒng)解決方案,科

9、學(xué)地將賓館各種日常業(yè)務(wù)完美的結(jié)合在一起,為管理及決策提供了強(qiáng)有力的支持.其對(duì)客人個(gè)性化服務(wù)及全面徹底的信息化,使企業(yè)電算化管理水平提升到一個(gè)新的更高層次.提供大量豐富的基于企業(yè)管理經(jīng)營(yíng)過(guò)程中實(shí)際的數(shù)據(jù)。</p><p><b>  二、需求分析</b></p><p><b> ?。ㄒ唬┫到y(tǒng)綜合需求</b></p><p>

10、;  本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)是對(duì)賓館的客房管理、客戶(hù)信息管理和餐廳服務(wù)管理功能,前臺(tái)用java實(shí)現(xiàn)對(duì)數(shù)據(jù)的添加,刪除,查詢(xún)等功能,在后臺(tái)用Sql server作為數(shù)據(jù)庫(kù),其中數(shù)據(jù)庫(kù)設(shè)計(jì)是用PowerDesigner.v11軟件設(shè)計(jì)的。</p><p>  本系統(tǒng)就是利用計(jì)算機(jī)信息提高了餐館賓館的管理水平,主要對(duì)系統(tǒng)的操作員權(quán)限、菜收銀客房、客戶(hù)等信息管理。系統(tǒng)操作權(quán)限管理可以實(shí)現(xiàn)對(duì)操作員的添加、刪除、修改操作,并設(shè)

11、置操作員對(duì)指定用戶(hù)進(jìn)行密碼修改。</p><p>  賓館的信息量大,數(shù)據(jù)安全性和保密性要求高。本系統(tǒng)實(shí)現(xiàn)對(duì)賓館信息的管理和總體的統(tǒng)計(jì)等,營(yíng)業(yè)信息的查看和維護(hù)。操作管理人員可以瀏覽,查詢(xún),添加,刪除等賓館的基本信息等。</p><p>  本系統(tǒng)基本包含了賓館管理的主要需求,具有完善細(xì)致的功能:</p><p>  系統(tǒng)具有高可靠性、安全性、操作性;</p&g

12、t;<p>  模塊化結(jié)構(gòu),具有強(qiáng)大的數(shù)據(jù)處理功能,可根據(jù)業(yè)務(wù)需要,十分便捷地進(jìn)行模塊增減,靈活地進(jìn)行系統(tǒng)組合;</p><p>  直觀(guān)的圖形用戶(hù)界面,面向事務(wù)處理。隨心所欲的查詢(xún),并全面支持分析和決策的功能。</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) 用戶(hù)信息表</b></p><p>  用戶(hù)信息表(UsersInfo)用來(lái)保存使用該系統(tǒng)的酒店員工的基本信息,表UsersInfo的結(jié)構(gòu)如表1所示。</p><p>  表1 用戶(hù)信息表(UsersI

14、nfo)</p><p><b>  (2) 客戶(hù)信息表</b></p><p>  客戶(hù)信息表(CustomersInfo)用來(lái)保存在酒店訂房的客戶(hù)的基本信息,表CustomersInfo的結(jié)構(gòu)如表2所示。</p><p>  表2 客戶(hù)信息表(CustomersInfo)</p><p><b>  (3)

15、 客房類(lèi)型表</b></p><p>  客房類(lèi)型表(RoomCategory)用來(lái)保存酒店所有客房類(lèi)型的基本信息,表RoomCategory的結(jié)構(gòu)如表3所示。</p><p>  表3 客房類(lèi)型表(RoomCategory)</p><p><b>  (4) 客房信息表</b></p><p>  客房信

16、息表(RoomsInfo)用來(lái)保存酒店所有客房的相關(guān)信息,表RoomsInfo結(jié)構(gòu)的如表4所示。</p><p>  表4 客房信息表(RoomsInfo)</p><p><b>  (5) 客房狀態(tài)表</b></p><p>  客房狀態(tài)表(RoomStatus)用來(lái)保存客房使用情況的基本信息,表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)用來(lái)保存目前酒店正有客戶(hù)入住的客房的相關(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)用來(lái)保存酒店里所有入住過(guò)客戶(hù)的客房的業(yè)務(wù)信息,表History的結(jié)構(gòu)如表7所示。</p><p>  表7 業(yè)務(wù)記錄表(History)</p><p><b>  三、系統(tǒng)設(shè)計(jì)<

19、/b></p><p> ?。ㄒ唬?shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p>  E-R圖的分析工作通常采用自底向下的設(shè)計(jì)方法,首先對(duì)局部視圖進(jìn)行分析設(shè)計(jì),然后再實(shí)現(xiàn)視圖集成。賓館客房管理系統(tǒng)一般包括如下幾個(gè)表:用戶(hù)信息(UsersInfo)、客戶(hù)信息(CustomersInfo)、客房類(lèi)型(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ù)庫(kù)邏輯設(shè)計(jì)</p><p>  將數(shù)據(jù)庫(kù)的概念模型轉(zhuǎn)換為關(guān)系模型:</p><p>  實(shí)體轉(zhuǎn)換成的關(guān)系模式有:</p><p>  用戶(hù)信息(編號(hào),姓

21、名,密碼,性別,Email地址,通訊地址,聯(lián)系電話(huà),所在部門(mén),用戶(hù)類(lèi)型)(用來(lái)保存使用該系統(tǒng)的酒店員工的基本信息)</p><p>  客戶(hù)(身份證號(hào),客戶(hù)姓名,聯(lián)系電話(huà))</p><p>  客房(客房類(lèi)型編號(hào),類(lèi)型名稱(chēng),客房面積,配置床位,客房?jī)r(jià)格,是否配置空調(diào),是否配置電視,客房號(hào),客房類(lèi)型編號(hào),客房位置,描述客房編號(hào),狀態(tài))</p><p>  業(yè)務(wù)(入住時(shí)

22、間,退房時(shí)間,客房編號(hào),金額,客戶(hù)身份證號(hào),客戶(hù)姓名,客戶(hù)電話(huà),備注)</p><p> ?。ㄈ?shù)據(jù)庫(kù)與數(shù)據(jù)表設(shè)計(jì) ——物理結(jié)構(gòu)設(shè)計(jì)</p><p>  在SQL數(shù)據(jù)庫(kù)中需要建立3個(gè)數(shù)據(jù)表:?jiǎn)T工信息數(shù)據(jù)表、房間信息數(shù)據(jù)表、客戶(hù)信息數(shù)據(jù)表。</p><p> ?、賳T工信息數(shù)據(jù)表定義</p><p><b> ?、诜块g信息數(shù)據(jù)表<

23、;/b></p><p><b> ?、劭蛻?hù)信息數(shù)據(jù)表</b></p><p><b>  四、詳細(xì)設(shè)計(jì)</b></p><p> ?。ㄒ唬┙〝?shù)據(jù)庫(kù)——賓館客戶(hù)數(shù)據(jù)庫(kù)</p><p>  IF EXISTS(SELECT * FROM sysdatabases WHERE name='

24、賓館客戶(hù)數(shù)據(jù)庫(kù)')</p><p>  drop database 賓館客戶(hù)數(shù)據(jù)庫(kù)</p><p><b>  GO</b></p><p>  CREATE DATABASE賓館客戶(hù)數(shù)據(jù)庫(kù)</p><p>  ON PRIMARY(</p><p>  NAME=賓館客戶(hù)數(shù)據(jù)庫(kù),<

25、/p><p>  FILENAME=C:\ 賓館客戶(hù)數(shù)據(jù)庫(kù)_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 ='賓館客戶(hù)數(shù)據(jù)庫(kù)_log', </p><p>  FILENAME ='C:\ 賓館客戶(hù)數(shù)據(jù)庫(kù).ldf',</p><p>  SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)</p><p><b> ?。ǘ┙ū?lt;

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> ?。ㄈ┯脩?hù)界面</b></p><p>  1.賓館客房管理系統(tǒng)登陸界面的設(shè)計(jì)</p><p>  系統(tǒng)共分兩類(lèi)用戶(hù):酒店管理員和

38、前臺(tái)服務(wù)員</p><p>  當(dāng)用戶(hù)進(jìn)入賓館客房管理系統(tǒng)登陸界面后,首先需要進(jìn)行身份驗(yàn)證,系統(tǒng)在驗(yàn)證通過(guò)后,將使用UserType變量記錄其用戶(hù)類(lèi)型,并根據(jù)用戶(hù)類(lèi)型確定用戶(hù)的使用權(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("用戶(hù)名:",8),new JTextField(27),</p><p>  new JTextField("密碼:",8),new JPasswordField(27),</p><p>  //new JTextField("賓館

44、客房管理系統(tǒng)登陸界面--(計(jì)算機(jī)1006梁嘉宏)",36),</p><p>  new JTextField("賓館客房管理系統(tǒng)登陸界面",20),</p><p>  new JTextField("應(yīng)用數(shù)據(jù)庫(kù)加密技術(shù)--安全保護(hù)你的信息!請(qǐng)放心使用!",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ù)庫(kù)加密技術(shù)</p><p>  if(source=

57、=b[0]){</p><p><b>  try{</b></p><p>  //基于SQL Server 2000 的 JDBC-ODBC 橋數(shù)據(jù)庫(kù)連接(先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)源lib)</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p>&

58、lt;p>  System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序注冊(cè)成功!");</p><p>  //使用網(wǎng)絡(luò)登錄ID的Windows NT 驗(yàn)證(W)</p><p>  Connection conn=DriverManager.getConnection("jdbc:odbc:賓館客戶(hù)數(shù)據(jù)庫(kù)");</p><p

59、>  //Connection conn=DriverManager.getConnection("jdbc:odbc:lib");</p><p>  //使用用戶(hù)輸入登錄ID和密碼的SQL Server 驗(yàn)證(S)</p><p>  //Connection conn=DriverManager.getConnection("jdbc:odbc:l

60、ib","sa","password");</p><p>  System.out.println("數(shù)據(jù)庫(kù)連接成功!");</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,"用戶(hù)名和密碼不正確!","警告",JOptionPane.WARNING_MESSAGE);</p><p>  // e1.printStackTrace();</p><p><b>  }</b></p><p>  // 該方法只是一個(gè)簡(jiǎn)單的加密技術(shù),</p&

66、gt;<p><b>  /*</b></p><p>  //如果輸入的用戶(hù)名等于"梁嘉宏"</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>  //如果輸入的用戶(hù)名和密碼都正確,則登陸</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.客房管理管理頁(yè)面的設(shè)計(jì)</p><p>  

74、客房管理管理頁(yè)面主要是負(fù)責(zé)所有客房信息的維護(hù)。其中功能主要包括:錄入客房信息,修改客房信息,查詢(xún)客房信息,刪除客房信息。他們的界面如圖所示。</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 房間號(hào),房間位置;</p><p>  JTextArea 描述;</p><p>  JButton 錄入,重置;</p

77、><p>  Choice 房間類(lèi)型;</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>  房間號(hào)=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("房間號(hào):",JLabel.CENTER));</p><p>  box1.add

82、(房間號(hào));</p><p>  房間類(lèi)型=new Choice();</p><p>  房間類(lèi)型.add("普通單人間");</p><p>  房間類(lèi)型.add("普通雙人間");</p><p>  房間類(lèi)型.add("vip單人間");</p><p&g

83、t;  房間類(lèi)型.add("vip雙人間");</p><p>  房間類(lèi)型.add("豪華貴賓間");</p><p>  房間類(lèi)型.add("總統(tǒng)套間");</p><p>  Box box2=Box.createHorizontalBox();</p><p>  box2.

84、add(new JLabel("房間類(lèi)型:",JLabel.CENTER));</p><p>  box2.add(房間類(lèi)型);</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("單價(jià) :",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(房間號(hào).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 賓館客戶(hù)數(shù)據(jù)庫(kù);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="該客房信息已存在,請(qǐng)到修改頁(yè)面修改!";</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(房間號(hào).ge

96、tText().toString());</p><p>  String RCategory=房間類(lèi)型.getSelectedItem().toString();</p><p>  String RPostion=房間位置.getText().toString();</p><p>  String Description=描述.getText().toStri

97、ng();</p><p>  String str="use 賓館客戶(hù)數(shù)據(jù)庫(kù);insert into RoomsInfo values("+RoomId+",'"+RCategory+"','"+RPostion+"','"+Description+"')";<

98、;/p><p><b>  try{</b></p><p>  statement.executeUpdate(str);</p><p>  statement.executeUpdate("use 賓館客戶(hù)數(shù)據(jù)庫(kù);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="輸入格式有誤,請(qǐng)重新輸入!";</p><p>  JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p>  e2.printStackTrac

101、e();</p><p><b>  }</b></p><p>  房間號(hào).setText(null);</p><p>  房間類(lèi)型.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="輸入格式有誤,請(qǐng)重新輸入!";</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="必須要輸入房間號(hào)!";</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>  房間號(hào).setText(null);</p><p>  房間類(lèi)型.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)營(yíng)管理頁(yè)面的設(shè)計(jì)</p><p>  該頁(yè)面主要是實(shí)現(xiàn)如下三個(gè)功能:客房使用情況,賓館訂房,賓館退房。其的界面如圖所示。</p><p>  現(xiàn)在給出客房經(jīng)營(yíng)管理頁(yè)面的主要代碼:</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 查詢(xún);</p><p>  Choice 房間類(lèi)型,狀態(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>  查詢(xún)=new JButton("查詢(xún)");</p><p>  查詢(xún).addActionListener(this);</p><p>  房間類(lèi)型=new Choice();</p><p>  房間類(lèi)型.add("普通單人間");</p><p>  房間類(lèi)型.add(&q

112、uot;普通雙人間");</p><p>  房間類(lèi)型.add("vip單人間");</p><p>  房間類(lèi)型.add("vip雙人間");</p><p>  房間類(lèi)型.add("豪華貴賓間");</p><p>  房間類(lèi)型.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("按房間類(lèi)型:",JLabel.CENTER));</p><p>  box1.add(房間類(lèi)型);</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(查詢(xún));</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("-客房號(hào):"));</p><

118、;p>  box4.add(new JLabel("-客房類(lèi)型:"));</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()==查詢(xún)){</p><p>  String str=房間類(lèi)型.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 賓館客戶(hù)數(shù)據(jù)庫(kù);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("沒(méi)有要找的客房!");</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.客戶(hù)信息查詢(xún)頁(yè)面的設(shè)計(jì)</p><p>  該頁(yè)面主要是實(shí)現(xiàn)客戶(hù)信息查詢(xún)功能。界

131、面如圖所示。</p><p>  現(xiàn)在給出客戶(hù)信息查詢(xún)頁(yè)面主要代碼:</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 查詢(xún)結(jié)果;</p><p>  JButton 查詢(xún),查詢(xún)所有;</p><p>  Statement statement=null;</p><p>  JLabel 客戶(hù)信息查詢(xún);</p><p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論