客房管理系统的设计及实现Word格式.docx
- 文档编号:17188989
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:48
- 大小:375.88KB
客房管理系统的设计及实现Word格式.docx
《客房管理系统的设计及实现Word格式.docx》由会员分享,可在线阅读,更多相关《客房管理系统的设计及实现Word格式.docx(48页珍藏版)》请在冰豆网上搜索。
1.1实验1:
数据库设计实验
1使用SQLServer2008的SQLServerManagementStudio创建数据库
(1)启动SQLServerManagementStudio,如图1所示。
图1SQLServer2008登录示意图
(2)建立数据库
在“对象资源管理器”下,展开数据库节点,在数据库节点下单击右键,选择新建数据库选项,屏幕新建数据库对话框如图2所示,该对话框有三个选择页:
常规、选项和文件组。
图2新增数据库示意图
(3)创建表
在展开的数据库节中,用鼠标中自己建立的数据库,点击右键,选择“新建表”,如图3所示,输入各列的名称、数据类型、是否允许空值,并根据数据库分析设计的结果,对列标签中默认值。
图3新增数据库表示意图
(4)设置表的主键约束和CHECK约束的方法
(5)设置唯一性约束的方法
(6)设置外键约束的方法
(7)实现数据完整性
(8)建立数据库关系图
在SQL主菜单屏幕上,单击工具栏的新建查询按钮,出现SQL命令输入界面,输入SQL命令并运行即可,创建表的SQL指令如下。
/*建立预定信息表*/
CREATETABLE[dbo].[yudingtem](
[id][int]IDENTITY(1,1)NOTNULL,
[TypeName][char](10)NOTNULL,
[Shuliang][int]NULL,
CONSTRAINT[PK_yudingtem]PRIMARYKEYCLUSTERED
(
[TypeName]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
/*建立预定类型表*/
CREATETABLE[dbo].[RoomBookingType](
[BookNumber][char](20)NULL,
[GuestName][char](20)NULL,
[Roomtype][char](10)NULL,
[Fangjiangshu][int]NULL,
[Roomnumber][varchar](100)NULL,
CONSTRAINT[PK_RoomBookingType]PRIMARYKEYCLUSTERED
[id]ASC
/*建立分房表*/
CREATETABLE[dbo].[Fenfango](
[ffid][int]IDENTITY(1,1)NOTNULL,
[RoomNumber][char](10)NULL,
[GuestType][char](10)NULL,
[GuestTel][char](20)NULL,
[TypePrice][numeric](18,0)NULL,
[Deposit][numeric](18,0)NULL,
[BookPrice][numeric](18,0)NULL,
[InTime][char](10)NULL,
[EndTime][char](10)NULL,
[ArriveTime][varchar](50)NULL,
[Quxiao][datetime]NULL,
CONSTRAINT[PK_Fenfango]PRIMARYKEYCLUSTERED
[ffid]ASC
2SQLServer数据库权限的设置
(1)创建WindowsXP的用户账号
(2)使用SQLServerManagementStudio添加Windows登录账户
(3)使用SQLServerManagementStudio添加SQLServer登录账户
3创建数据视图
/*建立预定信息视图*/
CREATEVIEW[dbo].[room]
ASSELECT(
[RoomId],[RoomNumber],[BedNumber],
[RoomType],[RoomTel],[RoomSate],[StatePic],[RoomDesc]
FROMHotelManager
whereroom.RoomId=ronmtype.RoomId
/*建立预定类型视图*/
CREATEVIEW[dbo].[roomtype]
[TypeId],[TypeName]L,[TypePrice],[Ifhourroom],
[Hourroomprice],[Deposit],[DiscountRate],[NowPrice],
[BookPrice],[TypeDesc],
whereroomtype.TypeId=ronmt.TypeId
4创建存储过程
4.1预定信息存储过程(Hotel)
1.添加预定信息记录的存储过程Yding_Add
USE[HotelManager]
Ifexists(selectnamefromsysobjects
wherename='
Hotel_Add'
andtype='
P'
)
dropprocedureHotel_Add;
Go
CREATEPROCEDUREYding_Add
(@IDint,
@TypeNamechar(10),
@shuliangint,
)
AS
BEGIN
INSERTINTOyuding
VALUES(@ID,@TypeName,@shuliang)
END
RETURN
GO
//调用该存储过程
EXECYuding_Add'
1'
'
刘金辉'
Go
2.修改预定信息记录的存储过程Yuding_Update
Yuding_Update'
dropprocedureYuding_Update;
CREATEPROCEDUREYuding_Update
(@YudingIDchar(5),
@Rnamevarchar(8),
@Classvarchar(12),
@AcademyIDchar
(2)
UPDATEYuding
SETYudingID=@YudingID,
Rname=@Rname,
Class=@Class,
AcademyID=@AcademyID
WHEREYudingID=@YudingID
EXECYuding_Update'
110'
12103'
张丹萍'
2010级'
12'
3.删除预定信息记录的存储过程Yuding_Update
Yuding_Delete'
dropprocedureYuding_Delete;
CREATEPROCEDUREYuding_Delete
(@YudingIDchar(5))
DELETEFROMHotelWHEREYudingID=@YudingID
EXECYuding_Delete'
4.2预定类型存储过程(Academy)
1.添加预定类型记录的存储过程Academy_Add
Academy_Add'
dropprocedureAcademy_Add;
CREATEPROCEDUREAcademy_Add
(@AcademyIDchar
(2),
@Academynamevarchar(8)
INSERTINTOAcademy
VALUES(@AcademyID,@Academyname)
EXECAcademy_Add'
05'
中型
1.2实验2:
输入设计实验
以需求规格说明书中要求的环境作为实验环境,如信息系统要求采用C/S模式运行,则安装有数据库服务器以及相应的开发工具软件,并提供计算机网络环境。
若为单机版,则应安装数据库管理系统及相应的软件开发工具。
在预订管理系统中,需要输入的数据包括预订信息、客房预订信息、客户信息等。
项目是VisualStudio的基本组织要素,它把一个应用程序的文件、资源、引用和其他成分组织起来。
1.新建项目
(1)启动VisualStudio2010
(2)创建项目HotelManagerSystem。
在起始页中,选择菜单文件—>
新建—>
项目,出现如图4所示的对话框,选择项目类型VisuanlC#下的Windows,并在模板栏选择“windows窗体应用程序”,在名称框中输入项目名称HotelManagerSystem,并按确定按钮。
图4创建项目HotelManagerSystem示意图
2.预订客房信息设置
预订客房信息设置功能主要用于设置酒店预订客房信息,如订单号号、房间数目、人数、宾客姓名、宾客类型、身份、手机等。
步骤1:
在打开的项目中,选择菜单“项目”—>
添加Windows窗体,进入对话框,输入文件名YD_fenfang.aspx,单击添加,进入VisualC#窗体设计器界面。
步骤2:
在窗体界面上,从工具箱拖放1个GridView控件、2个sqlDataSource控件,并添加分页按钮,设计效果如图5、6、7所示
图5预订客房信息效果示意图
图6预订客房信息实现示意图
图7预订客房信息实现示意图
步骤3:
鼠标左键单击窗体,打开YD_fenfang.aspx.cs的代码编辑窗,在代码开头的using引用不得呢的末尾,添加3个相关命名空间的引用:
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
步骤4:
在YD_fenfang.aspx.cs程序开头的公共局部类的定义publicpartialclassHoutai_Yuding_YD_fenfang:
System.Web.UI.Page中,添加数据库连接代码如下:
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["
connString"
].ConnectionString);
stringdanhao="
"
;
stringfjlx="
步骤5:
编写窗体初始化和窗体加载代码,具体代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
xingming.ReadOnly=true;
binke_lx.ReadOnly=true;
fangjiansl_tb.ReadOnly=true;
didashijian_dd.ReadOnly=true;
ruzhu_rq.ReadOnly=true;
yulishijian_tb.ReadOnly=true;
beizhu.ReadOnly=true;
Label2.Text="
当獭?
前°
选?
择?
房?
间?
数簓量?
:
阰"
+GetCheckBoxNum();
}
protectedvoidLinkButton1_OnClick(objectsender,EventArgse)
LinkButtonmyB=(LinkButton)sender;
intmyIndex=((GridViewRow)myB.NamingContainer).RowIndex;
Session["
xuanzeshu"
]=Convert.ToInt32(GridView1.Rows[myIndex].Cells[1].Text.Trim());
stringfjlx=GridView1.Rows[myIndex].Cells[0].Text.Trim();
Session["
fjlx"
]=fjlx;
SqlDataSource3.SelectCommand="
select*fromroomwhereroomtype='
+fjlx+"
'
andRoomSate='
空?
闲D'
GridView2.DataBind();
protectedvoidLinkButton2_onclick(objectsender,EventArgse)
xingming.Text=GridView3.Rows[myIndex].Cells[3].Text.Trim();
binke_lx.Text=GridView3.Rows[myIndex].Cells[4].Text.Trim();
fangjiansl_tb.Text=GridView3.Rows[myIndex].Cells[1].Text.Trim();
didashijian_dd.Text=GridView3.Rows[myIndex].Cells[13].Text.Trim();
ruzhu_rq.Text=GridView3.Rows[myIndex].Cells[11].Text.Trim();
yulishijian_tb.Text=GridView3.Rows[myIndex].Cells[12].Text.Trim();
beizhu.Text=GridView3.Rows[myIndex].Cells[18].Text;
if(beizhu.Text.Trim()=="
&
nbsp;
beizhu.Text=null;
danhao=GridView3.Rows[myIndex].Cells[0].Text.Trim();
danhao"
]=danhao;
SqlDataSource1.SelectCommand="
select*fromRoomBookingTypewhereBookNumber='
+danhao+"
GridView1.DataBind();
Page.RegisterStartupScript("
script"
"
<
script>
show
(1);
/script>
);
privateintGetCheckBoxNum()
intcheckNum=0;
inteditIndex=0;
for(intn=0;
n<
GridView2.Rows.Count;
n++)
CheckBoxchk=(CheckBox)GridView2.Rows[n].Cells[0].Controls[1];
if(chk.Checked)
checkNum=checkNum+1;
editIndex=n;
if(checkNum==1)
returncheckNum;
elseif(checkNum==0)
return0;
else
protectedvoidCheckBox1_CheckedChanged(objectsender,EventArgse)
if(GetCheckBoxNum()<
GridView2.Rows.Count)
((CheckBox)this.GridView2.HeaderRow.FindControl("
CheckBox2"
)).Checked=false;
)).Checked=true;
protectedvoidCheckBox2_CheckedChanged(objectsender,EventArgse)
for(inti=0;
i<
this.GridView2.Rows.Count;
i++)
((CheckBox)this.GridView2.Rows[i].FindControl("
CheckBox1"
)).Checked=((CheckBox)this.GridView2.HeaderRow.FindControl("
)).Checked;
protectedvoidqueding_Click(objectsender,EventArgse)
if(Session["
]!
=null)
danhao=Session["
].ToString();
conn.Open();
SqlCommandcomm=newSqlCommand("
updateroombookingsetFenfang='
已?
分?
whereBookNumber='
conn);
comm.ExecuteNonQuery();
conn.Close();
GridView3.DataBind();
alert('
成é
功|!
?
)<
Response.Write("
操ù
作痢?
超?
时骸?
!
window.location.href='
YD_fenfang.aspx'
protectedvoidjixu_Click(objectsender,EventArgse)
Response.Redirect("
Yuding.aspx"
true);
protectedvoidadd_bt_Click(objectsender,EventArgse)
stringfjh="
stringbkxm=xingming.Text.Trim();
stringbklx=binke_lx.Text;
stringrzrq=ruzhu_rq.Text.ToString();
stringylrq=yulishijian_tb.Text.ToString();
str
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 系统 设计 实现