


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宾馆客房管理系统个人任务实施细节神马浮云软件09412长春大学软件学院年十二月组员:王光亮1组员:高兴6组员:郑睿明23组员:张立鹏26组员:周鑫39组长:王光亮宾馆客房管理系统个人任务实施细节一、实现步骤与方法1. 使用数据库Access存储数据。2. 系统功能:整个系统分4个模块:(1)登录管理模块:主要实现登录身份的管理、密码管理。(2)客房信息管理:录入房间信息、修改房间信息、查询房间信息,删 除房间信息。(3)客房经营管理:客房使用情况、宾馆订房、客房预订、宾馆退房。(4)客户信息查询:客户信息查询。(5)管理员信息管理:管理员查询、添加、删除。3宾馆客房管理系统的页面由五部分组成:
2、(1)宾馆客房管理系统登陆界面的设计(2)客房管理管理页面的设计(3)客房经营管理页面的设计(4)客户信息查询页面的设计(5)管理员信息管理页面的设计二、所遇到的问题1. 参数传递问题2. 数据库操作问题3. 数组index越界4. 格式转换问题三、程序源代码/ 更改 RoomCatogry 信息public static void updateroom(Message m)Conn ecti on conn=DBHelper.getC onn ecti on();PreparedStateme nt ps=n ull ;try Stringsql=updateRoomCatogrysetRo
3、omType=?,Area=?,BedNum=?,Price=?,AirCo nditio n=?,TV=?,I nternet=?,Status=? where RoomID=?;ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,m.getroomtype();ps.setStri ng(2,m.getarea();ps.setStri ng(3,m.getbed num ();ps.setStri ng(4,m.getprice();ps.setStri ng(5,m.getairc on diti on();ps.setStri ng(6,
4、m.gettv();ps.setStri ng(7,m.geti nternet();ps.setStri ng(8,m.getstatus();ps.setStri ng(9,m.getroomid();ps.executeUpdate();int flag=ps.executeUpdate();if (flag0)JOptio nPane.showMessageDialog(n ull,更改数据成功!); else JOptionPane.showMessageDialog( null,更改失败! ”); catch (Exception e)JOptionPane. showMessag
5、eDialog ( null ,数据库异常!n,JOptio nPa ne.ERROR_MESSAGE; fin allyDBHelper. close (conn, ps);public static void updateroom(Stri ng roomid)Conn ecti on conn=DBHelper.PreparedStateme nt ps= try String sql=updateRoomlD=?;getC onn ecti on();null ;RoomCatogry set Status=空房whereps=c onn. prepareStateme nt(sql)
6、;ps.setStri ng(1,roomid); ps.executeUpdate(); catch (Exception e)数据库异常!JOptionPane. showMessageDialog ( nulln,JOptio nPane.ERROR_MESSAGE; fin allyDBHelper. close (conn, ps);public static void updatestatus(Message m,int f)Conn ecti on conn=DBHelper. PreparedStateme nt ps= String sql =n ull ;try if (f
7、=1)getC onn ecti on null ;();sql=update RoomlD=?;else if (f=2) sql=update RoomID=?;RoomCatogrysetStatus=RoomCatogrysetStatus=预定 where入住 whereps=c onn. prepareStateme nt(sql);ps.setStri ng(1,m.getroomid(); ps.executeUpdate();数据库异常! catch (Exception e)JOptionPane. showMessageDialog ( null n,JOptio nPa
8、 ne.ERROR_MESSAGE; fin allyDBHelper. close (conn, ps);/ 更改 CustomerInfopublic static void updatecustomer(Message m)Conn ecti on conn=DBHelper.getC onn ecti on();PreparedStateme nt ps=n ull ;try setStringsql=updateCustomerI nfoPrice=?,CName=?,CSex=?,CAge=?,Clde ntitylD=?, +CAddress=?,CBookRoomTime=?,
9、CRoomTime=?,CDay=?,CPayMo ney=? where RoomID=?;ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,m.getprice();ps.setStri ng(2,m.getc name();ps.setStri ng(3,m.getcsex();ps.setStri ng(4,m.getcage();ps.setStri ng(5,m.getcide ntityid();ps.setStri ng(6,m.getcaddress();ps.setStri ng(7, m.getcbookroomtime()
10、;ps.setStri ng(8, m.getcroomtime();ps.setStri ng(9, m.getcday();ps.setStri ng(10, m.getcpay mon ey();ps.setStri ng(11,m.getroomid();ps.executeUpdate(); catch (Exception e)JOptionPane.showMessageDialog ( null ,数据库异常!n,JOptio nPa ne.ERROR_MESSAGE; fin allyDBHelper. close (conn, ps);/更改管理员信息public stat
11、ic void updateuser(Message m)Conn ecti on conn=DBHelper.getC onn ecti on();PreparedStateme nt ps=n ull ;try String sql=update UserI nfo set UserName=?, +Password=?,Sex=?,Email=? where UserID=?;ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,m.getuser name();ps.setStri ng(2,m.getpassword();ps.setStr
12、i ng(3,m.getsex();ps.setStri ng(4,m.getemail();ps.setStri ng(5,m.getuserid();int rows=ps.executeUpdate();if (rows0)JOptionPane. showMessageDialog ( null ,更新了 +rows+条数据!); else JOptionPane. showMessageDialog ( null , 更新失败!”); catch (Exception e)JOptionPane.showMessageDialog ( null ,数据库异常!n,JOptio nPa
13、 ne.ERROR_MESSAGE); fin allyDBHelper. close (conn, ps);四、设计总结这次课程设计是我认识到了自己知识点上的不足。熟悉掌握了 MyEclipse的界 面与操作过程。把自己这个学期所学的知识进行了一次系统的总结与查收。 既锻 炼了我的思维能力,又增加了团队合作的意识。我还深刻认识到了自身的不足。要设计好一个程序,如果前期的分析与设计没 有做好,就会延误后续的工作,影响最终的设计效果。对于本次命题,细节处更需考虑与修改完善,还需后期的努力学习与提升自己的能力。组员:高兴宾馆客房管理系统个人任务实施细节一、实现步骤与方法首先,大概了解所需要的功能,
14、设计出整个 E-R图,确定图中的各个属性以及 各属性之间的联系。我所负责的内容主要包括客房信息管理、 客房经营管理、客 户信息查询、管理员信息管理。这些为后面的逻辑结构设计打下基础。利用数据库与JAVA语言来实现以上这些功能。主要的 E-R图如下:录入雳间信鼠rlL查询房间信息客居使用情况宾馆订房-TT-客户信息查询-管理员查询L管胃霜理员聖-所遇到的问题连接数据库不太会,知识点模糊数据库语言生疏,总是出错格式转换的问题越界的问题二、程序源代码package ccu.hotelsystem.c on trol;import java.sql.C onnection;import java.sq
15、l.PreparedStateme nt;import java.sql.ResultSet;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Vector;import javax.swi ng.JOptio nPane;import ccu.hotelsystem.db.DBHelper;public class DAO public static int roomtype num;/ 类型房间数目public static int roo m
16、num;/总房间数目public static String mon ey;public static boolea n isUser(Stri ng userid,Stri ng passwordConnection conn=n ull;PreparedStateme nt ps = n ull;tryconn=DBHelper.getC onnection();ps=c onn. prepareStateme nt(select Password from UserI nfo whereUserID=?);ps.setStri ng(1,userid);ResultSet rs=ps.e
17、xecuteQuery();/执行SQL语句,获得查询结果集if (rs. next() & rs.getRow()0)/查询到用户信息String password1=rs.getStri ng(1);/获得密码if (password1.equals(password)return true;/密码正确返回trueelseps.setStri ng(1,m.getroomid();,JOptio nPa ne.ERROR_MESSAGE);return false;else无此用户数据库异常!JOpti onPan e.showMessageDialog( null,JOptio nPa
18、ne.ERROR_MESSAGE);return false;catch(Excepti on ex)JOptio nPan e.showMessageDialog( null,n,JOptio nPa ne.ERROR_MESSAGE);return false;fin allyDBHelper.close(c onn, ps);/添加public static void in sertroom(Message m)Connection conn=DBHelper.getC onnection();PreparedStateme nt ps=n ull;tryStringsql=i nser
19、tintoRoomCatogry(RoomlD,RoomType,Area,BedNum,Price,AirCo nditio n, TV,I nternet,S tatus) +values(?,?,?,?,?,?,?,?,?);ps=c onn. prepareStateme nt(sql);ps.setStri ng(2,m.getroomtype();ps.setStri ng(3,m.getarea();ps.setStri ng(4,m.getbed num ();ps.setStri ng(5,m.getprice();ps.setStri ng(6,m.getairc on d
20、iti on();ps.setStri ng(7,m.gettv();ps.setStri ng(8,m.geti nternet();ps.setStri ng(9,m.getstatus();int flag=ps.executeUpdate();if (flag0)添加成功!);添加失败!);数据库异常!JOpti onPan e.showMessageDialog( null,elseJOpti onPan e.showMessageDialog( null,catch(Excepti on e)JOptio nPan e.showMessageDialog( null,n,JOpti
21、o nPa ne.ERROR_MESSAGE);fin allyDBHelper.close(c onn, ps);/按RoomID删除public static void deleteroom(Stri ng roomid)Connection conn=DBHelper.getC onnection();PreparedStateme nt ps=n ull;tryStri ng sql=delete from RoomCatogry where RoomlD=? ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,roomid);int fl
22、ag=ps.executeUpdate();if (flag0)JOpti onPan e.showMessageDialog( null,删除+flag+条数据!);elseJOpti onPan e.showMessageDialog( null,删除失败!);catch(Excepti on e)JOptio nPan e.showMessageDialog( null,数据库异常n,JOptio nPa ne.ERROR_MESSAGE);fin allyDBHelper.close(c onn, ps);/更改public static void updateroom(Message
23、 m)Connection conn=DBHelper.getC onnection();PreparedStateme nt ps=n ull;tryStringsql=updateRoomCatogryRoomType=?,Area=?,BedNum=?,Price=?,AirCo nditio n=?,TV=?,I nternet=?,Status =? where RoomID=?;ps=c onn. prepareStateme nt(sql);setps.setStri ng(1,m.getroomtype();ps.setStri ng(2,m.getarea();ps.setS
24、tri ng(3,m.getbed num ();ps.setStri ng(4,m.getprice();ps.setStri ng(5,m.getairc on diti on();ps.setStri ng(6,m.gettv();ps=c onn. prepareStateme nt(sql);更改数据成功!);更改失败!);数据库异常!预定where RoomlD=?;入住where RoomID=?;ps.setStri ng(8,m.getstatus();ps.setStri ng(9,m.getroomid();ps.executeUpdate();int flag=ps.e
25、xecuteUpdate();if (flag0)JOpti onPan e.showMessageDialog( null,elseJOpti onPan e.showMessageDialog( null,catch(Excepti on e)JOptio nPan e.showMessageDialog( null,n,JOptio nPa ne.ERROR_MESSAGE);fin allyDBHelper.close(c onn, ps);public static void updatestatus(Message m,i nt f)Connection conn=DBHelper
26、.getC onnection();PreparedStateme nt ps=n ull;String sql = n ull;tryif(f=1)sql=update RoomCatogry set Status=else if(f=2)sql=update RoomCatogry set Status=ps.setStri ng(1,m.getroomid();ps.executeUpdate();catch(Excepti on e)JOptio nPa ne.showMessageDialog( null,数据库异n,JOptio nPa ne.ERROR_MESSAGE);fin
27、allyDBHelper.close(c onn, ps);/按RoomID查询,返回数据public static Vector queryroomid(Stri ng roomid)Connection conn=n ull;PreparedStateme nt ps=n ull;tryVector vector=new Vector();conn=DBHelper.getC onnection();whereps=c onn. prepareStateme nt(select* from RoomCatogryRoomlD=+roomid+);ResultSet rs=ps.execut
28、eQuery();int rows=0;/while (rs. next() & rs.getRow()0)遍历结果集/Vector row=new Vector ();创建存放记录的 hang向量rows+;/为记录向量赋值for(intcol=1;col0)JOpti onPan e.showMessageDialog( null,据! ”);elseJOpti onPan e.showMessageDialog( null,return vector;查询到了 +rows+条数没有查询到数据!);catch(Excepti on e)JOptio nPan e.showMessageDi
29、alog( null, 查询 失 败!n+e.getMessage();return n ull;fin allyDBHelper.close(c onn, ps);/ 按 RoomType查询public static Vector queryroomtype(Stri ng roomtype)Connection conn = n ull;PreparedStateme nt ps=n ull;tryVector vector=new Vector();/创建存放数据的向量conn=DBHelper.getC onn ecti on();/ 获得数据连接/创建PreparedStateme
30、nt 对象,并传递 SQL语句ps=c onn. prepareStateme nt(selectfrom RoomCatogry whereRoomType=+roomtype+);ResultSet rs=ps.executeQuery();执行int rows=0;while (rs. next() & rs.getRow()0)遍历结果集Vector row=new Vector ();创建存放记录的 hang向量rows+;/为记录向量赋值forcol=1;col0)JOpti onPan e.showMessageDialog( null,据! ”);elseJOpti onPan
31、 e.showMessageDialog( null,return vector;返回数据向量catch(Excepti on ex)JOptio nPan e.showMessageDialog( null,n+ex.getMessage();return n ull;SQL语句,获得查询结果集/(int全部记录! !/查询到了 +rows+条数没有查询到数据!);/查询 失败!fin allyDBHelper.close(c onn, ps);/按Status查询返回数组public static Vector querystatus(Stri ng status)Connection c
32、onn = n ull;PreparedStateme nt ps=n ull;tryVector vector=new Vector();/创建存放数据的向量conn=DBHelper.getC onn ecti on();/获得数据连接/创建PreparedStatement 对象,并传递 SQL语句ps=c onn. prepareStateme nt(select* from RoomCatogry whereStatus=+status+);ResultSet rs=ps.executeQuery();执行 SQL语句,获得查询结果集int rows=0;while (rs. nex
33、t() & rs.getRow()0)/遍历结果集Vector row=new Vector ();/创建存放记录的hang 向量rows+;/为记录向量赋值for(intcol=1;col0)JOpti onPan e.showMessageDialog( null./查询到了 +rows+条数据! ”);JOpti onPan e.showMessageDialog( null,没有查询到数据!);else/return vector;返回数据向量catch(Excepti on ex)JOptio nPan e.showMessageDialog( null,II查询 失n+ex.get
34、Message();return n ull;fin allyDBHelper.close(c onn, ps);/按房间类型与房间状态查询public static Vector queryroomtypestatus(Stri ng roomtype,Stri ng status)Connection conn = n ull;PreparedStateme nt ps=n ull;tryVector vector=new Vector();/创建存放数据的向量conn=DBHelper.getC onn ecti on();/获得数据连接/创建PreparedStatement 对象,并
35、传递 SQL语句ps=c onn. prepareStateme nt(select* from RoomCatogry where返回数据向量Status=+status+ and RoomType=+roomtype+);ResultSet rs=ps.executeQuery();/执行SQL语句,获得查询结果集int rows=0;while (rs. next() & rs.getRow()0)/遍历结果集Vector row=new Vector ();/创建存放记录的 hang向量rows+;/为记录向量赋值for(intcol=1;col0)JOptio nPan e.show
36、MessageDialog( nu II,查询到了 +rows+条数据!);elseJOptio nPan e.showMessageDialog( nu II,没有查询到数据!);return vector;/catch(Excepti on ex)JOptio nPan e.showMessageDialog( null,II查询 失败!n+ex.getMessage();return n ull;fin allyDBHelper.close(c onn, ps);public static Object queryroomtypestatus1(String roomtype,Strin
37、g status)roomtype num=0;Connection conn = n ull;PreparedStateme nt ps=n ull;tryconn=DBHelper.getC onn ecti on();/ 获得数据连接/创建PreparedStatement 对象,并传递 SQL语句ps=c onn. prepareStateme nt(select* from RoomCatogry whereStatus=+status+ and RoomType=+roomtype+);ResultSet rs=ps.executeQuery();执行 SQL语句,获得查询结果集w
38、hile (rs. next() & rs.getRow()0)/遍历结果集roomtype nu m+;retur n roomtype num;catch(Excepti on ex)JOptio nPa ne.showMessageDialog( null,查 询 失 败!n+ex.getMessage();return n ull;fin allyDBHelper.close(c onn, ps);/返回查询数组public static Vector queryroom()Connection conn = n ull;PreparedStateme nt ps=n ull;tryV
39、ector vector=new Vector();/创建存放数据的向量conn=DBHelper.getC onn ecti on();/获得数据连接/创建PreparedStatement 对象,并传递 SQL语句ps=c onn. prepareStateme nt(select * from RoomCatogry);ResultSet rs=ps.executeQuery();/ 执行SQL语句,获得查询结果集while (rs. next() & rs.getRow()0)/遍历结果集Vector row=new Vector ();/创建存放记录的 hang向量/为记录向量赋值f
40、or(intcol=1;col0)* from RoomCatogry where/遍历结果集roomtype nu m+;/将记录向量添加到数据向量retur n roomtype num;/ 返回数据向量catch(Excepti on ex)JOptio nPa ne.showMessageDialog( null,查 询 失 败!n+ex.getMessage();return n ull;fin allyDBHelper.close(c onn, ps);public static Object price(Stri ng roomtype)money=nu II;Connectio
41、n conn = n ull;PreparedStateme nt ps=n ull;tryconn=DBHelper.getC onn ecti on();/获得数据连接ps=c onn. prepareStateme nt(select where RoomType=+roomtype+);ResultSet rs=ps.executeQuery();/sum(Price) from RoomCatogry执行SQL语句,获得查询结果集rs.n ext();mon ey=rs.getStri ng(1);return mon ey;返回数据向量/catch(Excepti on ex)JO
42、ptio nPan e.showMessageDialog( null, 查询 失 败!n+ex.getMessage();return n ull;fin allyDBHelper.close(c onn, ps);四、设计总结这次的课程设计是对自身的一次提高,通过这次课程设计使我对JAVA语言更加的熟悉以及掌握了 MyEclipse的操作过程。既锻炼了自己写程序的能力也训练 了我的逻辑思维,还是我认识的团队合作的重大作用和必要性。再次我还看到了我身上的许多不足,知识积累太少不分内容很不熟悉等等。 所以以后我还得努力 学习以及积累经验。组员:郑睿明宾馆客房管理系统个人任务实施细节一、实现步骤
43、与方法步骤:首先,考虑在系统中什么地方需要用到删除这一功能,然后,根据系 统的要求设计出相应的程序代码,最后,经过和组内成员的共同调试最终将程序 放入系统之中并运行。方法:通过查找相关的资料和向老师同学咨询,逐个解决程序中出现的问题, 完善自己的程序,使之更能适应整个系统。具体到代码时,创建一个deleteroom函数,在函数中首先利用Co nn ection创建一个数据库连接,然后用trycatch语 句捕获异常类型为JOptionPane.showMessageDialog的异常,最后利用 DBHelper.close 关闭。二、所遇到的问题(1) 数据库连接错误(2) 对数据库相关语法不
44、了解(3) 对 JOptionPane.showMessageDialog会运用二、程序源代码按RoomID对房间基本信息的删除操作public static void deleteroom(Stri ng roomid)Conn ecti on conn=DBHelper.getC onnection();PreparedStateme nt ps=n ull;tryStri ng sql=delete from RoomCatogry where RoomID=?ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,roomid);int fla
45、g=ps.executeUpdate();if (flag0)删除+flag+条数据!);删除失败!);数据库异常JOptio nPan e.showMessageDialog( null, elseJOptio nPan e.showMessageDialog( null, catch(Excepti on e)JOptio nPan e.showMessageDialog( nu II,n,JOptio nPa ne.ERROR_MESSAGE); fin allyDBHelper.close(c onn, ps);按房间号码roomid对客户信息的删除操作public static vo
46、id deletecustomer(Stri ng roomid)Conn ecti on conn=DBHelper.getC onnection(); PreparedStateme nt ps=n ull;tryStri ng sql=delete from CustomerI nfo where RoomlD=?; ps=c onn. prepareStateme nt(sql);ps.setStri ng(1,roomid);int flag=ps.executeUpdate();if (flag0)JOptio nPan e.showMessageDialog( null,else
47、JOptio nPan e.showMessageDialog( null,catch(Excepti on e)JOptio nPan e.showMessageDialog( nu II,n,JOptio nPa ne.ERROR_MESSAGE);fin allyDBHelper.close(c onn, ps);II删除成功!删除失败!”););库异常!按UserID对管理员的删除操作public static void deleteuser(Stri ng userid)Conn ecti on conn=DBHelper.getC onnection(); PreparedStateme nt ps=n ull;tryStri ng sql=del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年民办教育机构合规运营与品牌建设教育投资风险控制体系报告
- 2025年教育信息化基础设施建设中的资金投入与分配策略报告
- 2025年老年教育课程改革与生活化教学模式探索001
- 2025至2030年中国智慧银行市场评估分析及发展前景调研战略研究报告
- 解析卷-人教版8年级数学上册《轴对称》专题测试试题(解析版)
- 邮政行业职业技能鉴定试题【综合卷】附答案详解
- 2025版社区书画展活动场地租赁与展览服务合同
- 2025年度独家代理存量房屋买卖经纪服务合同
- 2025年新型办公家具定制与装修一体化合同
- 2025年度大型工程现场综合安保与消防安全服务合同
- 2025-2030中国细胞分选机行业市场发展趋势与前景展望战略研究报告
- 中国特色社会主义知识点总结中职高考政治一轮复习
- 《界面设计》课件
- 2024年家政服务业职业技能大赛家庭照护赛项技术工作文件
- 北师大版五年级下册分数加减法简便计算400道及答案
- 部编语文八年级培训
- 《思想道德修养与法律基础》整体教学设计
- 联合作战基础知识
- 基于BIM技术的全过程协同与管理课件
- 口腔门诊消防安全培训
- 2025纪检监察综合业务知识考试题题库及参考答案
评论
0/150
提交评论