




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计课程设计名称: 数据库应用系统课程设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 计算机科学与技术 专业课程设计任务书学生姓名专业班级学号题 目酒店客房管理系统课题性质其它课题来源自拟课题指导教师同组姓名无主要内容一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。课题要求设计并实现一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。功能应包括:开房登记、退房结账、房间状态查看、预订房间、预订入住和解除入住、信息的查询等。界面设计友好,方便用户的操作。任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,并实现酒店客房管理系统中,开房登记、退房结账、房间状态查看、预订房间、预订入住、解除预订、客人信息的查询等模块。参考文献1 张浦生,SQL Server 2005 数据库应用技术,清华大学出版社,20082 黄树生,数据库原理及应用,电子工业出版社,20083 尹志宇、郭晴,数据库原理与应用教程,清华大学出版社,20104 周新会,ASP 通用模块及典型系统开发,人民邮电出版社,20065 王峰,ASP.NET数据库网站设计教程,清华大学出版社,2010审查意见指导教师签字:教研室主任签字: 年 月 日 酒店客房管理系统1 概述一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。社会经济的发展,人们之间的交流日益频繁,外出人数的增加,这些都对酒店客房的管理提出了更高的要求,传统的管理方式已经不能够胜任这种工作了。鉴于这种情况,开发一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。应包括以下几个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。2、退房结账:当客人提出退房请求时,工作人员能及时为其结账,并更改此房间的状态。3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。4、预订房间:如果客房比较紧张,客人又因某种情况不能及时去开房,这时为了方便这类客人,应该提供预订房间这种服务。5、预订入住:为已经预订过房间的客人办理登记入住。6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。通过以上几个功能,降低工作人员的工作量,提高效率,以实现对客房和客人信息的管理。2 需求分析工作人员登入酒店管理系统后,开始对客房进行管理,工作流程图如下:前台操作预订管理信息查询开房登记退房结账房间状态预订房间预订入住解除预订在住客人预订客人历史客人登 录图1、工作流程图下面是数据字典:字段名数据类型长度主键否描述控件类型namevarchar8否客人姓名TextBoxcerNumvarchar50是证件号码TextBoxroomIdvarchar10否房号TextBoxinDatevarchar10否入住日期TextBoxoutdatevarchar10否预计离开日期TextBoxpayDatevarchar10否结账离开日期TextBoxpayMentvarchar5否应付金额TextBox表1、住店信息字段名数据类型长度主键否描述控件类型namevarchar8否客人姓名TextBoxsexchar4否性别TextBoxroomIdvarchar10是房号TextBoxroomTypevarchar10否房间类型TextBoxPricevarchar5否价格TextBoxcerTypevarchar10否证件类型TextBoxcerNumvarchar20是证件号码TextBoxPhonevarchar20否联系电话TextBoxinDatevarchar20否入住日期TextBoxoutDatevarchar20否预计离开日期TextBox表2、预订信息字段名数据类型长度主键否描述控件类型namevarchar8否客人姓名TextBoxsexchar4否性别TextBoxcerTypevarchar10否证件类型TextBoxcerNumvarchar20是证件号码TextBoxPhonevarchar20否联系电话TextBox表3、客人信息字段名数据类型长度主键否描述控件类型roomIdvarchar8是房号TextBoxroomTypevarchar10否房间类型TextBoxpricevarchar5否价格TextBoxmoneyvarchar4否押金TextBoxroomStatevarchar10否房间状态TextBox表4、房间信息上表可以看出,此系统有九个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。2、退房结账:当客人提出退房请求时,工作人员能及时为其结账,并更改此房间的状态。3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。4、预订房间:如果客房比较紧张,客人又因某种情况不能及时去开房,这时为了方便这类客人,应该提供预订房间这种服务。5、预订入住:为已经预订过房间的客人办理登记入住。6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。3 概念结构设计此部分生成基本E-R图,可以由局部的ER模型合并成全局的ER模型,注意ER模型的规范性,图表的编号。下面是局部的E-R图:客 人姓名性别证件类型证件号码联系电话图2、客人E-R图房 间房号押金房状态房类型价格图3、房间E-R图住 店预计离开日期入住日期结账离开日期应付金额图4、住店E-R图预 订预计离开日期入住日期图5 、预订E-R图房 间预 订住 店客 人证件号码价 格姓 名离开日期入住日期房 号入住日期离开日期 图6、简化的完整E-R图4逻辑结构设计运行环境:WindowsXP下 ,开发语言:.NET和C#这部分将E-R模型转换为关系模式,指明所满足的范式并给出理由。客人(姓名,性别,证件类型,证件号码,联系电话)房间(房号,房间类型,价格,押金,房号状态)住店(房号,证件号码,入住日期,预计离开日期,结账离开日期,应付金额)预订(房号,证件号码,入住日期,预计离开日期)以上四个关系模式属于第三范式,因为不存在非主属性。5源代码及系统截图包括程序流程图,数据库链接方法等,还应当对系统主要功能进行截图。登录界面的截图及代码:图7、登录界面public partial class Login : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Login_Click(object sender, EventArgs e) string userName = TextBox3.Text; string userPwd = TextBox4.Text; string selectStr = Select * from 用户 where 用户名 = + userName + ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() if (sdr.GetString(1) = userPwd) SessionuserName = userName; conn.Close(); Response.Redirect(main.aspx); else Label1.Text = 您输入的密码错误,请检查后重新输入!; else Label1.Text = 该用户不存在或用户名输入错误,请检查后重新输入!; conn.Close(); 主界面的截图及代码:图8、主界面截图public partial class main : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click1(object sender, EventArgs e) Response.Redirect(getIn.aspx); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(getOut.aspx); protected void Button3_Click(object sender, EventArgs e) Response.Redirect(roomState.aspx); protected void Button4_Click(object sender, EventArgs e) Response.Redirect(reservation.aspx); protected void Button5_Click(object sender, EventArgs e) Response.Redirect(reservationIn.aspx); protected void Button6_Click(object sender, EventArgs e) Response.Redirect(reliefReser.aspx); protected void Button7_Click(object sender, EventArgs e) Response.Redirect(inClient.aspx); protected void Button8_Click(object sender, EventArgs e) Response.Redirect(reserClient.aspx); protected void Button9_Click(object sender, EventArgs e) Response.Redirect(leaveClient.aspx); protected void Button10_Click(object sender, EventArgs e) Response.Redirect(ModifyPwd.aspx); protected void Button11_Click(object sender, EventArgs e) Response.Redirect(Login.aspx); 判断是否还有剩下房间界面的代码:public partial class getInNo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string selectStr = ; selectStr = Select * from 房间 where 房间状态 = 空 ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand selectCmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = selectCmd.ExecuteReader(); if (sdr.Read() sdr.Close(); Response.Redirect(getInYes.aspx); else Response.Redirect(getInNo.aspx); conn.Close(); 开房界面的截图及代码:图9、开房界面的截图public partial class kaifang : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand insertCmd = new SqlCommand(insert into 住店(客人姓名,证件号码,房号,入住日期,预计离开日期) values(name,num,roomId,inDate,outDate), conn); SqlCommand insertCmd1 = new SqlCommand(insert into 客人(姓名,性别,证件类型,证件号码,联系电话) values(name,sex,cerType,cerNum,phone), conn); insertCmd.Parameters.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, SqlDbType.VarChar, 20); insertCmd.Parametersname.Value = txtName.Text; insertCmd.Parametersnum.Value = txtCerNum.Text; insertCmd.ParametersroomId.Value = txtRoomId.Text; insertCmd.ParametersinDate.Value = txtInDate.Text; insertCmd.ParametersoutDate.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.VarChar, 20); insertCmd1.Parameters.Add(phone, SqlDbType.VarChar, 20); insertCmd1.Parametersname.Value = txtName.Text; insertCmd1.Parameterssex.Value = txtSex.Text; insertCmd1.ParameterscerType.Value = txtCerType.Text; insertCmd1.ParameterscerNum.Value = txtCerNum.Text; insertCmd1.Parametersphone.Value = txtPhone.Text; conn.Open(); int flag = insertCmd.ExecuteNonQuery(); insertCmd1.ExecuteNonQuery(); if (flag 0) Label1.Text = 成功提交客人信息!; else Label1.Text = 提交客人信息失败,查看输入是否正确!; conn.Close(); upDate(); private void upDate() string roomId = txtRoomId.Text.Trim(); string selectStr = ; string updateStr = ; selectStr = Select * from 房间 where 房号 = + roomId + ; updateStr = update 房间 set 房间状态 = 已住 where 房号 = + roomId + ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand selectCmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = selectCmd.ExecuteReader(); if (sdr.Read() sdr.Close(); SqlCommand updateCmd = new SqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); conn.Close(); protected void Button2_Click1(object sender, EventArgs e) Response.Redirect(main.aspx); 退房结账界面的截图及代码:图10、退房结账界面截图public partial class tuifang : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button2_Click(object sender, EventArgs e) string roomId = TextBox1.Text; string selectStr = select 客人姓名,证件号码,房号,入住日期,预计离开日期,结账离开日期,应付金额 from 住店 where 房号 = + roomId + and 状态 is null; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(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 = 此人已经退过房了!; dr.Close(); conn.Close(); protected void Button1_Click(object sender, EventArgs e) string roomId = TextBox1.Text.Trim(); string selectStr = ; string updateStr = ; selectStr = Select * from 房间 where 房号 = + roomId + ; updateStr = update 房间 set 房间状态 = 空 where 房号 = + roomId + ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand selectCmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = selectCmd.ExecuteReader(); if (sdr.Read() sdr.Close(); SqlCommand updateCmd = new SqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); Label1.Text = 成功退房!; conn.Close(); upDate1(); update(); private void update() string roomId = TextBox1.Text.Trim(); string selectStr = ; string updateStr = ; selectStr = Select * from 住店 where 房号 = + roomId + ; updateStr = update 住店 set 状态 = 已退房 where 房号 = + roomId + ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand selectCmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = selectCmd.ExecuteReader(); if (sdr.Read() sdr.Close(); SqlCommand updateCmd = new SqlCommand(updateStr, conn); updateCmd.ExecuteNonQuery(); conn.Close(); private void upDate1() string roomId = TextBox1.Text.Trim(); SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand cmd = conn.CreateCommand(); string money; string date; conn.Open(); int i; for (i = 0; i 0) Label1.Text = 成功预订房间!; else Label1.Text = 预订房间失败,查看输入是否正确!; conn.Close(); upDate(); private void upDate() string roomId = txtRoomId.Text.Trim(); string selectStr = ; string updateStr = ; selectStr = Select * from 房间 where 房号 = + roomId + ; updateStr = update 房间 set 房间状态 = 预订 where 房号 = + roomId + ; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings酒店客房管理系统ConnectionString.ConnectionString); SqlCommand selectCmd = new SqlCommand(selectStr, conn); conn.Open(); SqlDataReader sdr = selectCmd.ExecuteReader();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南昌市劳动保障事务代理中心招聘统计监测劳务外包工作人员1人模拟试卷及完整答案详解一套
- 2025年4月深圳市深汕特别合作区招聘事务员38人模拟试卷(含答案详解)
- 2025河北招聘(选聘)辅助性岗位工作人员13人模拟试卷含答案详解
- 2025福建福州市罗源县卫健系统事业单位招聘控制数卫技人员12人考前自测高频考点模拟试题及一套完整答案详解
- 2025内蒙古民航机场集团有限公司招聘76人模拟试卷及答案详解1套
- 2025内蒙古工业大学事业编制人员招聘20人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025湖北黄石市阳新县卫生健康局招聘公益性岗位人员2人考前自测高频考点模拟试题及参考答案详解1套
- 2025内蒙古应急管理厅选聘应急管理综合行政执法社会监督员的考前自测高频考点模拟试题及完整答案详解一套
- 2025广西壮族自治区体育局机关服务中心招聘编外人员2人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025辽宁沈阳水务集团有限公司“智汇水务”招聘考前自测高频考点模拟试题及答案详解1套
- 《气候中和园区:工业园区的零碳转型指南》
- 2025年驾驶员安全培训考试试题库卷(答案+解析)
- 临床技术操作规范
- 无人机培训课件
- 2025辽宁沈阳副食集团所属企业招聘3人考试参考题库及答案解析
- 200米充电桩施工方案(3篇)
- 劳务人员入厂安全培训课件
- 2025版全新论坛讲座活动承接合同模板下载
- 药店冷链药品知识培训内容课件
- 制造企业物料试用单
- 电力排管检验批
评论
0/150
提交评论