酒店管理系统

Posted WuXuanKun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了酒店管理系统相关的知识,希望对你有一定的参考价值。

--  create 创建
-- alter  更改
--      程序   存储过程名
create proc usp_guestnumbytypename 
--客房类型名称            输出
@typename nvarchar(32) output,
--计数
@count int output
as  --例如
--选择
select @count=count(*) from 
--客房信息表  内部 连接  客房类型表
Room inner join RoomType
--向  客房信息表.客房类型编号=客房类型.客房类型编号
on Room.RoomTypeID=RoomType.TypeID
--内部连接  客人信息表  向  客人信息表.客房编号=客房.客房编号
inner join GuestRecord on GuestRecord.RoomID=Room.RoomID
 --   类型名称=自定义类型名称
where TypeName=@typename
go
--声明局部变量  @count
declare @count int
--声明@typename
declare @typename  nvarchar(32) 
--赋值
set @typename =标准间
set @count=0
--实行  存储过程名  
exec usp_guestnumbytypename @typename output,@count output
--打印
print @count 
print 入住+@typename+的客人总数是:+convert(nvarchar(32),@count)




go
--第二题
--创建  程序
create procedure usp_RoomInfo
--声明@roomnum
 @roomnum int
as 
--判断
if(@roomnum=-1)
 begin
   --查询所有客房信息
   select room.RoomID,Room.BedNum,Room.RoomStateID,TypeName,TypePrice
    from room,roomtype
    where room.roomtypeid=Roomtype.TypeID
 end
else
begin
    select room.RoomID,Room.BedNum,Room.RoomStateID,TypeName,TypePrice
    from room,roomtype
    where room.roomtypeid=Roomtype.TypeID
    and Room.RoomID=@roomnum
end
--调用
exec usp_RoomInfo -1

go

 --第三题
create procedure  usp_DelListByType
  @typeName nvarchar(20)
as
 if not exists  --非  退出
 (
   select RoomTypeId from room  --房间的类型号
   where roomtypeid in 
   (
     select typeid
     from roomtype
     where typename=@typename
   )
 )
 begin
 --删除
    delete from roomtype
    where typeName=@typename
    --返回   错误行数
    return @@rowcount
end
else
return -1

--调用
declare @result int
--实行
exec @result=usp_DelListByType 长包房



if(@result>0)
print 删除酒店客房类型编号是三人间的记录+convert(nvarchar(20),@result)+
else
print @result


go
--第四题
create Proc usp_insertGuestRecord
--声明局部变量
  @identityID nvarchar(20),
  @guestName nvarchar(20),
  @roomID int,
  @resideID int,
  @resideDate datetime,
  @leaveDate datetime,
  @Deposit decimal(18,2)=1000,
  @TotalMoney decimal(18,2),
  @guestID int output
as
 --检查身份证号
  if(len(@identityID)!=18)
  begin
    print 身份证号只能是18位
    return
  end
  --押金的默认值为1000元(在参数的时候已经设置)
  --插入记录
  
  --开始  通过
  begin tran
   declare @ErrorSum int
   --向客人信息表中插入值
   insert into GuestRecord
   values(@identityID,@guestName,@roomID,@resideID,
   @resideDate,@leaveDate,@Deposit,@TotalMoney)
   set @ErrorSum=@ErrorSum+@@Error
   
   --将客人入住房间的当前状态设置为"入住"的状态编号
   declare @roomStateID int
   select @roomStateID=RoomStateID from roomState
   where RoomStateName=已入住
   
   --更新  客人  赋值
   update room set RoomStateID=@roomStateID
   where RoomID=@roomID
   set @ErrorSum=@ErrorSum+@@Error
   if(@ErrorSum>0)
   begin
     rollback tran--回滚事务
   end
   else
   begin
   commit tran   --提交事务
   set @guestID=@@Identity
   end
   
   
   
   go
 --调用
 declare @guestID int
 exec usp_insertGuestRecord 

410523198806267523,李小龙,1008,1,2013-3-11,2013-3-15,500,500,@guestID output
if(@guestID>0)
begin
  print 插入客人记录操作成功
  print 客户编号是+convert(nvarchar(20),@guestID)
end
else
 print 操作失败





 

 

以上是关于酒店管理系统的主要内容,如果未能解决你的问题,请参考以下文章

Java实列 酒店订房管理系统

酒店管理系统-系统构建(三年工作总结)

基于javaweb+jsp的酒店管理系统

java+jsp基于SSM星级酒店管理系统

捷信达酒店管理系统使用说明-预定-快速预定

基于Ecliopse+Mysql+Tomcat开发得酒店预订管理系统