sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件.docx
- 文档编号:12577214
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:35
- 大小:185.92KB
sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件.docx
《sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件.docx》由会员分享,可在线阅读,更多相关《sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件.docx(35页珍藏版)》请在冰豆网上搜索。
sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件
课程设计
专业班级:
1150201
学生姓名:
李琪萌
学号:
20151020106
题目
酒店客房管理系统
课题性质
其它
课题来源
自拟课题
主要内容
一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:
效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。
课题要求设计并实现一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。
功能应包括:
开房登记、退房结账、房间状态查看、预订房间、预订入住和解除入住、信息的查询等。
界面设计友好,方便用户的操作。
任务要求
综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。
要求根据本课题设计出合理的数据结构,并实现酒店客房管理系统中,开房登记、退房结账、房间状态查看、预订房间、预订入住、解除预订、客人信息的查询等模块。
酒店客房管理系统
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逻辑结构设计
这部分将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);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 酒店客房 管理 系统 设计 说明书 数据库 作业 课程设计 源文件