宾馆客房管理系统的设计与实现毕业设计论文.doc
《宾馆客房管理系统的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《宾馆客房管理系统的设计与实现毕业设计论文.doc(27页珍藏版)》请在咨信网上搜索。
课程设计报告 课程名称:_面向对象基础及java语言课程设计 设计题目: 宾馆客房管理系统的设计与实现 学 院: 信息科学与工程学院 专 业: 计算机科学与技术(软件外包)_ 二零一五年七月二十四日 一、 设计内容及要求 宾馆客房管理系统主要设计了管理员登陆,查询客房信息,修改、添加客房信息,通过java与数据库的连接,实现后台调用数据。通过调用数据库中的ID和password登陆管理系统,做出相应的处理。 二、 开发环境 1. Eclipse(java环境开发) 2. JDK1.7(进行java程序的编译和运行) 3. MySQL绿色版(数据库储存) 三、 设计思路 1. 整体框架 客房管理系统 客房信息查询 添加客房信息 修改客房信息 2.数据库设计 本系统使用MySQL 绿色版来存储数据,其中有一个数据库home,数据库中包含两张表:xx表主要记录客房的信息(房间号,房间类型,单价,入住姓名,身份证号码,房间状态),如图表1-1;id表中记录管理员的信息(ID,password),如图1-2。 表1-1 xx 房间号 房间类型 单价 入住姓名 身份证号码 房间状态 301 标准间 168 张树鹏 370782199510093073 入住 303 标准间 168 王栋 370782199510094431 入住 305 标准间 168 未入住 307 大床房 148 杨金石 370782199510095566 入住 309 家庭房 256 未入住 表1-2 id ID password Wangd 7877 Yangjs 5988 Zhangsp 3977 3.数据库与Eclipse连接 使用ODBC为数据库Student配置ODBC数据源,使应用程序可以访问数据库,进行应用程序和数据库之间的数据交互。 四、 详细设计过程与分析 1. 登陆界面 (1) 首先由用户输入账户和密码,由系统读取账号,并根据账号在数据库中查询相应的密码; (2) 根据数据库查询到的密码,与用户输入的密码进行匹配,如果相同,单击确定则可以进入功能界面。 2. 功能界面 在功能界面,实现三个功能,分别是:查询客户信息,添加客户信息,修改客户信息。每个按钮添加单击事件。响应后进入相应的功能界面。 3. 客房信息查询 进入客房信息查询界面,输入房间号,单击查询按钮,做出相应的事件处理事件,从home数据库xx表中读取房间类型,单价,入住姓名,身份证号码,入住状态。如果入住状态为未入住,则入住姓名,身份证号码为空。客房信息查询界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击可以直接实现事件响应。 4. 添加客房信息 进入客房信息查询界面,界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击可以直接实现事件响应。添加客房信息中所需录入的客房信息,及其文本区域。当用户向文本区域录入数据完成单击添加时,响应增加事件。首先,进行数据库的连接,创建执行SQL的语句对象,执行SQL语句,将数据插入到数据库,关闭连接。添加完成后,显示“添加成功”确认对话框。重置按钮功能为重置各文本框内的内容,使清空文本框更加方便。 5. 修改客房信息 进入修改客房信息界面,界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击可以直接实现事件响应。修改客房信息录入到文本区域,当用户向文本区域录入数据完成单击添加时,响应增加事件。首先,进行数据库的连接,创建执行SQL的语句对象,执行SQL语句,将数据插入到数据库,关闭连接。修改完成后,显示“修改成功”确认对话框。重置按钮功能为重置各文本框内的内容,使清空文本框更加方便。 6. 数据库的建立 使用MySQL绿色版建立home数据库,在数据库中建立id表和xx表。 五、 源代码 1. 登陆界面源代码 package KF; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.Statement; import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class HoteLand extends JFrame implements ActionListener{ private JPanel panel1,panel2,panel3,panel4,panel5; private JLabel label1,label2,label3; private JTextField text1; private JTextField text2; private JButton button1,button2; public HoteLand() { super("客房系统登录"); this.setLocation(400,200); this.setSize(300,200); this.setBackground(java.awt.Color.LIGHT_GRAY); //this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.getContentPane().setLayout(new BorderLayout()); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); panel4=new JPanel(); panel5=new JPanel(); panel3.setLayout(new java.awt.FlowLayout(FlowLayout.CENTER)); label1=new JLabel("————客房管理系统————"); label2=new JLabel("账号"); label3=new JLabel("密码"); text1=new JTextField(10); text2=new JPasswordField(10); button1=new JButton("确定"); button1.addActionListener(this); button2=new JButton("退出"); button2.addActionListener(this); panel4.add(label2); panel4.add(text1); panel5.add(label3); panel5.add(text2); panel1.add(panel4); panel1.add(panel5); panel2.add(button1); panel2.add(button2); panel3.add(label1); this.getContentPane().add(panel3,"North"); this.getContentPane().add(panel1,"Center"); this.getContentPane().add(panel2,"South"); this.setVisible(true); } public static void main(String[] args){ new HoteLand(); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==button1){ DB db=new DB();//链接数据库 String sql="SELECT *FROM id WHERE ID='"+text1.getText()+"'"; ArrayList<String []>list=db.arrQuery(sql); if(list.get(0)[1].equals(text2.getText())){ new Jiemian(); this.dispose(); }else{ //JOptionPane.showMessageDialog(this,"\""+text1.getText()+"\"账号错误,请重新输入!"); JOptionPane.showMessageDialog(this,"\""+text2.getText()+"\"密码错误,请重新输入!"); text2.setText(""); text1.setText(""); } } if(arg0.getSource()==button2){ //text1.setText(null); //text2.setText(null); System.exit(0); } } } 2. 功能界面 package KF; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Jiemian extends JFrame implements ActionListener{ private JLabel label1,label2,label3; private JPanel panel1,panel2,panel3,panel4,panel5; private JButton button1,button2,button3; public Jiemian() { this.setLocation(400,200); this.setSize(400,130); this.setBackground(java.awt.Color.LIGHT_GRAY); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); panel4=new JPanel(); panel5=new JPanel(); button1=new JButton("客房信息查询"); button1.addActionListener(this); button2=new JButton("添加客房信息"); button2.addActionListener(this); button3=new JButton("修改客房信息"); button3.addActionListener(this); label2=new JLabel("--欢迎使用客房管理系统--"); panel1.add(button1); panel1.add(button2); panel1.add(button3); panel2.add(label2); this.getContentPane().add(panel2,"South"); this.getContentPane().add(panel1,"Center"); this.getContentPane().add(panel3,"North"); this.setVisible(true); } public static void main(String[] args){ new Jiemian(); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==button1){ new Chaxu(); this.dispose(); } if(arg0.getSource()==button2){ new AddRooms(); this.dispose(); } if(arg0.getSource()==button3){ new Xgkfxx(); this.dispose(); } } } 3. 添加客房信息界面 package KF; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class AddRooms extends JFrame implements ActionListener{ private JLabel label1,label2,label3,label4,label5,label6,label7; private JPanel panel1,panel2,panel3,panel4,panel5,panel6,panel7,panel8,panel9; private JButton button1,button2,button3,button4,button5; private JTextField a,b,c,d,e,f; private JComboBox<?> lx,dj,zt; @SuppressWarnings({ "unchecked", "rawtypes" }) public AddRooms(){ super("客房管理系统"); this.setLocation(400,200); this.setSize(420,400); this.setBackground(java.awt.Color.LIGHT_GRAY); this.getContentPane().setLayout(new FlowLayout(1)); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); panel4=new JPanel(); panel5=new JPanel(); panel6=new JPanel(); panel7=new JPanel(); panel8=new JPanel(); panel9=new JPanel(); button1=new JButton("客房信息查询"); button1.addActionListener(this); button2=new JButton("添加客房信息"); button2.addActionListener(this); button3=new JButton("修改客房信息"); button3.addActionListener(this); label1=new JLabel(" 添加客房信息"); label2=new JLabel("房 间 号:"); a=new JTextField(25); label3=new JLabel("房间类型:"); //b=new JTextField(25); String t1[]={"大床房 ","标准间 ","家庭房"}; lx=new JComboBox(t1); lx.setPreferredSize(new Dimension(280,25)); label4=new JLabel("单 价:"); String t2[]={"148","168","256"}; dj=new JComboBox(t2); dj.setPreferredSize(new Dimension(280,25)); label5=new JLabel("入住姓名:"); d=new JTextField(25); label6=new JLabel("身份证号:"); e=new JTextField(25); label7=new JLabel("状 态:"); String t3[]={"入住 ","未入住 "}; zt=new JComboBox(t3); zt.setPreferredSize(new Dimension(280,25)); button4=new JButton("添加"); button4.addActionListener(this); button5=new JButton("重置"); button5.addActionListener(this); panel1.add(button1); panel1.add(button2); panel1.add(button3); panel2.add(label1); panel3.add(label2); panel3.add(a); panel4.add(label3); panel4.add(lx); panel5.add(label4); panel5.add(dj); panel6.add(label5); panel6.add(d); panel7.add(label6); panel7.add(e); panel9.add(label7); panel9.add(zt); panel8.add(button4); panel8.add(button5); this.getContentPane().add(panel1,"Center"); this.getContentPane().add(panel2,"Center"); this.getContentPane().add(panel3,"Center"); this.getContentPane().add(panel4,"Center"); this.getContentPane().add(panel5,"Center"); this.getContentPane().add(panel6,"Center"); this.getContentPane().add(panel7,"Center"); this.getContentPane().add(panel9,"Center"); this.getContentPane().add(panel8,"Center"); this.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==button1){ new Chaxu(); this.dispose(); } if(arg0.getSource()==button2){ new AddRooms(); this.dispose(); } if(arg0.getSource()==button3){ new Xgkfxx(); this.dispose(); } if(arg0.getSource()==button4){ //System.out.println(lx.getSelectedIndex()); DB db=new DB();//链接数据库 String sql="INSERT INTO xx VALUES ("+a.getText()+",'"+lx.getSelectedItem()+"',"+dj.getSelectedItem()+",'"+d.getText()+"','"+e.getText()+"',"+"'"+zt.getSelectedItem()+"'"+")"; int n=db.update(sql); if(n>0) { JOptionPane.showMessageDialog(this,"添加成功!"); a.setText(""); lx.getSelectedIndex(); dj.getSelectedIndex(); d.setText(""); e.setText(""); zt.getSelectedIndex(); } } if(arg0.getSource()==button5){ a.setText(""); b.setText(""); c.setText(""); d.setText(""); e.setText(""); } } public static void main(String[] args){ new AddRooms(); } 4. }客房信息查询 package KF; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Statement; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Chaxu extends JFrame implements ActionListener{ private JLabel label1,label2,label3,label4,label5,label6,label7; Private JPanel panel1,panel2,panel3,panel4,panel5,panel6,panel7,panel8; private JButton button1,button2,button3,button4,button5; private JTextField a,b,c,e,d,f; Statement sqll; public Chaxu(){ super("欢迎使用客房管理系统"); this.setLocation(400,200); this.setSize(420,380); this.setBackground(java.awt.Color.LIGHT_GRAY); this.getContentPane().setLayout(new FlowLayout(1)); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); panel4=new JPanel(); panel5=new JPanel(); panel6=new JPanel(); panel7=new JPanel(); panel8=new JPanel(); button1=new JButton("客房信息查询"); button1.addActionListener(this); button2=new JButton("添加客房信息"); button2.addActionListener(this); button3=new JButton("修改客房信息"); button3.addActionListener(this); label1=new JLabel(" 查 询 客 房 信 息 "); label2=new JLabel("房 间 号:"); a=new JTextField(19); button4=new JButton("查询"); button4.addActionListener(this); label3=new JLabel("房间类型:"); b=new JTextField(25); label4=new JLabel("单 价:"); c=new JTextField(25); label5=new JLabel("入住姓名:"); d=new JTextField(25); label6=new JLabel("身份证号:"); e=new JTextField(25); label7=new JLabel("房间状态:"); f=new JTextField(25); button5=new JButton("返回"); button5.addActionListener(this); panel1.add(button1); panel1.add(button2); panel1.add(button3); panel2.add(label2); panel2.add(a); panel2.add(button4); panel3.add(label3); panel3.add(b); panel4.add(label4); panel4.add(c); panel5.add(label5); panel5.add(d); panel6.add(label6); panel6.add(e); panel8.add(label7); panel8.add(f); panel7.add(button5); this.getContentPane().add(panel1,"Center"); this.getContentPane().add(label1,"Center"); this.getContentPane().add(panel2,"Center"); this.getContentPane().add(panel3,"Center"); this.getContentPane().add(panel4,"Center"); this.getContentPane().add(panel5,"Center"); this.getContentPane().add(panel6,"Center"); this.getContentPane().add(panel8,"Center"); this.getContentPane().add(panel7,"Center"); this.setVisible(true); } public static void main(String[] args){ new Chaxu(); } @Override public void actionPerformed(ActionEvent e1) { // TODO Auto-generated method stub if(e1.getSource()==button1){ new Chaxu(); this.dispose(); } if(e1.getSource()==button2){ new AddRooms(); this.dispose(); } if(e1.getSource()==button3){ new Xgkfxx(); this.dispose(); } if(e1.getSource()==button4){ DB db=new DB();//链接数据库 String sql="SELECT 房间类型,单价,入住姓名,身份证号码,房间状态 FROM xx WHERE 房间号="+a.getText(); ArrayList<String[]> list = db.arrQuery(sql); b.setText(list.get(0)[0]); c.setText(list.get(0)[1]); d.setText(list.get(0)[2]); e.setText(list.get(0)[3]); f.setText(list.get(0)[4]); } if(e1.getSource()==button5){ new Jiemian(); this.dispose(); } } } 5. 修改客房信息 package KF; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Xgkfxx extends JFrame implements ActionListener{ private JLabel label1,label2,label3,label4,label5,label6,label7; private JPanel panel1,panel2,panel3,panel4,panel5,panel6,panel7,panel8,panel9; private JButton button1,button2,button3,button4,button5; private JTextField a,b,c,d,e,f; public Xgkfxx(){ super("客房管理系统"); this.setLocation(400,200); this.setSize(420,380); this.setBackground(java.awt.Color.LIGHT_GRAY); this.getContentPane().setLayout(new FlowLayout(1)); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); panel4=new JPanel(); panel5=new JPanel(); panel6=new JPanel(); panel7=new JPanel(); panel8=new JPanel(); panel9=new JPanel(); button1=new JButton("客房信息查询"); button1.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆 客房 管理 系统 设计 实现 毕业设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文