基于aspnet酒店客房管理系统全套.docx
- 文档编号:11763462
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:31
- 大小:136.98KB
基于aspnet酒店客房管理系统全套.docx
《基于aspnet酒店客房管理系统全套.docx》由会员分享,可在线阅读,更多相关《基于aspnet酒店客房管理系统全套.docx(31页珍藏版)》请在冰豆网上搜索。
基于aspnet酒店客房管理系统全套
设计说明书
课程设计名称:
专业班级:
学生姓名:
学号:
指导教师:
课程设计时间:
酒店客房管理系统
1概述
一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:
效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。
社会经济的发展,人们之间的交流日益频繁,外出人数的增加,这些都对酒店客房的管理提出了更高的要求,传统的管理方式已经不能够胜任这种工作了。
鉴于这种情况,开发一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。
应包括以下几个功能:
1、开房登记:
根据客人的要求为其分配合适的房间,记录客人的基本信息。
2、退房结账:
当客人提出退房请求时,工作人员能及时为其结账,并更改此房间的状态。
3、房间状态:
工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。
4、预订房间:
如果客房比较紧张,客人又因某种情况不能及时去开房,这时为了方便这类客人,应该提供预订房间这种服务。
5、预订入住:
为已经预订过房间的客人办理登记入住。
6、解除预订:
当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。
7、查看相关的信息:
在住客人、预订客人、历史客人信息的查询。
通过以上几个功能,降低工作人员的工作量,提高效率,以实现对客房和客人信息的管理。
2需求分析
工作人员登入酒店管理系统后,开始对客房进行管理,工作流程图如下:
登录
图1、工作流程图
下面是数据字典:
字段名
数据类型
长度
主键否
描述
控件类型
name
varchar
8
否
客人姓名
TextBox
cerNum
varchar
50
是
证件号码
TextBox
roomId
varchar
10
否
房号
TextBox
inDate
varchar
10
否
入住日期
TextBox
outdate
varchar
10
否
预计离开日期
TextBox
payDate
varchar
10
否
结账离开日期
TextBox
payMent
varchar
5
否
应付金额
TextBox
表1、住店信息
字段名
数据类型
长度
主键否
描述
控件类型
name
varchar
8
否
客人姓名
TextBox
sex
char
4
否
性别
TextBox
roomId
varchar
10
是
房号
TextBox
roomType
varchar
10
否
房间类型
TextBox
Price
varchar
5
否
价格
TextBox
cerType
varchar
10
否
证件类型
TextBox
cerNum
varchar
20
是
证件号码
TextBox
Phone
varchar
20
否
联系电话
TextBox
inDate
varchar
20
否
入住日期
TextBox
outDate
varchar
20
否
预计离开日期
TextBox
表2、预订信息
字段名
数据类型
长度
主键否
描述
控件类型
name
varchar
8
否
客人姓名
TextBox
sex
char
4
否
性别
TextBox
cerType
varchar
10
否
证件类型
TextBox
cerNum
varchar
20
是
证件号码
TextBox
Phone
varchar
20
否
联系电话
TextBox
表3、客人信息
字段名
数据类型
长度
主键否
描述
控件类型
roomId
varchar
8
是
房号
TextBox
roomType
varchar
10
否
房间类型
TextBox
price
varchar
5
否
价格
TextBox
money
varchar
4
否
押金
TextBox
roomState
varchar
10
否
房间状态
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、登录界面
publicpartialclassLogin:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidLogin_Click(objectsender,EventArgse)
{
stringuserName=TextBox3.Text;
stringuserPwd=TextBox4.Text;
stringselectStr="Select*from用户where用户名='"+userName+"'";
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandcmd=newSqlCommand(selectStr,conn);
conn.Open();
SqlDataReadersdr=cmd.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、主界面截图
publicpartialclassmain:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click1(objectsender,EventArgse)
{
Response.Redirect("getIn.aspx");
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
Response.Redirect("getOut.aspx");
}
protectedvoidButton3_Click(objectsender,EventArgse)
{
Response.Redirect("roomState.aspx");
}
protectedvoidButton4_Click(objectsender,EventArgse)
{
Response.Redirect("reservation.aspx");
}
protectedvoidButton5_Click(objectsender,EventArgse)
{
Response.Redirect("reservationIn.aspx");
}
protectedvoidButton6_Click(objectsender,EventArgse)
{
Response.Redirect("reliefReser.aspx");
}
protectedvoidButton7_Click(objectsender,EventArgse)
{
Response.Redirect("inClient.aspx");
}
protectedvoidButton8_Click(objectsender,EventArgse)
{
Response.Redirect("reserClient.aspx");
}
protectedvoidButton9_Click(objectsender,EventArgse)
{
Response.Redirect("leaveClient.aspx");
}
protectedvoidButton10_Click(objectsender,EventArgse)
{
Response.Redirect("ModifyPwd.aspx");
}
protectedvoidButton11_Click(objectsender,EventArgse)
{
Response.Redirect("Login.aspx");
}
}
判断是否还有剩下房间界面的代码:
publicpartialclassgetInNo:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
stringselectStr="";
selectStr="Select*from房间where房间状态='空'";
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandselectCmd=newSqlCommand(selectStr,conn);
conn.Open();
SqlDataReadersdr=selectCmd.ExecuteReader();
if(sdr.Read())
{
sdr.Close();
Response.Redirect("getInYes.aspx");
}
else
{
Response.Redirect("getInNo.aspx");
}
conn.Close();
}
}
开房界面的截图及代码:
图9、开房界面的截图
publicpartialclasskaifang:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandinsertCmd=newSqlCommand("insertinto住店(客人姓名,证件号码,房号,入住日期,预计离开日期)values(@name,@num,@roomId,@inDate,@outDate)",conn);
SqlCommandinsertCmd1=newSqlCommand("insertinto客人(姓名,性别,证件类型,证件号码,联系电话)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.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["@outDate"].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.Parameters["@name"].Value=txtName.Text;
insertCmd1.Parameters["@sex"].Value=txtSex.Text;
insertCmd1.Parameters["@cerType"].Value=txtCerType.Text;
insertCmd1.Parameters["@cerNum"].Value=txtCerNum.Text;
insertCmd1.Parameters["@phone"].Value=txtPhone.Text;
conn.Open();
intflag=insertCmd.ExecuteNonQuery();
insertCmd1.ExecuteNonQuery();
if(flag>0)
{
Label1.Text="成功提交客人信息!
";
}
else
{
Label1.Text="提交客人信息失败,查看输入是否正确!
";
}
conn.Close();
upDate();
}
privatevoidupDate()
{
stringroomId=txtRoomId.Text.Trim();
stringselectStr="";
stringupdateStr="";
selectStr="Select*from房间where房号='"+roomId+"'";
updateStr="update房间set房间状态='已住'where房号='"+roomId+"'";
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandselectCmd=newSqlCommand(selectStr,conn);
conn.Open();
SqlDataReadersdr=selectCmd.ExecuteReader();
if(sdr.Read())
{
sdr.Close();
SqlCommandupdateCmd=newSqlCommand(updateStr,conn);
updateCmd.ExecuteNonQuery();
}
conn.Close();
}
protectedvoidButton2_Click1(objectsender,EventArgse)
{
Response.Redirect("main.aspx");
}
}
退房结账界面的截图及代码:
图10、退房结账界面截图
publicpartialclasstuifang:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
stringroomId=TextBox1.Text;
stringselectStr="select客人姓名,证件号码,房号,入住日期,预计离开日期,结账离开日期,应付金额from住店where房号='"+roomId+"'and状态isnull";
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandcmd=newSqlCommand(selectStr,conn);
conn.Open();
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
dr.Close();
GridView1.Visible=true;
Button1.Visible=true;
Button3.Visible=true;
}
else
{
Label1.Text="此人已经退过房了!
";
}
dr.Close();
conn.Close();
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringroomId=TextBox1.Text.Trim();
stringselectStr="";
stringupdateStr="";
selectStr="Select*from房间where房号='"+roomId+"'";
updateStr="update房间set房间状态='空'where房号='"+roomId+"'";
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);
SqlCommandselectCmd=newSqlCommand(selectStr,conn);
conn.Open();
SqlDataReadersdr=selectCmd.ExecuteReader();
if(sdr.Read())
{
sdr.Close();
SqlCommandupdateCmd=newSqlCommand(updateStr,conn);
updateCmd.ExecuteNonQuery();
}
Label1.Text="成功退房!
";
conn.Close();
upDate1();
update();
}
privatevoidupdate()
{
stringroomId=TextBox1.Text.Trim();
stringselectStr="";
stringupdateStr="";
selectStr="Select*from住店where房号='"+roomId+"'";
updateStr="update住店set状态='已退房'where房号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 aspnet 酒店客房 管理 系统 全套