宾馆客房管理系统文档格式.docx
- 文档编号:18416310
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:34
- 大小:1.83MB
宾馆客房管理系统文档格式.docx
《宾馆客房管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《宾馆客房管理系统文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
图4经理管理数据流图
2.2数据字典
根据系统功能模块结构图及典型旅店客房管理系统的需求,总结出来如下的数据字典:
(1)数据项说明
UseInfo(用户信息表):
记录登入系统的用户的身份,姓名和密码。
如下表所示。
表1UserInfo表
数据项名称
含义说明
类型
长度
主键
允许Null
role
登入系统的身份
varchar
10
name
用户名
char
pwd
密码
20
RoomType(客房类型表):
记录客房类型。
表2RoomType表
RoomTypeName
客房类型名称
√
Area
面积
smallint
2
BedNum
床位
Price
价格
money
8
Phone
电话
bit
1
Television
电视
Net
宽带
AirCondition
空调
WashRoom
淋浴间
Toilet
卫生间
Room(房间信息表):
记录房间信息。
表3Room表
RoomID
房间编号
4
RoomPosition
房间位置
PeopleNum
额定人数
FactPeopleNum
实际入住人数
Remark
备注
50
Client(客人信息表):
记录客人的信息。
表4Client表
ClientID
客人ID号码
9
ClientName
客人姓名
sex
客人性别
tel
客人联系方式
11
SID
客人身份证号
18
ClientRecord(客人入住记录表):
记录客人的入住记录。
表5ClientRecord表
客房编号
InDate
客人入住时间
datetime
CheckDate
客人退房时间
TotalMoney
客人结算金额
Employee(员工信息表):
记录员工信息。
表6Employee表
EmployeeName
员工姓名
员工性别
员工联系方式
addr
员工住址
Post
员工职位
员工身份证号
(2)数据流说明
数据流说明如下表所示。
表7数据流说明
数据流名称
含义
来源
去向
组成
登陆
用户进入系统操作
客房管理系统
经理端/前台端
用户名+密码
查询客人
查询客人资料
客人信息表
统计界面
查询房号
查询房间信息
客房信息表
查询空房
查询住房状态
查询入住记录
客人信息表+客房信息表
计算
计算金额
前台端
变更客房类型
修改/删除客房类型
经理端
系统数据库
变更房间信息
修改/删除房间信息
查询员工
查询员工信息
员工信息表
变更员工
修改/删除员工信息
统计
统计住房信息
(3)数据存储说明
数据存储说明如下表所示。
表8数据存储说明
数据存储名称
组成结构
客房类型表
存放客房类型信息
类型名称+额定人数
存放客房当前状态
客房编号+实际人数
存放客人信息
客人信息
入住记录表
存放客房历史的有关信息
客人ID+房间ID+入住时间+结算时间+金额
管理人员表
存放管理员验证信息
存放员工信息
员工信息
3系统设计
3.1概要设计—E-R图
依据客房管理系统的实际情况,考虑了多方面的因素以后,确定系统的E-R图,如图所示:
(1)用户实体属性图(如下图所示)
图5用户实体属性图
(2)客户实体属性图(如下图所示)
图6客户实体属性图
(3)客房类型实体属性图(如下图所示)
图7客房类型实体属性图
(4)房间实体属性图(如下图所示)
图8房间实体属性图
(5)客人入住记录实体属性图(如下图所示)
图9客人入住记录实体属性图
(6)员工实体属性图(如下图所示)
图10员工实体属性图
(7)整体E-R图(如下图所示)
图11整体E-R图
3.2逻辑设计—E-R图实体转换表/联系转换表
用户(身份,姓名,密码)
客房类型(类型名称,面积,床位,价格,电话,电视,宽带,空调,卫生间,淋浴间)
房间信息(客房编号,客房类型,位置,额定人数,床位,实际人数,备注)
客人信息(客人ID,姓名,性别,联系方式,身份证号)
入住记录(客人ID,客人姓名,房间编号,入住时间,退房时间,金额,备注)
员工信息(员工姓名,性别,联系方式,住址,职位,身份证号)
3.3将关系模型转换成SQL中的表
(1)用户信息表
图12用户信息表
(2)客房类型表
图13客房类型表
(3)房间信息表
图14房间信息表
(4)客人信息表
图15客人信息表
(5)入住记录表
图16入住记录表
(6)员工信息表
图17员工信息表
4系统实现
关键代码
1添加/修改功能:
privatevoidbutton5_Click(objectsender,EventArgse)
{
SqlConnectionmyconn=newSqlConnection(Connection.ConnString);
if(textBox1.Text!
="
"
&
&
textBox2.Text!
textBox3.Text!
textBox4.Text!
)
try
Regexregex1=newRegex("
^\\d{1,4}$"
RegexOptions.None);
if((!
regex1.IsMatch(textBox2.Text))||(!
regex1.IsMatch(textBox3.Text))||(!
regex1.IsMatch(textBox3.Text)))
MessageBox.Show("
输入参数的格式有误!
"
提示"
);
panel1.Enabled=false;
return;
}
myconn.Open();
stringroomtypename=textBox1.Text;
intarea=Int32.Parse(textBox2.Text);
intbednum=Int32.Parse(textBox3.Text);
floatprice=Convert.ToSingle(textBox4.Text);
intno1=Convert.ToInt32(checkBox1.Checked);
intno2=Convert.ToInt32(checkBox2.Checked);
intno3=Convert.ToInt32(checkBox3.Checked);
intno4=Convert.ToInt32(checkBox4.Checked);
intno5=Convert.ToInt32(checkBox5.Checked);
intno6=Convert.ToInt32(checkBox6.Checked);
if(create==true)
stringmysql0="
select*fromRoomTypewhereRoomTypeName='
+roomtypename+"
'
;
SqlCommandmycmd0=newSqlCommand(mysql0,myconn);
SqlDataReadermyreader=mycmd0.ExecuteReader();
if(myreader.Read())
房间类型已经存在!
myconn.Close();
myreader.Close();
stringmysql="
insertintoRoomTypevalues('
"
+area+"
+bednum+"
+price+"
+no1+"
+no2+"
+no3+"
+no4+"
+no5+"
+no6+"
)"
SqlCommandmycmd=newSqlCommand(mysql,myconn);
mycmd.ExecuteNonQuery();
添加成功!
else
updateRoomTypesetRoomTypeName='
Area="
BedNum="
Price="
Phone="
Television="
Net="
AirCondition="
WashRoom="
Toilet="
whereRoomTypeName='
+selroomtype+"
修改成功!
UpdateListView();
catch(Exceptionmyex)
MessageBox.Show(myex.ToString());
finally
请将信息填写完整!
2删除功能:
privatevoidbutton3_Click(objectsender,EventArgse)
for(inti=0;
i<
listView1.Items.Count;
i++)
if(listView1.Items[i].Selected==true)
deletefromRoomTypewhereRoomTypeName='
+listView1.Items[i].SubItems[0].Text+"
SqlCommandmycmd=newSqlCommand(mysql,myconn);
删除成功!
3查询功能(精确查询和条件查询)
publicpartialclassRoomSearch:
Form
publicRoomSearch()
InitializeComponent();
privatevoidUpdateListView(stringmysql)
boolempty=true;
listView1.Items.Clear();
SqlDataReadermyreader=mycmd.ExecuteReader(CommandBehavior.CloseConnection);
while(myreader.Read())
empty=false;
ListViewItemli=newListViewItem();
li.SubItems.Clear();
li.SubItems[0].Text=myreader["
RoomID"
].ToString();
li.SubItems.Add(myreader["
RoomTypeName"
].ToString());
RoomPosition"
PeopleNum"
FactPeopleNum"
Remark"
listView1.Items.Add(li);
if(empty)
没有找到符合条件的房间!
privatevoidbutton6_Click(objectsender,EventArgse)
this.Close();
privatevoidRoomSearch_FormClosed(objectsender,FormClosedEventArgse)
Forminitial=newInitialForm();
initial.MdiParent=this.MdiParent;
initial.WindowState=FormWindowState.Maximized;
initial.Show();
privatevoidRoomSearch_Load(objectsender,EventArgse)
selectRoomTypeNamefromRoomType"
SqlDataReadermyreader=mycmd.ExecuteReader();
comboBox1.Items.Add(myreader["
privatevoidbutton1_Click(objectsender,EventArgse)
if(textBox1.Text=="
comboBox1.Text=="
comboBox2.Text=="
comboBox3.Text=="
comboBox4.Text=="
textBox2.Text=="
请至少添写一项内容!
boolfirst=false;
select*fromRoomwhere"
if(textBox1.Text!
="
mysql+="
RoomID='
+textBox1.Text+"
first=true;
if(comboBox1.Text!
if(first==false)
RoomTypeName='
+comboBox1.Text+"
andRoomTypeName='
if(comboBox2.Text!
RoomPosition='
+comboBox2.Text+"
andRoomPosition='
if(comboBox3.Text!
PeopleNum="
+comboBox3.Text;
andPeopleNum="
if(comboBox4.Text!
if(firs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆 客房 管理 系统