




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 数据库原理及应用设计课程设计 姓 名: 薛沈晨 学 号: 110831223 专业班级: 软件工程082 系 (院): 计算机工程学院 设计时间: 2010.12.202011.12.31 设计地点: 计算机楼一楼机房 成绩:指导教师评语: 签名: 年 月 日课程设计报告 第 21 页,共 21 页一、概述1、项目背景:数据库原理课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义: 宾馆房间管理系统4、开发环境:java,netbeans,sql server2005二、需求分析随着全国宾馆数量的增加和越来越自动化的宾馆设施,对于宾馆的信息管理也越来越复杂,要求也越来越高,因此需要一个全面、详细的宾馆信息管理系统,以便完成对宾馆信息的管理。基于发票、表格等纸介质的手工处理,宾馆信息管理员信息处理工作量大,容易出错。本系统是为了实现宾馆信息管理自动化,更高效、准备地管理,而开发的宾馆信息管理系统。宾馆信息管理系统,可以用集中的数据库将与人力资源管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率在采用和实施宾馆信息管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程。宾馆管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息。采用和实施宾馆信息管理系统不仅仅是为了提高工作效率。同时在使用该系统后,宾馆相关人员可以较为全面、准确的了解到房间和房客们的综合信息,然后方便更具各种信息对宾馆的管理做出各种决策。建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。系统主要包括的功能有:#实现房间预定功能#实现房间类型以及相应收费的管理#实现住客收费账目的管理#实现房间状态的管理三、系统设计 1.要求管理员可以增加和删除操作员的帐户。 2.要求在前台主界面上动态显示数据库中存放的可用房间以及未处理订单,由特定权限的管理员或者用户登录后通过按钮或菜单实现客户订房、退房、和用户添加、修改、删除、查询客房信息等一系列操作。 3.利用JDBC驱动程序连接数据库,修改、存储房客和房间的基本信息。 需求分析图:客房房间信息 客房信息客人预订入住离开预订人信息预订单帐单预定单入住管理帐单管理员E-R图: 姓名身份证号电话房间号客人客房房间价格房间类型姓名房间状态预订人电话订单状态 订单号编号预订 房间号 房间类型房间号姓名入住 入住单号 订单号 房间号离开入住时间消费金额退房时间 数据流图RoomState(RoomNo,RoomState;)房间状态表(房间号,房间状态)RoomStyle(RoomNo,RoomStyle,Prince)房间类型表(房间号,房间类型,房间价格)Book(BookNo,Name,Tel,RoomNo,RoomState)订单表(订单号,预订人姓名,预订人电话,预定房间号,订单状态)Live(LiveNo,ReachTime,RoomNo,Name,CardId)入住单表(入住单号,入住日期,房间号,入住人姓名,入住人身份证号)Account(Name,Password)账户表(账号,密码)数据库设计数据项名称数据类型及长度说明预定人Varchar(50) 不能为空预定人电话Varchar(50)不能为空客人身份证号Varchar(50)不能为空订单号Varchar(50)不能为空入住单号Varchar(50)不能为空客房号Varchar(50)不能为空客房类型Varchar(50)不能为空客房价格Varchar(50)不能为空客房状态Varchar(50)不能为空订单状态Varchar(50)不能为空入住时间Varchar(50)不能为空退房时间Varchar(50)不能为空帐号Varchar(50)不能为空密码Varchar(50)不能为空单价Int不能为空宾馆客房管理系统的数据字典:数据流名称:客人信息来源:客人去向:订单包含的数据项:预定人,姓名,身份证号(宾馆客房管理系统的数据流客人信息) 数据流名称:订单来源:订单去向:入住包含的数据项:订单编号,姓名,身份证号客房类型,预定人,电话,订单状态(宾馆客房管理系统的数据流订单)数据流名称:客房信息来源:订单去向:退房包含的数据项:客房编号,客房类型,客房价格, (宾馆客房管理系统的数据流客房信息)数据流名称:入住单来源:入住去向:退房包含的数据项:入住单号,客房编号,客房类型,入住时间姓名,退房时间,订单编号, (宾馆客房管理系统的数据流入住单)数据流名称:帐单来源:管理员去向:退房包含的数据项:姓名,消费金额,入住时间,退房时间(宾馆客房管理系统的数据流帐单)ROOMSTYLEROOMSTATELIVEKINDBOOKACCOUNT四、系统实现1.用户管理模块a) 用户登录界面对于已经注册的管理员,在进入管理系统之前先要进行登录,在下面的登录界面经过身份验证后才能进入系统操作界面。只有有正确用户名及密码的管理员或者用户才能进入系统界面,对数据库中的信息进行操作。权限分为两种,普通操作员可以进行订房退房操作,超级管理员可以增加和删除操作员账号。private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling code here: if(jRadioButton1.isSelected() Statement sql; ResultSet rs; Connection con; try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) / public int executeUpdate(String sqlStatement); try con=DriverManager.getConnection(jdbc:odbc:sql_server,sa,sa); sql=con.createStatement(); rs=sql.executeQuery(SELECT * FROM Account ); String name=; String password=; String user=; while(rs.next() name= rs.getString(1); password =rs.getString(2); if(jTextField1.getText().equals(name)&jTextField2.getText().equals(password) user=jTextField1.getText(); break; if(user.equals() JOptionPane.showMessageDialog(this,没有此用户!); jTextField1.setText(null); else new GUI().setVisible(true); this.dispose(); con.close(); catch(SQLException e) System.out.println(e); if (jRadioButton2.isSelected() if (jTextField1.getText().equals(admin)&jTextField2.getText().equals(admin) new SuperAdmin2().setVisible(true); this.dispose(); else JOptionPane.showMessageDialog(this,没有此账户!); else if (jRadioButton2.isSelected() b) 添加用户界面首先验证密码和重复密码是不是一致,只有一致才可以进行操作。只有当用户名不为空并数据库中没有该用户名和密码相互一致并不为空时添加用户才能成功,否则都不能成功。新建 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) if(jTextField2.getText().equals(jTextField3.getText() String name=jTextField1.getText(); String password=jTextField2.getText(); String recode=(+name+,+password+); String insertStr=INSERT INTO Account VALUES +recode; Connection con; Statement sql; try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) try con=DriverManager.getConnection(jdbc:odbc:sql_server,sa,sa); sql=con.createStatement(); sql.executeUpdate(insertStr); JOptionPane.showMessageDialog(this,OK!); con.close(); catch(SQLException e) System.out.println(e); else JOptionPane.showMessageDialog(this,密码不一致!); 删除private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling code here: if(jTextField2.getText().equals(jTextField3.getText() Statement sql; ResultSet rs; Connection con; String state=; try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) try con=DriverManager.getConnection(jdbc:odbc:sql_server,sa,sa); sql=con.createStatement(); rs=sql.executeQuery(SELECT * FROM Account ); String name=; String password=; String user=; while(rs.next() name= rs.getString(1); password =rs.getString(2); if(jTextField1.getText().equals(name)&jTextField2.getText().equals(password) String DelStr=DELETE FROM Account WHERE Name=+name+; sql.executeUpdate(DelStr); state=success; break; con.close(); catch(SQLException e) System.out.println(e); if(state.equals(success) JOptionPane.showMessageDialog(this,OK!); else JOptionPane.showMessageDialog(this,账号或密码错误!); else JOptionPane.showMessageDialog(this,密码不一致!); 2. 房间管理模块1) 订房信息管理模块该模块分为订房、退房、换房、基本的房间信息查询,只要登录成功的用户都可以进行此项操作。系统会自动从数据库里把符合要求的房间号取出来以供选择。确认输入信息无误后把订单写入数据库以供下一步使用。 private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling code here: if (jRadioButton1.isSelected() Statement sql; ResultSet rs; Connection con; jComboBox1.removeAllItems(); jComboBox1.addItem(single); jComboBox1.addItem(double); jComboBox3.removeAllItems(); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); String RoomStyle = (String) jComboBox1.getSelectedItem(); String que = SELECT * FROM RoomState,RoomStyle where RoomState.RoomNo=RoomStyle.RoomNo and RoomState=1 and RoomStyle= + + RoomStyle + ; rs = sql.executeQuery(que); while (rs.next() jComboBox3.addItem(rs.getString(1); con.close(); catch (SQLException e) System.out.println(e); 信息符合要求后会自动生成订单号(根据时间)。if (jRadioButton1.isSelected() String strName = (String) jComboBox3.getSelectedItem(); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); sql.executeUpdate(insert into book values + ( + + time + + , + + Name + + , + + Tel + + , + + strName + + , + + ready + + ); String upd = update RoomState set RoomState= + 0 + where RoomNo= + + strName + ; sql.executeUpdate(upd); jComboBox3.removeItem(strName); JOptionPane.showMessageDialog(this, 订单号 + time); con.close(); catch (SQLException e) System.out.println(e); 2) 入住信息管理模块进入入住信息管理模块后系统会自动从数据库中调用还未处理的订单显示出来以供选择,当选中了一个订单号后,系统会把相应的资料显示出来,操作员只需加入身份证号,确认后系统会把这个订单标记为已处理,然后把相应资料加入入住单表。入住时间为加入入住单表时候的系统时间。if (jRadioButton2.isSelected() jComboBox3.setVisible(false); Statement sql; ResultSet rs; Connection con; jComboBox1.removeAllItems(); jComboBox1.addItem(无); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); rs = sql.executeQuery(SELECT * FROM Book where BookState=ready ); while (rs.next() jComboBox1.addItem(rs.getString(1); con.close(); catch (SQLException e) System.out.println(e); else if (jRadioButton2.isSelected() String strName = (String) jComboBox1.getSelectedItem(); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); sql.executeUpdate(insert into Live values + ( + + strName + + , + + ReachTime + + , + + RoomNo + + , + + Name + + , + + CardId + + ); String upd = update book set BookState= + over + where BookNo= + + strName + ; sql.executeUpdate(upd); jComboBox1.removeItem(strName); JOptionPane.showMessageDialog(this, 住宿单号 + strName); con.close(); catch (SQLException e) System.out.println(e); 成功加入入住单时会自动生成住宿单号。3) 退房管理模块进入退房管理模块后系统会把未结单的入住单显示出来,并且把相应的房间号以及入住时间显示在界面上,退房时间是结单时系统的时间。根据房间后系统在后台调出单价然后参与价格的运算并且把结果显示出来。结单后相应房间标记为空闲。可在订房模块中选择。private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling code here: Statement sql; ResultSet rs; Connection con; jComboBox2.removeAllItems(); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); rs = sql.executeQuery(SELECT * FROM Live); while (rs.next() jComboBox2.addItem(rs.getString(1); con.close(); catch (SQLException e) System.out.println(e); else if (jRadioButton3.isSelected() String strName = (String) jComboBox2.getSelectedItem(); try Class.forName(sql_server.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sql_server, sa, sa); sql = con.createStatement(); sql.executeUpdate(delete from Live where LiveNo= + + strName + ); String upd = update RoomState set RoomState= + 1 + where RoomNo= + + RoomNo + ; sql.executeUpdate(upd); jComboBox2.removeItem(strName); JOptionPane.showMessageDialog(this, 住宿单号 + strName + 成功结单); jTextField1.setText(); jTextField9.setText(); jTextField4.set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度财务顾问财务顾问顾问团队能力提升服务协议
- 2025年度对外贸易合同二:国际贸易绿色包装与环保材料采购合同
- 2025版十九组太阳能路灯工程智能化管理系统开发合同
- 2025年度地产代理合同:长租公寓项目
- 2025版室内设计师墙纸师傅定制施工合作协议书
- 贵州省兴仁县2025年上半年事业单位公开遴选试题含答案分析
- 2025版沿街商铺租赁合同(含装修设计、广告投放及物业增值服务)
- 2025版企业间知识产权质押借款合同标准文本
- 2025版临时工劳务合同标准范本
- 2025年光伏发电项目电气设施安装施工合同
- 合伙开公司必签的五份协议
- 八年级地理实验室使用计划
- 公司信息安全知识培训模版课件
- 2024LNG储罐焊缝X射线数字成像检测规范
- DB5117T 22-2020 地理标志产品 米城大米
- 设计概论讲课课件(第三版杨晓琪)
- 小学数学分数四则混合运算200题带答案
- 小学音乐跨学科教学的常见问题与应对策略
- 小红书食用农产品承诺书示例
- 《新能源汽车》课件 课题四 纯电动汽车
- 二年级数学计算题专项练习1000题汇编集锦
评论
0/150
提交评论