版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . 课 程 设 计课程设计名称: 数据库应用系统课程设计 专 业 班 级 :学 生 姓 名 :学号 :指 导 教 师 :课程设计时间:学生专业班级学号题 目酒店客房管理系统课题性质其它课题来源自拟课题指导教师同组无主要容一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。课题要求设计并实现一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。功能应包括:开房登记、退房结账、房间状态查看、预订房间、预订入住和解除入住、信息的查询等。界面设计友好,方便用户的操作
2、。任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,并实现酒店客房管理系统中,开房登记、退房结账、房间状态查看、预订房间、预订入住、解除预订、客人信息的查询等模块。参考文献1 浦生,SQL Server 2005 数据库应用技术,清华大学,20082 黄树生,数据库原理与应用,电子工业,20083 志宇、郭晴,数据库原理与应用教程,清华大学,20104 周新会,ASP 通用模块与典型系统开发,人民邮电,20065 王峰,ASP.NET数据库设计教程,清华大学,2010审查意见指导教师签字:教研室主任签字: 年 月
3、日25 / 27酒店客房管理系统1 概述一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。社会经济的发展,人们之间的交流日益频繁,外出人数的增加,这些都对酒店客房的管理提出了更高的要求,传统的管理方式已经不能够胜任这种工作了。鉴于这种情况,开发一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。应包括以下几个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。2、退房结账:当客人提出退房请求时,工作人员能与时为其结账,并更改此房间的状
4、态。3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。4、预订房间:如果客房比较紧,客人又因某种情况不能与时去开房,这时为了方便这类客人,应该提供预订房间这种服务。5、预订入住:为已经预订过房间的客人办理登记入住。6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。通过以上几个功能,降低工作人员的工作量,提高效率,以实现对客房和客人信息的管理。2 需求分析工作人员登入酒店管理系统后,开始对客房进行管理,工作流程图如下:前台操作预订管理信息查询开房登记退房结账房间状态预订
5、房间预订入住解除预订在住客人预订客人历史客人登 录图1、工作流程图下面是数据字典:字段名数据类型长度主键否描述控件类型namevarchar8否客人TextBoxcerNumvarchar50是证件TextBoxroomIdvarchar10否房号TextBoxinDatevarchar10否入住日期TextBoxoutdatevarchar10否预计离开日期TextBoxpayDatevarchar10否结账离开日期TextBoxpayMentvarchar5否应付金额TextBox表1、住店信息字段名数据类型长度主键否描述控件类型namevarchar8否客人TextBoxsexchar4
6、否性别TextBoxroomIdvarchar10是房号TextBoxroomTypevarchar10否房间类型TextBoxPricevarchar5否价格TextBoxcerTypevarchar10否证件类型TextBoxcerNumvarchar20是证件TextBoxPhonevarchar20否联系TextBoxinDatevarchar20否入住日期TextBoxoutDatevarchar20否预计离开日期TextBox表2、预订信息字段名数据类型长度主键否描述控件类型namevarchar8否客人TextBoxsexchar4否性别TextBoxcerTypevarchar
7、10否证件类型TextBoxcerNumvarchar20是证件TextBoxPhonevarchar20否联系TextBox表3、客人信息字段名数据类型长度主键否描述控件类型roomIdvarchar8是房号TextBoxroomTypevarchar10否房间类型TextBoxpricevarchar5否价格TextBoxmoneyvarchar4否押金TextBoxroomStatevarchar10否房间状态TextBox表4、房间信息上表可以看出,此系统有九个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。2、退房结账:当客人提出退房请求时,工作人员能与时为
8、其结账,并更改此房间的状态。3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。4、预订房间:如果客房比较紧,客人又因某种情况不能与时去开房,这时为了方便这类客人,应该提供预订房间这种服务。5、预订入住:为已经预订过房间的客人办理登记入住。6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。3 概念结构设计此部分生成基本E-R图,可以由局部的ER模型合并成全局的ER模型,注意ER模型的规性,图表的编号。下面是局部的E-R图:客 人XX性别证件类型证件号码联系 图2、客人E
9、-R图房 间房号押金房状态房类型价格图3、房间E-R图住 店预计离开日期入住日期结账离开日期应付金额图4、住店E-R图预 订预计离开日期入住日期图5 、预订E-R图房 间预 订住 店客 人证件号码价 格姓 名离开日期入住日期房 号入住日期离开日期图6、简化的完整E-R图4逻辑结构设计运行环境:WindowsXP下 ,开发语言:.NET和C#这部分将E-R模型转换为关系模式,指明所满足的式并给出理由。客人(,性别,证件类型,证件,联系)房间(房号,房间类型,价格,押金,房号状态)住店(房号,证件,入住日期,预计离开日期,结账离开日期,应付金额)预订(房号,证件,入住日期,预计离开日期)以上四个关
10、系模式属于第三式,因为不存在非主属性。5源代码与系统截图包括程序流程图,数据库方法等,还应当对系统主要功能进行截图。登录界面的截图与代码:图7、登录界面publicpartialclassLogin : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Login_Click(object sender, EventArgs e) string userName = TextBox3.Text;string userPwd = TextBox4.Text;string sele
11、ctStr = "Select * from 用户 where 用户名 ='" + userName + "'"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand cmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = cmd.
12、ExecuteReader();if (sdr.Read() if (sdr.GetString(1) = userPwd) Session"userName" = userName; conn.Close(); Response.Redirect("main.aspx"); else Label1.Text = "您输入的密码错误,请检查后重新输入!" else Label1.Text = "该用户不存在或用户名输入错误,请检查后重新输入!" conn.Close(); 主界面的截图与代码:图8、主界面截图pub
13、licpartialclassmain : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Button1_Click1(object sender, EventArgs e) Response.Redirect("getIn.aspx"); protectedvoid Button2_Click(object sender, EventArgs e) Response.Redirect("getOut.aspx"); protecte
14、dvoid Button3_Click(object sender, EventArgs e) Response.Redirect("roomState.aspx"); protectedvoid Button4_Click(object sender, EventArgs e) Response.Redirect("reservation.aspx"); protectedvoid Button5_Click(object sender, EventArgs e) Response.Redirect("reservationIn.aspx&q
15、uot;); protectedvoid Button6_Click(object sender, EventArgs e) Response.Redirect("reliefReser.aspx"); protectedvoid Button7_Click(object sender, EventArgs e) Response.Redirect("inClient.aspx"); protectedvoid Button8_Click(object sender, EventArgs e) Response.Redirect("reserC
16、lient.aspx"); protectedvoid Button9_Click(object sender, EventArgs e) Response.Redirect("leaveClient.aspx"); protectedvoid Button10_Click(object sender, EventArgs e) Response.Redirect("ModifyPwd.aspx"); protectedvoid Button11_Click(object sender, EventArgs e) Response.Redire
17、ct("Login.aspx"); 判断是否还有剩下房间界面的代码:publicpartialclassgetInNo : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) string selectStr = "" selectStr = "Select * from 房间 where 房间状态 = '空' "SqlConnection conn = newSqlConnection(ConfigurationManager.C
18、onnectionStrings"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read() sdr.Close(); Response.Redirect("getInYes.aspx"); else Response.Redirect("getInNo.aspx&
19、quot;); conn.Close(); 开房界面的截图与代码:图9、开房界面的截图publicpartialclasskaifang : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionStr
20、ing".ConnectionString);SqlCommand insertCmd = newSqlCommand("insert into 住店(客人,证件,房号,入住日期,预计离开日期) values(name,num,roomId,inDate,outDate)", conn);SqlCommand insertCmd1 = newSqlCommand("insert into 客人(,性别,证件类型,证件,联系) values(name,sex,cerType,cerNum,phone)", conn); insertCmd.Par
21、ameters.Add("name", SqlDbType.VarChar, 15); insertCmd.Parameters.Add("num", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("roomId", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("inDate", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("outDate&quo
22、t;, SqlDbType.VarChar, 20); insertCmd.Parameters"name".Value = txtName.Text; insertCmd.Parameters"num".Value = txtCerNum.Text; insertCmd.Parameters"roomId".Value = txtRoomId.Text; insertCmd.Parameters"inDate".Value = txtInDate.Text; insertCmd.Parameters"o
23、utDate".Value = txtOutDate.Text; insertCmd1.Parameters.Add("name", SqlDbType.VarChar, 15); insertCmd1.Parameters.Add("sex", SqlDbType.VarChar, 6); insertCmd1.Parameters.Add("cerType", SqlDbType.VarChar, 20); insertCmd1.Parameters.Add("cerNum", SqlDbType.V
24、arChar, 20); insertCmd1.Parameters.Add("phone", SqlDbType.VarChar, 20); insertCmd1.Parameters"name".Value = txtName.Text; insertCmd1.Parameters"sex".Value = txtSex.Text; insertCmd1.Parameters"cerType".Value = txtCerType.Text; insertCmd1.Parameters"cerNum&
25、quot;.Value = txtCerNum.Text; insertCmd1.Parameters"phone".Value = txtPhone.Text; conn.Open();int flag = insertCmd.ExecuteNonQuery(); insertCmd1.ExecuteNonQuery();if (flag > 0) Label1.Text = "成功提交客人信息!" else Label1.Text = "提交客人信息失败,查看输入是否正确!" conn.Close(); upDate();
26、privatevoid upDate() string roomId = txtRoomId.Text.Trim();string selectStr = ""string updateStr = "" selectStr = "Select * from 房间 where 房号 = '" + roomId + "'" updateStr = "update 房间 set 房间状态 = '已住' where 房号 ='" + roomId + "
27、'"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read() sdr.Close();SqlCommand updateC
28、md = newSqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); conn.Close(); protectedvoid Button2_Click1(object sender, EventArgs e) Response.Redirect("main.aspx"); 退房结账界面的截图与代码:图10、退房结账界面截图publicpartialclasstuifang : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e
29、) protectedvoid Button2_Click(object sender, EventArgs e) string roomId = TextBox1.Text;string selectStr = "select 客人,证件,房号,入住日期,预计离开日期,结账离开日期,应付金额 from 住店 where 房号 = '" + roomId + "' and 状态 is null"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStri
30、ngs"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand cmd = newSqlCommand(selectStr,conn); conn.Open();SqlDataReader dr = cmd.ExecuteReader();if ( dr.Read() ) dr.Close(); GridView1.Visible = true; Button1.Visible = true; Button3.Visible = true; else Label1.Text = "此人已经退过房了!"
31、 dr.Close(); conn.Close(); protectedvoid Button1_Click(object sender, EventArgs e) string roomId = TextBox1.Text.Trim();string selectStr = ""string updateStr = "" selectStr = "Select * from 房间 where 房号 = '" + roomId + "'" updateStr = "update 房间 se
32、t 房间状态 = '空' where 房号 ='" + roomId + "'"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.E
33、xecuteReader();if (sdr.Read() sdr.Close();SqlCommand updateCmd = newSqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); Label1.Text = "成功退房!" conn.Close(); upDate1(); update(); privatevoid update() string roomId = TextBox1.Text.Trim();string selectStr = ""string updateStr =
34、 "" selectStr = "Select * from 住店 where 房号 = '" + roomId + "'" updateStr = "update 住店 set 状态 = '已退房' where 房号 ='" + roomId + "' "SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统Connect
35、ionString".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read() sdr.Close();SqlCommand updateCmd = newSqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); conn.Close(); privatevoid upDate1() string
36、 roomId = TextBox1.Text.Trim();SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionString".ConnectionString);SqlCommand cmd = conn.CreateCommand();string money;string date; conn.Open();int i;for (i = 0; i < GridView1.Rows.Count; i+) date = (Tex
37、tBox)GridView1.Rowsi.FindControl("txtOutDate").Text.Trim(); money = (TextBox)GridView1.Rowsi.FindControl("txtPayMent").Text.Trim(); cmd mandText = "update 住店 set 结账离开日期 = '" + date + "', 应付金额 = '" + money + "' where 房号 = '" + room
38、Id + "'" cmd.ExecuteNonQuery(); conn.Close(); protectedvoid Button3_Click(object sender, EventArgs e) Response.Redirect("main.aspx"); 查看房间状态的截图与代码:图11、房间状态查看界面截图publicpartialclassroomState : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid B
39、utton1_Click1(object sender, EventArgs e) GridView1.Visible = false;string roomId = txtRoomId.Text.Trim();string sqlStr = "select * from 房间 where 房号 = '" + roomId + "'"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionStri
40、ng".ConnectionString);SqlCommand cmd = newSqlCommand(sqlStr, conn); conn.Open();SqlDataReader sdr = cmd.ExecuteReader(); GridView2.DataSource = sdr; GridView2.DataBind(); conn.Close(); protectedvoid Button2_Click(object sender, EventArgs e) Response.Redirect("main.aspx"); 预订房间页面的代码:pu
41、blicpartialclassreservation : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) string selectStr = "" selectStr = "Select * from 房间 where 房间状态 = '空' "SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionSt
42、ring".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read() sdr.Close(); Response.Redirect("reservationYes.aspx"); else Response.Redirect("reservationNo.aspx"); conn.Close(); 成功预订房间的截
43、图与代码:图12、预订房间界面截图publicpartialclassyudingRoom : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionString".ConnectionStr
44、ing);SqlCommand insertCmd = newSqlCommand("insert into 预订(客人,性别,房号,房间类型,价格,证件类型,证件,联系,入住日期,预计离开日期) values(name,sex,roomId,roomType,price,cerType,cerNum,phoneNum,inDate,outDate)", conn); insertCmd.Parameters.Add("name", SqlDbType.VarChar, 15); insertCmd.Parameters.Add("sex&qu
45、ot;, SqlDbType.VarChar, 20); insertCmd.Parameters.Add("roomId", SqlDbType.VarChar, 4); insertCmd.Parameters.Add("roomType", SqlDbType.VarChar, 4); insertCmd.Parameters.Add("price", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("cerType", SqlDbType.VarChar,
46、20); insertCmd.Parameters.Add("cerNum", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("phoneNum", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("inDate", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("outDate", SqlDbType.VarChar, 20); insertCmd.Parame
47、ters"name".Value = txtName.Text; insertCmd.Parameters"sex".Value = txtSex.Text; insertCmd.Parameters"roomId".Value = txtRoomId.Text; insertCmd.Parameters"roomType".Value = txtRoomType.Text; insertCmd.Parameters"price".Value = txtPrice.Text; insertCmd
48、.Parameters"cerType".Value = txtCerType.Text; insertCmd.Parameters"cerNum".Value = txtCerNum.Text; insertCmd.Parameters"phoneNum".Value = txtPhoneNum.Text; insertCmd.Parameters"inDate".Value = txtInDate.Text; insertCmd.Parameters"outDate".Value = txt
49、OutDate.Text; conn.Open();int flag = insertCmd.ExecuteNonQuery();if (flag > 0) Label1.Text = "成功预订房间!" else Label1.Text = "预订房间失败,查看输入是否正确!" conn.Close(); upDate(); privatevoid upDate() string roomId = txtRoomId.Text.Trim();string selectStr = ""string updateStr = &qu
50、ot;" selectStr = "Select * from 房间 where 房号 = '" + roomId + "'" updateStr = "update 房间 set 房间状态 = '预订' where 房号 ='" + roomId + "'"SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings"酒店客房管理系统ConnectionS
51、tring".ConnectionString);SqlCommand selectCmd = newSqlCommand(selectStr, conn); conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read() sdr.Close();SqlCommand updateCmd = newSqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); conn.Close(); protectedvoid Button2_Click(obje
52、ct sender, EventArgs e) Response.Redirect("main.aspx"); protectedvoid txtCerType_TextChanged(object sender, EventArgs e) protectedvoid txtCerNum_TextChanged(object sender, EventArgs e) 预订入住界面的截图与代码:图13、预订入住界面截图publicpartialclassyudingin : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Button2_Click(object sender, EventArgs e) string selectStr1 = "insert into 客人(,性别,证件类型,证件,联系) select 客人,性别,证件类型,证件,联系 from 酒店客房管理系统.dbo.预订"string selectStr2 = "insert into 住店(客人,证件,房号,入住日期,预计离开日期) select 客人,证件,房号,入住日期,预计离开日期 fro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季大学班会课 心理健康与压力管理
- 2026事业单位工勤技能-湖南-湖南计算机操作员四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-湖南-湖南收银员三级(高级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-湖北-湖北食品检验工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-湖北-湖北机械冷加工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-湖北-湖北假肢制作装配工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-海南-海南水工闸门运行工二级(技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-海南-海南园林绿化工二级(技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-浙江-浙江管道工三级(高级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-吉林-吉林造林管护工一级(高级技师)历年参考题库含答案详解3套试卷
- 人教版英语初升高衔接练习及答案
- 人员退休欢送会34
- 中医师承跟师笔记50篇
- NB-T31004-2011风力发电机组振动状态监测导则
- DL-T5498-2015330kV-500kV无人值班变电站设计技术规程
- 四川普通高中会考英语试卷及答案
- 湿疹中医辨证百科知识讲座
- 2022年大同市云州区司法协理员招聘考试真题及答案
- 水路交通运输企业安全生产标准化管理体系方案全套资料汇编(2019-2020新标准实施模板)
- 年产100万吨石灰石项目可行性分析报告
- 高一新生分班考试数学试卷含答案
评论
0/150
提交评论