第一篇:酒店管理系统课程设计
软件开发环境与工具
课程设计
实验题目:酒店管理系统 指导老师:南丽丽
专业班级:计算机科学与技术系1105班 姓 名:陈阿艳(2011100516)
王媛(2011100529)
闫丽颖(2011100503)樊建红(2011100515)2013年 12月13日
目录
第一章…………………………………前言
1.1…………………………………………………选题背景
1.2…………………………………………………课题研究的目的和意义
1.3…………………………………………………本文的研究内容
1.4…………………………………………………国内外现状
第二章…………………………………开发环境及工具介绍 2.1………………………………………………..Visual Basic.NET简介
2.2…………………………………………............SQL Server2005 第三章…………………………………系统分析
3.1…………………………………………………..可行性分析
3.2…………………………………………………...需求分析
3.2.1…………………….酒店管理部分
3.2.1.1……………..客户管理
第四章…………………………………数据库设计
4.1…………………………………………………..数据库设计截图 4.2………………………………………………….权限设置 4.3………………………………………………….客户信息表 4.4………………………………………………….房态表 4.5………………………………………………….结算表
第五章…………………………………系统实现
5.1…………………………………………………登陆
5.2…………………………………………………客户入住
5.3…………………………………………………客户结算退房
5.4…………………………………………………以“老板”为例,展示系统功能
第六章…………………………………主要代码 第七章…………………………………总结
第1章 前 言
1.1 选题背景
酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国在2020年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在甚至还有一些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此,要想使酒店的工作质量和效率提高,采用先进的计算机网络 通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。
酒店管理系统采用B/S结构。按照按国家星级宾馆标准化业务程序流式设计,会采用主流开发工具来开发,搭建比较稳定可靠安全的服务端来辅佐客户管理,并且还采用数据库mysql,会通过测试用例来达到测试效果,技术支持会采用轻量级框架struts和hibernate持久化来完成,服务器采用tomcat,通过powerdesigner来设计数据模型为最初业务流程的概念设计阶段和详细设计阶段打好基础[1]。
1.2 课题研究的目的和意义
对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行 3 业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求[2]。
1.3 本文的研究内容
课程设计选题《酒店管理系统》主要研究了:酒店业务的管理(划分为,登陆界面部分,查询界面部分,入住界面部分,退房界面部分)。
1.4 国内外现状
随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。各地把旅游业当作本 地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更 加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。
随着Internet技术的进一步发展和普及,不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发 展中的酒店的需求。基于WEB的酒店管理系统的总体设计目标能够建立完善、高效、可靠的酒店业务信息系统,为酒店提供良好的信息环境[3]。
第2章 开发环境及工具介绍
2.1Visual Basic.NET简介
Visual Basic.NET通常缩写为VB.NET,在某些特定情况下也直接简称VB,比如在.NET这个大话题下或者与其他.NET语言一起讨论的时候。
Visual Basic.NET属Basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,有时候你会觉得写VB.NET代码就好像在写英文句子一样,从这个角度来说,VB.NET似乎是最高级的一门编程语言,当然在Basic系语言中VB.NET也确实是迄今为止最强大的一门编程语言。
Visual Basic.NET的应用范围包括windows桌面、web以及当下突然觉醒的正在奋力追赶的第三大移动平台Windows phone。
2.2 SQL Server2005 SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNⅨ操作系统上的应用。
Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
第3章
系统分析
3.1 可行性分析
随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济 效益和社会效益。为此,国家建设部已于最近作出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,酒店管理电脑化 势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。
一个成熟的酒店管理系统不仅仅是记录酒店客人的信息,提供查询,报表打印等一系列简单的工作,它能让工作人员从烦琐的手工操作中解脱,并且酒店管理系统本 身就代表着一种管理方法。随着它的深入,将带动企业的运做,为管理和决策提供支持。为了达到这个要求,它必须依靠高起点的硬件环境和软件开发工具来保证系 统的稳定和正常运行。酒店电脑系统要求24小时连续运行,数据量大,可靠性要求高,因此整个电脑系统供电采用专线方式,加配UPS(不间断供电系统),并合理接地,以便保障整套系统的正常运行[7]。
3.2 需求分析
系统需对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。另外,允许用户对自己的密码进行修改。
系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修改。
在进行入住/退房管理时,系统可以根据客房当前的状态自动提示可用服务(入住/退房)。如果客房没有客人入住,则该客房的可用服务为“入住”;否则,可用服务为“退房”。
系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。系统还需要有较好的安全性和可扩展性[8]。
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。
整个系统可以分为2大部分。酒店网站部分(客户服务网站)和酒店管理部分(管理员部分)。本系统只做了有关酒店管理的一部分。3.2.1 酒店管理部分
1.客房管理: 预订客房管理、客房查询、退房管理。
前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括预定管理、客户信息查询,入住管理,退房管理功能。
第四章 数据库设计
4.1 数据库设计截图
4.2权限设置
4.3客户信息表
4.4房态表
4.5结算表
第5章 系统实现
5.1登陆
分别用三种身份登陆,所得到的权限也就不同
老板经理员工
5.2客户入住(通过添加客户信息,自动计算应付房费)
5.3客户结算退房
5.4以“老板”为例,展示系统功能
(1)查询房态
住着人的房间有:
通过房间号查某间房的房态
(2)职工管理
添加职工
设置权限
第登陆
Public Class Login
Private Sub Btn_Login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_Login.Click
Data_Access.User_info.LoginUser_info.User_id = Me.Txt_Name.Text
Data_Access.User_info.LoginUser_info.User_pwd = Me.Txt_pwd.Text
Dim s As Integer
s = Business_Logic_Layer.Data_Check.User_Check
If s = 1 Then
MsgBox(“欢迎使用假日酒店管理系统”, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
Main_Form.Show()
Me.Close()
Else
If s =-1 Then
MsgBox(“用户名错误!”, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
Else
MsgBox(“密码错误!”, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
End If
End If
End Sub
6章 主要代码
Private Sub Btn_Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_Cancel.Click
Me.Close()
End Sub
Private Sub Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
End Sub End Class
主界面
Public Class Main_Form
Private Sub Main_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Call Init_Tree()
End Sub
Public Sub Init_Tree()
Me.TreeV.Nodes.Clear()
Dim s As String
s = “select * from gg_Menu where isStop='0'”
Dim dr As SqlClient.SqlDataReader
dr = myCommon.getData.get_dr(s)
Dim myNode As TreeNode
While dr.Read
myNode = New TreeNode
myNode.Text = dr.Item(“MenuName”)
If Business_logic_layer.Judge.Judge_Auth(dr.Item(“Typeid”))= False Then
Continue While
End If
myNode.Name = dr.Item(“Typeid”)
If dr.Item(“isGroup”)= “0” Then
myNode.Tag = dr.Item(“Form”)
Else
myNode.Tag = “"
End If
If dr.Item(”Parid“)= ”0“ Then
Me.TreeV.Nodes.Add(myNode)
Else
If Me.TreeV.Nodes.Find(dr.Item(”Parid“), True).Length > 0 Then
Me.TreeV.Nodes.Find(dr.Item(”Parid“), True)(0).Nodes.Add(myNode)
End If
End If
End While
dr.Close()
End Sub
Private Sub TreeV_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs)Handles TreeV.AfterSelect
If e.Node.Tag = ”“ Then Exit Sub
Dim formName As String
formName = ”Hotel_Manager.“ & e.Node.Tag
Dim f As Form
'
f = CType(Activator.CreateInstance(Type.GetType(formName)), Form)
f.Show()
f.MdiParent = Me
f.WindowState = FormWindowState.Maximized
End Sub
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 注Á¡é销¨²ToolStripMenuItem.Click
Data_Access.User_info.LoginUser_info.User_id = ”“
Data_Access.User_info.LoginUser_info.User_name = ”“
Data_Access.User_info.LoginUser_info.User_pwd = ”“
Login.Show()
Me.Close()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Timer1.Tick
Me.Tool_lb_name.Text = ”登陆者“ & Data_Access.User_info.LoginUser_info.User_name
Me.Tool_lb_date.Text = ”日期“ & Format(Now, ”yyyy-MM-dd“)
Me.Tool_lb_time.Text = ”时间“ & Format(Now, ”long time“)
End Sub
Private Sub 退出ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 退出ToolStripMenuItem1.Click
Me.Close()
End Sub End Class 入住
Public Class Ruzhu_login
Private Sub Ruzhu_login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Me.Txt_no.Text = myCommon.getNewCode.get_NewCode
Call Init_Cbox()
End Sub
Private Sub Cbox_type_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Cbox_type.SelectedIndexChanged
Dim s As String
s = ”select * from Fang where Fang_state='空' and Fang_type='“ & Me.Cbox_type.Text & ”'“
Dim dr As SqlClient.SqlDataReader
dr = myCommon.getData.get_dr(s)
Cbox_fang_no.Items.Clear()
While dr.Read
Cbox_fang_no.Items.Add(dr!Fang_num)
Txt_yajin.Text = dr!Fang_yajin
Txt_danjia.Text = dr!Fang_price
End While
dr.Close()
End Sub
Private Sub Btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_ok.Click
Dim s As String
Dim ID_Card As String
ID_Card = Me.Txt_ID.Text
Dim cAge As Integer
cAge = myCommon.getAge.get_age(ID_Card)
Dim stoptime As String
stoptime = ”0000/00/00 00:00:00“
s = ”insert into Customer values('“ & Txt_no.Text & ”','“ & Txt_name.Text & ”','“ & Cbox_sex.Text & ”','“ & cAge.ToString & ”','“ & Txt_ID.Text _
& ”','“ & Cbox_type.Text & ”','“ & Cbox_fang_no.Text & ”','“ & Now & ”','“ & stoptime & ”','“ & Txt_yajin.Text _
& ”','“ & Txt_days.Text & ”','“ & Txt_yingjiao.Text & ”','“ & Txt_yijiao.Text & ”')“
Dim s2 As String
s2 = ”update Fang set Fang_state='满' where Fang_num='“ & Cbox_fang_no.Text & ”'“
Try
myCommon.getData.cmd_ex(s)
myCommon.getData.cmd_ex(s2)
MsgBox(”添加成功!“, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
myCommon.getNewCode.getNewSaveCode()
Catch ex As Exception
MsgBox(”添加失败!“ & ex.Message, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)15
End Try
End Sub
Private Sub Btn_jisuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_jisuan.Click
Me.Txt_yingjiao.Text = Txt_danjia.Text * Txt_days.Text + Txt_yajin.Text
End Sub
Private Sub Btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_add.Click
Me.Txt_no.Text = myCommon.getNewCode.get_NewCode
Txt_name.Text = ”“
Cbox_sex.Items.Clear()
Txt_ID.Text = ”“
Cbox_type.Items.Clear()
Cbox_fang_no.Items.Clear()
Txt_yajin.Text = ”“
Txt_days.Text = ”“
Txt_yingjiao.Text = ”“
Txt_yijiao.Text = ”“
Txt_address.Text = ”“
Txt_danjia.Text = ”“
Call Init_Cbox()
End Sub
Sub Init_Cbox()'为性别和房间类型进行添加
Cbox_sex.Items.Add(”男“)
Cbox_sex.Items.Add(”女“)
Cbox_type.Items.Add(”单人间“)
Cbox_type.Items.Add(”双人间“)
End Sub End Class 结算
Public Class Jiesuan
Dim str As String
Private Sub Jiesuan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Call Btn_show_Click(sender, e)
End Sub
Private Sub Btn_jiesuan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_jiesuan.Click
Dim s As String
Dim yajin As String
Dim yijiao As String
Dim str As String
str = Now
str = Mid(str, 1, 10)
s = ”select yajin,yijiao from Customer where Start_time like '“ & str & ”%' “
Dim dr As SqlClient.SqlDataReader
dr = myCommon.getData.get_dr(s)
While dr.Read
yajin = dr!yajin + yajin
yijiao = dr!yijiao + yijiao
End While
dr.Close()
s = ”select count(*)from Jiesuan where Riqi like '“ & str & ”%' “
Dim conn As New SqlClient.SqlConnection
conn.ConnectionString = myCommon.getstrconn.get_strconn
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = s
conn.Open()
If CType(cmd.ExecuteScalar(), Integer)= 0 Then
Try
s = ”insert into Jiesuan values('“ & str & ”','“ & yijiao & ”','“ & yajin & ”','“ & yijiaoyajin & ”' where Riqi='“ & str & ”'“
myCommon.getData.cmd_ex(s)
Catch ex As Exception
MsgBox(”结算时出错误!“)
End Try
End If
End If
s = ”select * from Jiesuan where Riqi='“ & str & ”'“
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_jiesuan.DataSource = ds.Tables(0)
End Sub
Private Sub Btn_show_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_show.Click
Dim s As String
s = ”select * from Jiesuan“
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_jiesuan.DataSource = ds.Tables(0)
End Sub
Private Sub Btn_jingli_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_jingli.Click
Dim str As String
str = Now
str = Mid(str, 1, 10)
If Data_Access.User_info.LoginUser_info.User_job = ”经理“ Then
Dim s As String
s = ”update Jiesuan set jinglishenhe='“ & Data_Access.User_info.LoginUser_info.User_name & ”' where Riqi='“ & str & ”'“
Try
myCommon.getData.cmd_ex(s)
Call Btn_show_Click(sender, e)
Catch ex As Exception
MsgBox(”审核失败!“)
End Try
Else
MsgBox(”你没有权限!“)
End If
End Sub
Private Sub Btn_laoban_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_laoban.Click
Dim str As String
str = Now
str = Mid(str, 1, 10)
If Data_Access.User_info.LoginUser_info.User_job = ”老板“ Then
Dim s As String
s = ”update Jiesuan set laobanshenhe='“ & Data_Access.User_info.LoginUser_info.User_name & ”' where Riqi='“ & str & ”'“
Try
myCommon.getData.cmd_ex(s)
Call Btn_show_Click(sender, e)
Catch ex As Exception
MsgBox(”审¦核失败!“)
End Try
Else
MsgBox(”你没有权限!“)
End If
End Sub End Class
退房
Public Class Tuifang_login
Dim dv As DataView
Private Sub Btn_chaxun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_chaxun.Click
Dim str As String
str = ”select * from Customer_Fang where Fang_no='“ & Me.Txt_fang_no.Text & ”'“
Dim ds As DataSet
ds = myCommon.getData.get_ds(str)
dv = ds.Tables(”temp“).DefaultView
DGView_tuifang.DataSource = dv
End Sub
Private Sub Btn_Tuifang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_Tuifang.Click
Dim s As String
s = ”update Fang set Fang_state='空?' where Fang_num='“ & dv.Item(0).Item(”Fang_no“).ToString & ”'“
Dim s2 As String
s2 = ”update Customer set yingjiao='“ & dv.Item(0).Item(”yingjiao“)dv.Item(0).Item(”yajin“)& ”' where Customer_no='“ & dv.Item(0).Item(”Customer_no“)& ”'“
Try
myCommon.getData.cmd_ex(s)
myCommon.getData.cmd_ex(s2)
MsgBox(”退房成功!“, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
Catch ex As Exception
MsgBox(”退房失败!“ & ex.Message, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)Handles Panel2.Paint
End Sub
查询
Private Sub Btn_Customer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_Customer.Click
Show_all_coustomer()
End Sub
Private Sub Btn_Chaxun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_Chaxun.Click
Dim str As String
If Chaxun_Fang.Text <> ”“ And Chaxun_name.Text <> ”“ Then
str = ”Fang_no='“ & Chaxun_Fang.Text & ”' and Customer_name='“ & Chaxun_name.Text & ”'“
ElseIf Chaxun_Fang.Text <> ”“ And Chaxun_name.Text = ”“ Then
str = ”Fang_no='“ & Chaxun_Fang.Text & ”'“
ElseIf Chaxun_Fang.Text = ”“ And Chaxun_name.Text <> ”“ Then
str = ” Customer_name='“ & Chaxun_name.Text & ”'“
End If
Call Show_all(str)
End Sub
Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)Handles Panel2.Paint
End Sub End Class
管理
Public Class cManager
Sub show_Role_Auth()
Dim s As String
s = ”select * from Role_Auth_V where Role_Name<>'老板'“
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_Role_Auth.DataSource = ds.Tables(”temp“)
End Sub
Private Sub cManager_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Dim s As String
s = ”select * from Role_Auth_V where Role_Name<>'老板'“
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_Role_Auth.DataSource = ds.Tables(”temp“)
Dim dr As SqlClient.SqlDataReader
s = ”select * from gg_Menu where MenuName<>'权限T'and MenuName<>'权限管理'“
dr = myCommon.getData.get_dr(s)
While dr.Read
Cbox_Auth.Items.Add(dr.Item(”MenuName“))
End While
dr.Close()
s = ”select * from Role where Role_Name<>'老板'“
dr = myCommon.getData.get_dr(s)
While dr.Read
Cbox_Role.Items.Add(dr.Item(”Role_Name“))
End While
dr.Close()
End Sub
Private Sub DGView_Role_Auth_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DGView_Role_Auth.CellClick
Me.Cbox_Role.Text = DGView_Role_Auth.CurrentRow.Cells.Item(0).Value.ToString
Me.Cbox_Auth.Text = DGView_Role_Auth.CurrentRow.Cells.Item(1).Value.ToString
End Sub
Private Sub Btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_add.Click
Dim s As String
Dim RoleID As String
Dim TypeID As String
s = ”select Role_id from Role where Role_name='“ & Cbox_Role.Text & ”'“
Dim dr As SqlClient.SqlDataReader
dr = myCommon.getData.get_dr(s)
While dr.Read
RoleID = dr!Role_ID
End While
dr.Close()
s = ”select TypeId from gg_Menu where MenuName='“ & Cbox_Auth.Text & ”'“
dr = myCommon.getData.get_dr(s)
While dr.Read
TypeID = dr!TypeId
End While
dr.Close()
s = ”insert into Role_Auth values('“ & RoleID & ”','“ & TypeID & ”')“
Try
myCommon.getData.cmd_ex(s)
MsgBox(”添加成功!“, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
Catch ex As Exception
MsgBox(”添加失败!“ & ex.Message, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
End Try
Call show_Role_Auth()
End Sub
Private Sub Btn_del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_del.Click
Dim s As String
Dim RoleID As String
Dim TypeID As String
s = ”select Role_id from Role where Role_name='“ & Cbox_Role.Text & ”'“
Dim dr As SqlClient.SqlDataReader
dr = myCommon.getData.get_dr(s)
While dr.Read
RoleID = dr!Role_id
End While
dr.Close()
s = ”select TypeId from gg_Menu where MenuName='“ & Cbox_Auth.Text & ”'“
dr = myCommon.getData.get_dr(s)
While dr.Read
TypeID = dr!TypeId
End While
dr.Close()
s = ”delete from Role_Auth where Role_ID='“ & RoleID & ”'and Type_Id='“ & TypeID & ”' “
Try
myCommon.getData.cmd_ex(s)
MsgBox(”删除成功!“, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
Catch ex As Exception
MsgBox(”删除失败!“ & ex.Message, MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
End Try
Call show_Role_Auth()
End Sub
Private Sub DGView_Role_Auth_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DGView_Role_Auth.CellContentClick
End Sub End Class 22
员工管理
Public Class Staff_Manager
Private Sub Btn_show_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_show.Click
Dim s As String
s = ”select * from Staff where Staff_job='职员“
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_staff.DataSource = ds.Tables(0)
End Sub
Private Sub Btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_add.Click
Dim s As String
s = ”insert into Staff values('“ & Txt_no.Text & ”','“ & Txt_name.Text & ”','“ & Cbox_sex.Text & ”','“ & Txt_pwd.Text _
& ”','职员'“ & Txt_address.Text & ”','“ & Txt_tel_no.Text & ”')“
Try
myCommon.getData.cmd_ex(s)
MsgBox(”添加成功!“)
Catch ex As Exception
MsgBox(”添加失败“ & ex.Message)
End Try
End Sub
Private Sub Btn_del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_del.Click
Dim s As String
s = ”delete from Staff where Staff_no='“ & Txt_no.Text & ”'“
Try
myCommon.getData.cmd_ex(s)
MsgBox(”删除成功!“)
Catch ex As Exception
MsgBox(”删除失败“ & ex.Message)
End Try
End Sub
Private Sub Btn_chaxun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Btn_chaxun.Click 23
Dim s As String
s = ”select * from Staff where Staff_no='“ & Txt_chaxun_no.Text & ”' and Staff_job='职员'"
Dim ds As DataSet
ds = myCommon.getData.get_ds(s)
DGView_staff.DataSource = ds.Tables(0)
End Sub
Private Sub Staff_Manager_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Call Btn_show_Click(sender, e)
End Sub
Private Sub DGView_staff_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DGView_staff.CellClick
Txt_no.Text = DGView_staff.CurrentRow.Cells.Item(0).Value.ToString
Txt_name.Text = DGView_staff.CurrentRow.Cells.Item(1).Value.ToString
Cbox_sex.Text = DGView_staff.CurrentRow.Cells.Item(2).Value.ToString
Txt_address.Text = DGView_staff.CurrentRow.Cells.Item(5).Value.ToString
Txt_tel_no.Text = DGView_staff.CurrentRow.Cells.Item(6).Value.ToString
End Sub
Private Sub Panel2_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)Handles Panel2.Paint
End Sub End Class
第7章 总 结
经过这段时间的精心设计,系统的基本功能已经实现,并能实践于一些业务管理过程中,但酒店业务管理系统是一个庞大的工程,要使网络交互功能的实现,脚本的设计,网页的构架,网页的美工,文字的编辑,非一朝一夕可尽善尽美的,这需要一个长期的摸索与完善过程,同时还要在实践中发现与操作者使用要求不相符合的 地方还要修改。子系统功能虽已基本实现,但仍有诸多地方需要修改。随着酒店业务的扩展,服务的增加,酒店业务管理系统也逐渐发展、完善。如果没有一套可靠的酒店业务管理系统,但凭手工操作,不仅效率低下,而且会极大地形象到酒店的服务质量。要在酒店服务中选择好适合自己酒店实际情况的业务管理系统不仅 要考虑该系统在酒店的实用性,还要考虑酒店对该系统所能够承担费用的能力,以及这个系统对操作员来说的操作难易程度。通过本次课程设计中,我们掌握了VB.NET编程技能,SQL以及JDBC连接数据库和动态页面的用法。比较全面的巩固了下面向对象的编程思想。在本次课程设计中,我们懂得了谨慎和团结的重要性,明确分工也使我们提高了实验的效率,这对我们以后的学习工作都有很大的帮助。
第二篇:酒店管理系统课程设计报告
课程设计报告
课程名称: 项目名称: 院 系: 专 业: 姓 名: 班 级: 学 号: 指导教师: 设计地点:
基于ASP.net 2.0的Web应用开发
酒店管理系统
计算机科学与工程学院
计算机科学与技术
王晨光 计科121 090312114 王剑
九章楼 N6-109
开课时间: 2014 至 2015 学年第 1 学期
常熟理工学院计算机科学与工程学院 制
目录
一、前言.........................................................................................................................1 1.1、系统开发背景...................................................................................................1 1.2、研究目的及意义................................................................................................1 1.3、系统开发工具...................................................................................................1
二、系统分析..................................................................................................................1 2.1、需求分析..........................................................................................................1 2.1.1、系统主要功能.........................................................................................1 2.1.2、系统实现目标.........................................................................................2 2.1.3、系统性能需求.........................................................................................2 2.2、可行性分析......................................................................................................2 2.2.1、技术可行性............................................................................................2 2.2.2、经济可行性............................................................................................2 2.2.3、操作可行性............................................................................................2
三、系统设计..................................................................................................................2 3.1、系统功能结构设计............................................................................................2 3.2、数据库设计......................................................................................................3 3.2.1、数据库E-R图设计..................................................................................3 3.2.2、数据库的逻辑设计..................................................................................5
四、系统详细设计与实现..................................................................................................7 4.1、用户登录..........................................................................................................7 4.2、系统主界面......................................................................................................7 4.3、客房类型管理...................................................................................................8 4.4、客房经营管理...................................................................................................9 4.5、客户信息检索.................................................................................................12 4.6、客房经营状况分析..........................................................................................12
五、课程设计小结..........................................................................................................13
一、前言 1.1、系统开发背景 随着当今世界经济和计算机的飞速发展,酒店在内部实现用户通过电话预约或亲自前往酒店预订客房,服务员人工填写客房预订表进行客房预订的传统模式已经十分落后,满足不了现代人的需要。一个成功的酒店,其经营者不仅要提供高质量的服务水平和服务质量,还要提供最完善的设备和先进的技术。从而提高客房的占有率和回头率,还要有好的工作效率,并严格的控制住成本。在现如今的信息化时代,更重要的是还必须要有一个完善的管理信息系统,便于方便客人和更好的管理酒店。1.2、研究目的及意义 随着计算机网络的发展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给酒店业计算机应用带来了蓬勃发展的机遇。采用全新的计算机网络和管理系统将成为提高酒店管理效率,改善服务水准的重要手段之一。所以酒店入住信息管理系统是酒店经营不可或缺的现代工具。而本系统就是为了实现酒店高效管理而设计的。1.3、系统开发工具 Visual Studio 2013、SQL Server2008、PhotoShop CC Visual Studio 2013是一套完整的开发工具集,用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++和Visual C#全部都是用相同的集成开发环境(IDE)。SQL Server 2008是一个分布式的关系数据库管理系统,具有客户机/服务器体系结构,具有易用性、适合分布式组织的可伸缩性、用于决策支持的数据库仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等优点,是一种应用广泛的数据库管理系统。PhotoShop CC是Adobe公司出品的一个二维图像处理软件,主要用于对图像进行编辑和绘制,对用到的图片进行美工,使系统界面更加美观友好。
二、系统分析 2.1、需求分析 2.1.1、系统主要功能 该系统以酒店订房业务为基础,提供科学有效的管理模式。系统主要功能设计有客房类型管理、客房信息管理、客房经营管理、客房信息检索、经营状况分析等五个部分。1 2.1.2、系统实现目标 系统界面友好美观,操作简单易行; 业务管理信息化,可随时掌握客户入住、客户退租、客房信息等情况; 采用流行的C/S方式,响应速度快,安全性高,扩充方便; 该软件应尽可能地降低使用者的劳动强度,同时提高工作质量和效率。2.1.3、系统性能需求 本着“简单易用”的原则,方便各层次人员的使用; 系统必须稳定可靠,保证营业高峰期时不出现故障。2.2、可行性分析 2.2.1、技术可行性 系统采用了C/S技术结构,使用Microsoft Visual Studio 2013开发软件,数据库服务器使用Microsoft SQL Server 2008数据库,该数据库是目前最方便的流行数据库,能够处理大量的数据。它的活动性、安全性和易用性为数据库编程提供了良好的条件。2.2.2、经济可行性 对于酒店这样的企业来说,开发一个这样的系统是非常必要的,他们完全有能力和资金来负担系统的开发成本。而且,系统开发完成投入使用之后,将大大提高工作效率,减少成本,增加收益。2.2.3、操作可行性 该系统拥有非常简洁的图形界面,并且在某些操作中附有操作说明,即使是对系统毫不了解的人来说,也是很容易接受的。因此,该酒店管理系统在技术、经济、技术上都是可行的。
三、系统设计 3.1、系统功能结构设计 采用本系统可大大减少前台服务人员(系统管理人员)的人数,前台服务员直接掌控整个系统。由于采用计算机操作,可以大大提高操作速度。本酒店管理系统主要包括以下五个模块,分别是:客房类型管理、客房信息管理、客房经营管理、客房信息检索、经营状况分析。图3.1为酒店管理系统功能结构: 2
图3.1 酒店管理系统功能结构
3.2、数据库设计 关系模型是目前应用最广泛、技术最成熟的一种数据库模型,其特点是概念简单清晰、易于被用户掌握和接受,有严格的数学基础和关系数据理论,能极大的简化数据库开发和维护工作,深受广大用户的欢迎,是现代计算机信息系统和计算机应用系统的基础和核心。3.2.1、数据库E-R图设计 酒店管理系统的核心功能主要设计7个表,分别是:RoomsCategory(客房类型表)、RoomsInfo(客房信息表)、CustomerInfo(客户信息表)、RoomOperation(客房操作表)、RoomsStatus(客房状态表)、History(历史记录表)、UserInfo(用户信息表)。RoomsCategory(客房类型):主要存储房间编号、房间名、大小、床的数量、价格、空调数、电视数。其E-R图设计如图3.2所示: 图3.2 客房类型E-R图
RoomsInfo(客房信息): 主要存储房间编号、房间类型、房间位置、房间描述。其E-R图设计3 如图3.3所示: 图3.3 客房信息E-R图 图设计如图3.4所示:
CustomerInfo(客户信息):主要存储客户身份证号、客户姓名、客户电话、客户住址。其E-R图3.4 客户信息E-R图
RoomsStatus(客房状态):主要存储房间编号、房间状态。其E-R图设计如图3.5所示: 图3.5 客房状态E-R图 E-R图设计如图3.5所示:
History(历史记录):主要存储入住时间、退租时间、房间编号、总消费、客户身份证号。其
图3.5 历史记录E-R图
RoomOperation(客房操作):主要存储房间编号、入住时间、客户身份证号、房间状态标记。其E-R图设计如图3.6所示:
图3.6 客房操作E-R图
UserInfo(用户信息):主要存储用户编号、姓名、密码、邮箱、地址、电话。其E-R图设计如图3.7所示:
图3.7 用户信息E-R图 3.2.2、数据库的逻辑设计 RoomsCategory(客房类型表)如表1所示:
表1 客房类型表
RoomsInfo(客房信息表)如表2所示: 5
表2 客房信息表 CustomerInfo(客户信息表)如表3所示:
表3 客户信息表
RoomOperation(客房操作表)如表4所示: 表4 客房操作表
RoomsStatus(客房状态表)如表5所示: 表5 客房状态表 History(历史记录表)如表6所示:
表6 历史记录表 UserInfo(用户信息表)如表7所示:
表7用户信息表 6
四、系统详细设计与实现 4.1、用户登录 用户通过输入用户编号和密码登录系统,如果密码不正确,则不允许用户登录到系统。图4.1为用户登录流程图,图4.2为用户登录界面。
图4.1 用户登录流程图
图4.2 用户登录主界面
4.2、系统主界面 用户登录成功后,进入系统主界面,主界面分为三个部分:顶端酒店照片页面、左侧导航栏和右侧显示操作界面。当点击左侧导航栏名称的时候,不需要重新打开新的窗口,而是在右侧的显示栏中显示内容。图4.3为系统主界面。7
图4.3 系统主界面
4.3、客房类型管理 用户在成功登录系统后,点击【客房经营管理】,在右侧显示栏中就会显示客房的信息和对客房进行修改的操作,有添加、编辑和删除客房信息的操作。点击【编辑】按钮,可以对客房的信息进行修改;点击【删除】按钮,可以将选中的客房从数据库中删除掉;点击【添加房间】可以添加数据库中不存在的客房类型。图4.4为客房类型管理流程图,图4.5为客房类型管理界面,图4.6为添加客房界面。图4.4 客房类型管理流程图
图4.5 客房类型管理界面
图4.6 添加客房界面
4.4、客房经营管理 系统登录成功后,点击导航栏中的【客房经营管理】,根据客户的需求,查询相应的客房是否有入住信息。如果有,则告知客户本客房已满,请选择其它的客房;如果没有,则进行订房操作。当用户接收到客户的退房申请时,用户根据客户的信息查找入住的客房,登记结算并进行退房。图4.7为客房经营管理流程图,图4.8为客房经营管理界面,图4.9为订房界面,图4.10为退房界面。
图4.7 客房经营管理流程图
图4.8 客房经营管理界面
图4.9 订房界面 10
图4.10 退房界面
当用户点击【退房】时,系统会弹出【确定要退房?】对话框进行验证,点击【取消】则不会执行退房操作;点击【确定】后,则执行退房操作,系统弹出【退房成功】对话框,点击【确定】,则退房成功,并显示消费总金额。图4.11为【确定要退房】对话框,图4.12为【退房成功】对话框,图4.12为退房信息结算界面。图4.11 【确定要退房】对话框 图4.12 【退房成功】对话框
图4.12 退房信息结算界面 11
4.5、客户信息检索 系统登录成功后,点击左侧导航栏中的【客户信息检索】,右侧显示出检索客户信息界面,可以利用“姓名”、“房间号”、“时间段”等关键字对客户入住的信息进行查询。图4.13为客户信息检索流程图,图4.14为按姓名查询客户信息,图4.15为按时间段查询客户信息。图4.13为客户信息检索流程图
图4.14 按姓名查询客户信息
图4.15 按时间段查询客户信息
4.6、客房经营状况分析 系统登录成功后,点击左侧导航栏中的【客房经营状况分析】,右侧显示出客房经营状况的界面,选择相应的时间段,点击【总收入】按钮,就可以显示出选定时间段内的收入,点击【客流量】按钮,12 就可以显示出选定时间段内的入住人数。点击【收入显示】按钮,可以显示出【标准间】、【商务套房】、【情侣套房】三种客房类型各自的收入和在总收入所占的比例。图4.16为客房经营状况分析流程图,图4.17为客房经营状况分析界面。图4.16 客房经营状况分析流程图
图4.17 客房经营状况分析界面
五、课程设计小结 本次课程设计是基于ASP.net进行Web程序开发,开发的项目系统是酒店管理系统。本次的课程设计,由于自身能力有限,难免会有一些遗漏和疏忽的地方,系统有时也不稳定,有些功能还没有真正的实现,测试运行的时候也有一些问题的存在。通过这次对酒店管理系统的设计与开发,让发更加认识到了自身学习的不足之处,但也让我对Web编程语言的了理解和应用有了更深的认识。课程设计之后,感受到了动手能力有所提高,并能够结合实际存在的问题在专业领域内进行更深人的学习。同时,通过本次的课程设计让我了解到,仅学习书本上的知识是不够的,还要有较强的实践动手能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好地理解与掌握书本上的知识。
第三篇:酒店管理系统 (数据库课程设计)
数据库 酒店管理系统 课程设计(基于 SQL server 2000)
实现过程
1.1 通过查询分析器实现建立数据库、数据表
------------------------------创建数据库和数据表---(1)创建酒店管理系统数据库
CREATE DATABASE 酒店管理系统(2)创建客房信息表
CREATE TABLE 客房
(客房编号 CHAR(8)PRIMARY KEY,客房类型 CHAR(8)NOT NULL,价格 SMALLMONEY NOT NULL,床位数 INT NOT NULL,使用状态 CHAR(8)NOT NULL)
INSERT INTO 客房 VALUES('101','一',100,1,'在使用')INSERT INTO 客房 VALUES('102','二',200,2,'在使用')INSERT INTO 客房 VALUES('103','二',200,1,'在使用')INSERT INTO 客房 VALUES('104','三',300,2,'在使用')INSERT INTO 客房 VALUES('105','三',300,1,'未使用')
(3)创建客户信息表
CREATE TABLE 客户
(客户编号 CHAR(8)PRIMARY KEY, 客户名称 CHAR(10)NOT NULL,身份证号 CHAR(18)NOT NULL,联系地址 CHAR(25),联系电话 CHAR(10))INSERT INTO 客户 VALUES('1001','王一',12234,'江西','3245354')INSERT INTO 客户 VALUES('1002','张三',34234,'江西','2442442')INSERT INTO 客户 VALUES('1003','李四',56465,'江西','5654645')INSERT INTO 客户 VALUES('1004','王钱',65435,'江西','5676577')INSERT INTO 客户 VALUES('1005','孙志',11464,'江西','4234343')
(4)创建入住登记表
CREATE TABLE 入住登记
(客房编号 CHAR(8)FOREIGN KEY REFERENCES 客房(客房编号),客户编号 CHAR(8)FOREIGN KEY REFERENCES 客户(客户编号),预定日期 DATETIME,预定数量 INT, PRIMARY KEY(客房编号,客户编号))
INSERT INTO 入住登记 VALUES('101','1001',2010-10-10,1)INSERT INTO 入住登记 VALUES('102','1002',2010-12-10,1)INSERT INTO 入住登记 VALUES('103','1003',2010-12-26,1)INSERT INTO 入住登记 VALUES('104','1004',2010-12-9,1)--------创建查询视图---------1.2系统功能相应的查询视图:
(1)客户信息查询视图
CREATE VIEW 客户信息查询
AS SELECT * FROM 客户
(2)客房信息查询
CREATE VIEW 客房信息查询
AS SELECT
* FROM 客房
(3)入住信息查询
CREATE VIEW 入住登记信息查询 AS SELECT
* FROM 入住登记
(4)入住信息查询
CREATE VIEW 入住信息查询
AS SELECT入住登记.客房编号,客户名称,入住登记.客户编号,客房.客房类型,价格,使用状态
FROM 客房,客户,入住登记
WHERE 客房.客房编号=入住登记.客房编号 AND 入住登记.客户编号=客户.客户编号
---------------建立索引-----------------------1.3建立索引及数据入库
1.建立客房编号,价格,客户编号,客户名称的索引 创建客房表索引:
CREATE UNIQUE INDEX UKF ON 客房(客房编号,价格)
创建客户表索引:
CREATE UNIQUE INDEX UKH ON 客户(客户编号,客户名称)
创建入住表索引:
CREATE UNIQUE INDEX URZ ON 入住登记(客户编号,客房编号)2.数据入库
方法一 酒店管理系统包括客房信息表,客户信息表,入住登记信息表。采用Excel中录入数据,然后使用SQL Server 2000数据导入、导出功能直接将数据导入到相应的基本表。
方法二 在查询分析器中插入相关数据,用SQL语句插入。
----------创建存储过程----------------------1.4建立存储过程
1.4.1客房信息存储过程
插入客房信息存储过程:
CREATE PROCEDURE 插入客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS INSERT INTO 客房 VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)
修改客房信息存储过程:
CREATE PROCEDURE 修改客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS UPDATE 客房
SET 客房类型=@KFL,价格=@JG,床位数=@CWS,使用状态=@SYZT WHERE 客房编号=@KFB 删除客房信息存储过程:
CREATE PROCEDURE 删除客房信息(@KFB CHAR(8))AS DELETE FROM 客房 WHERE 客房编号=@KFB
1.4.2客户信息存储过程
插入客户信息
CREATE PROCEDURE 插入客户信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS INSERT INTO 客户 VALUES(@KHB,@KFM,@SFZ,@LXDZ,@LXDH)修改客户信息
CREATE PROCEDURE 修改客户信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS UPDATE 客户
SET 客户名称=@KFM,身份证号=@SFZ,联系地址=@LXDZ,联系电话=@LXDH WHERE 客户编号=@KHB
删除客户信息
CREATE PROCEDURE 删除客户信息(@KHB CHAR(8))AS DELETE FROM 客户
WHERE 客户编号=@KHB
EXEC 删除客户信息 @KHB='10009'
3.4.3创建入住信息存储过程 插入入住信息
CREATE PROCEDURE 插入入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS INSERT INTO 入住登记 VALUES(@KFB,@KHB,@YDRQ,@YDSL)
修改入住信息
CREATE PROCEDURE 修改入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS UPDATE 入住登记
SET 客房编号=@KFB,预定日期=@YDRQ ,预定数量=@YDSL WHERE 客户编号=@KHB
删除入住信息
CREATE PROCEDURE 删除入住信息(@KHB CHAR(8))AS DELETE
FROM 入住登记
WHERE 客户编号=@KHB
1.5查询存储过程的创建
客房编号查询
CREATE PROCEDURE 客房编号查询(@KFB CHAR(8), @KFL CHAR(8)OUTPUT, @JG SMALLMONEY OUTPUT, @CWS INT OUTPUT, @SYZT CHAR(8)OUTPUT)AS SELECT @KFL=客房类型,@JG=价格,@CWS=床位数,@SYZT=使用状态 FROM 客房
WHERE 客房编号=@KFB
客户编号查询
CREATE PROCEDURE 客户编号查询(@KHB CHAR(8), @KFM CHAR(10)OUTPUT , @SFZ CHAR(18)OUTPUT, @LXDZ CHAR(25)OUTPUT, @LXDH CHAR(10)OUTPUT)AS SELECT @KFM=客户名称,@SFZ=身份证号,@LXDZ=联系地址,@LXDH=联系电话 FROM 客户
WHERE 客户编号=@KHB
入住客户编号查询
CREATE PROCEDURE 入住客户编号查询(@KFB CHAR(8)OUTPUT, @KHB CHAR(8), @YDRQ DATETIME OUTPUT, @YDSL INT OUTPUT)AS SELECT @KFB=客房编号,@YDRQ=预定日期,@YDSL=预定数量 FROM 入住登记
WHERE 客户编号=@KHB
--------建立触发器--------------1.6、建立触发器保证数据的一致性
客房使用状态的控制
CREATE TRIGGER 控制触发器
ON 入住登记 FOR INSERT AS
UPDATE 客房
SET 使用状态='使用中' WHERE 客房编号=ANY(SELECT 客房编号 FROM INSERTED)
控制入住信息删除的触发器
CREATE TRIGGER 入住删除触发器
ON 入住登记 FOR DELETE AS BEGIN DELETE FROM 客户 WHERE 客户编号=ANY(SELECT 客户编号 FROM DELETED)
UPDATE 客房
SET 使用状态='未使用' WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END 客户信息删除的控制
CREATE TRIGGER 客户删除触发器
ON 客户
FOR DELETE AS BEGIN DELETE FROM 入住
WHERE 客户编号=ANY(SELECT 客户编号 FROM DELETED)
UPDATE 客房
SET 使用状态='未使用' WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END
客房删除触发器
CREATE TRIGGER 客房删除触发器
ON 客房
FOR DELETE AS
DELETE FROM 入住
WHERE 客户编号=ANY(SELECT 客户编号 FROM DELETED)
酒店管理系统数据库脚本
------------------------数据库初始化------set nocount on set dateformat mdy go
use master
go if exists(select * from sysdatabases where name='酒店管理系统')
/*删除在master中已存*/ /*在的名为酒店管理系统的数据库*/ drop database 酒店管理系统 go--------------------------酒店管理系统的建立-create database 酒店管理系统 on primary /*设定系统主文件*/(name='酒店管理系统_data', filename='d:酒店管理系统.mdf', size=10, maxsize=50, filegrowth=5)
log on
/*创建事务日志文件*/(name='酒店管理系统_log', filename='d:酒店管理系统.ldf', size=5, maxsize=25, filegrowth=5)go
---------(注:删除查询分析器中的以上代码后,运行以下代码)-----------------建立信息表----------use 酒店管理系统
if exists(select * from sysobjects where name='客户')drop table 客户 go print 'drop table 客户' print 'create table 客户' go /*客户信息表*/ CREATE TABLE 客户
/*创建客户信息表*/(客户编号 CHAR(8)PRIMARY KEY, 客户名称 CHAR(10)NOT NULL, 身份证号 CHAR(18)NOT NULL, 联系地址 CHAR(25), 联系电话 CHAR(10))go--------------------------插入客户数据-----------------------INSERT INTO 客户 VALUES('1001','王一',12234,'江西','3245354')INSERT INTO 客户 VALUES('1002','张三',34234,'江西','2442442')INSERT INTO 客户 VALUES('1003','李四',56465,'江西','5654645')INSERT INTO 客户 VALUES('1004','王钱',65435,'江西','5676577')INSERT INTO 客户 VALUES('1005','孙志',11464,'江西','4234343')if exists(select * from sysobjects where name='客房')drop table 客房 go print 'drop table 客房' print 'create table 客房' go /*客房信息表*/ CREATE TABLE 客房
/*创建客房信息表*/(客房编号 CHAR(8)PRIMARY KEY, 客房类型 CHAR(8)NOT NULL, 价格 SMALLMONEY NOT NULL, 床位数 INT NOT NULL, 使用状态 CHAR(8)NOT NULL)go-----------------------插入客房数据----------------------INSERT INTO 客房 VALUES('101','一',100,1,'使用中')INSERT INTO 客房 VALUES('102','二',200,2,'使用中')INSERT INTO 客房 VALUES('103','二',200,1,'使用中')INSERT INTO 客房 VALUES('104','三',300,2,'使用中')INSERT INTO 客房 VALUES('105','三',300,1,'使用中')if exists(select * from sysobjects where name='入住登记')drop table 入住登记 go print 'drop table 入住登记' print 'create table 入住登记' go /*入住登记信息表*/ CREATE TABLE 入住登记
/*创建入住登记信息表*/(客房编号 CHAR(8)FOREIGN KEY REFERENCES 客房(客房编号),客户编号 CHAR(8)FOREIGN KEY REFERENCES 客户(客户编号),预定日期 DATETIME,预定数量 INT, PRIMARY KEY(客房编号,客户编号))go
---------------插入入住登记信息数据----------------------INSERT INTO 入住登记 VALUES('101','1001',2010-10-10,1)INSERT INTO 入住登记 VALUES('102','1002',2010-12-10,1)INSERT INTO 入住登记 VALUES('103','1003',2010-12-26,1)INSERT INTO 入住登记 VALUES('104','1004',2010-12-9,1)go
-----建立索引-------------------
CREATE UNIQUE INDEX UKF ON 客房(客房编号,价格)go CREATE UNIQUE INDEX UKH ON 客户(客户编号,客户名称)go CREATE UNIQUE INDEX URZ ON 入住登记(客户编号,客房编号)go
----建立触发器-------------------------建立控制触发器(保证在客房使用状态的一致性)------if exists(select * from sysobjects where name='控制触发器')drop trigger 控制触发器 GO CREATE TRIGGER 控制触发器
ON 入住登记 FOR INSERT AS
UPDATE 客房
SET 使用状态='使用中' WHERE 客房编号=ANY(SELECT 客房编号 FROM INSERTED)go
--------建立入住删除触发器(保证信息删除的一致性)----------if exists(select * from sysobjects where name='入住删除触发器')drop trigger 入住删除触发器 GO CREATE TRIGGER 入住删除触发器
ON 入住登记 FOR DELETE AS BEGIN DELETE FROM 客户
WHERE 客户编号=ANY(SELECT 客户编号 FROM DELETED)
UPDATE 客房
SET 使用状态='未使用' WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END go-------建立客房删除触发器(保证删除的一致性)---------if exists(select * from sysobjects where name='客房删除触发器')drop trigger 客房删除触发器 GO CREATE TRIGGER 客房删除触发器
ON 客房
FOR DELETE AS
DELETE FROM 入住
WHERE 客户编号=ANY(SELECT 客户编号 FROM DELETED)go---------创建查询视图----------------
CREATE VIEW 入住信息查询
AS SELECT 入住登记.客房编号,客户名称,入住登记.客户编号,客房.客房类型,价格,使用状态
FROM 客房,客户,入住登记
WHERE 客房.客房编号=入住登记.客房编号 AND 入住登记.客户编号=客户.客户编号 go
---------建立存储过程------------------------------客房信息插入存储过程--------------------------CREATE PROCEDURE 插入客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS INSERT INTO 客房 VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)GO
--------------------客房信息修改的存储过程---------------------CREATE PROCEDURE 修改客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS UPDATE 客房
SET 客房类型=@KFL,价格=@JG,床位数=@CWS,使用状态=@SYZT WHERE 客房编号=@KFB go--------------------客房信息删除的存储过程---------------------CREATE PROCEDURE 删除客房信息(@KFB CHAR(8))AS DELETE FROM 客房 WHERE 客房编号=@KFB GO--------------------客户信息插入的存储过程---------------------CREATE PROCEDURE 插入客户信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS INSERT INTO 客户 VALUES(@KHB,@KFM,@SFZ,@LXDZ,@LXDH)go--------------------客户信息修改的存储过程---------------------CREATE PROCEDURE 修改客户信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS UPDATE 客户
SET 客户名称=@KFM,身份证号=@SFZ,联系地址=@LXDZ,联系电话=@LXDH WHERE 客户编号=@KHB GO--------------------客户信息删除的存储过程---------------------CREATE PROCEDURE 删除客户信息(@KHB CHAR(8))AS DELETE FROM 客户
WHERE 客户编号=@KHB go--------------------入住信息插入的存储过程---------------------CREATE PROCEDURE 插入入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS INSERT INTO 入住登记 VALUES(@KFB,@KHB,@YDRQ,@YDSL)go--------------------入住信息修改的存储过程---------------------CREATE PROCEDURE 修改入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS UPDATE 入住登记
SET 客房编号=@KFB,预定日期=@YDRQ ,预定数量=@YDSL WHERE 客户编号=@KHB go--------------------入住信息删除的存储过程---------------------CREATE PROCEDURE 删除入住信息(@KHB CHAR(8))AS DELETE
FROM 入住登记
WHERE 客户编号=@KHB go--------------------客房编号查询的存储过程-----------------------if exists(select * from sysobjects where name='客房编号查询')drop procedure 客房编号查询 GO CREATE PROCEDURE 客房编号查询(@KFB CHAR(8))AS SELECT 客房类型,价格,床位数,使用状态 FROM 客房
WHERE 客房编号=@KFB go--------------------客户编号查询的存储过程-----------------------if exists(select * from sysobjects where name='客户编号查询')drop procedure 客户编号查询 GO CREATE PROCEDURE 客户编号查询(@KHB CHAR(8))AS SELECT 客户编号,客户名称,身份证号,联系地址,联系电话 FROM 客户
WHERE 客户编号=@KHB go--------------------入住信息查询的存储过程-----------------------if exists(select * from sysobjects where name='入住客户编号查询')drop procedure 入住客户编号查询 GO CREATE PROCEDURE 入住客户编号查询(@KHB CHAR(8))AS SELECT 客户编号,客房编号,预定日期,预定数量 FROM 入住登记
WHERE 客户编号=@KHB
第四篇:库存管理系统课程设计
库存管理系统课程设计
一、需求分析...................................................................................................................................2 1.1 编写目的:.......................................................................................................................2 1.2 项目背景:.......................................................................................................................2 1.3系统使用对象:................................................................................................................3 1.4 功能需求:.......................................................................................................................3 1.4.1 业务流程图:.......................................................................................................3 1.4.2 功能模块图:.......................................................................................................4 1.4.3 功能介绍:...........................................................................................................4 1.4.4问题域描述:........................................................................................................5 1.5 性能要求:.......................................................................................................................5 1.6 运行环境:.......................................................................................................................6
二、系统详细设计...........................................................................................................................6 2.1系统总体设计....................................................................................................................6 2.1.1 运行环境...............................................................................................................6 2.1.2 系统流程...............................................................................................................6 2.1.3 系统结构...............................................................................................................7 2.2系统接口的概要设计........................................................................................................8 2.2.1 用户接口...............................................................................................................8 2.3 数据库概要设计...............................................................................................................9 2.3.1 物理结构设计.......................................................................................................9
三、系统实现.................................................................................................................................10 3.1 系统开发环境.................................................................................................................10 3.2 系统实现.........................................................................................................................11 3.2.1 客户端系统实现.................................................................................................11
一、需求分析
1.1 编写目的:
库存管理工作如由人工完成,主要依靠个人经验和厚重的资料簿,查询工作繁琐而且质量不高,容易出错。如果利用计算机的高速计算能力和广泛的普及应用,则能利用判断条件,更快地找出所要查询的库存产品。库存管理系统是一套对货品入库、出库、库存进行全面管理的系统。
1.2 项目背景:
由于市场竞争的需要,如何吸引和留住人才,激发员工的创造行、工作责任感和工作热情已经成为关系企业兴衰的重要因素,人才已成为企业最重要的资产之一。“公正、公平、合理”的企业管理理念和企业管理水平的提高,是社会对库存管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使的三代库存管理系统的出现才成为必然。库存管理系统的特点是从物品管理的角度出发,用集中的数据库将几乎所有与物品相关的数据统一管理起来,形成了集成的信息源。有好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得物品管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业物品规划和政策。
企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。
1.3系统使用对象:
本软件提供了完备的销售业务管理功能,包括销售管理(销售订单、销售出货、销售退货、收款登记)、基本信息(公司基本资料、客户资料、货品资料、员工档案、其他基础设置)、单据查询(订货单查询、收货单查询、付款单查询)、系统维护(操作权限、数据备份及恢复、数据压缩、数据清理)等功能。
1.4 功能需求:
1.4.1 业务流程图:
1.4.2 功能模块图:
1.4.3 功能介绍: 库存管理:包括货品信息管理、货品库存管理、短线货品管理、超储货品管理。
入库管理:包括入库登记管理、货品入库期间统计、供货单位期间供货统计和供货单位期间供货金额统计。
出库管理:包括出库登记管理、货品期间出库统计、收货单位期间收货统计和收货单位期间收货金额统计。
盘存管理:包括盘存数据录入和盘存表。综合管理:包括货品出入库期间汇总等。
附项分类:包括经办人员管理、供货单位管理、仓库信息管理及数据处理记录。
历史数据管理:包括历史库存管理、历史入库管理和历史出库管理等。1.4.4问题域描述:
货物是否能被管理员找到,货物必要有唯一的货号;仓库对应唯一管理员,管理员必要有唯一工号,性别,姓名等属性;每个入库货物对应一张入库单,入库单号码必须与货号唯一对应;每个出库货物对应一张出库单,出库单号码必须与货号唯一对应;管理人员存放货物根据存放规则在仓库内存放货物;管理人员根据提货规则从仓库内提取货物。
1.5 性能要求:
全局特征:
系统可用性是:全天候可用、可靠性:除了不可计错误,一般不会崩溃。安全性和保密性:只有专业的工作人员才能运行,可以设置权限。
1.6 运行环境:
硬件环境:PentiumⅡ 或同档次以上微机; 32MB以上内存或更高;4.2G以上硬盘;1.44M
光驱;24速以上光驱;
针打或激光打印机一台
软件环境:中文 WINDOWS95 /
二、系统详细设计
2.1系统总体设计
2.1.1 运行环境 操作系统:Windows All 安装MySQL Tomcat MyEclipse 2.1.2 系统流程 本课题的系统流程图如下
/WE/ 2000操作系统。
2.1.3 系统结构
本课题的功能模块设计图如下
2.2系统接口的概要设计
2.2.1 用户接口 首页(用户登录界面)
用户操作界面(如图)头部和其他部位的内容一样
左侧部分为当用户登录成功后将显示用户操作的功能菜单 右侧部分则根据用户选择的操作显示相应内容
2.3 数据库概要设计
2.3.1 物理结构设计
本课题目前为数据库建立了9 个表 Category:id,name,description;
Goods:id,name,description,inprice,outprice,category_id,supplier;Instock:id,quantity,intime,price,description,goods_id,uear_id;Outstock:id,quantity,outtime,description,price,user_id,goods_id;Privilege:id,name,description Stock:goods_id,quantity,outprice,inprice Supplier:id,name,linkman,cellphone,description User:id,username,password User_privilege:user_id,privilege_id
三、系统实现
3.1 系统开发环境
系统:Microsoft Windows 7 编程环境:MyEclipse 开发语言:Java 数据库:MySQL
3.2 系统实现
3.2.1 客户端系统实现 登录界面(如下图)
库存管理成果信息页面(如图)
用户管理
权限管理
供应商管理
类别管理
商品管理
入库管理
库存管理
出库管理
第五篇:课程设计--成绩管理系统
“成绩管理系统”课程设计指导书
课题名称:学生成绩管理系统
设计目标:按照软件工程的规范,以SQL Server或Oracle为后台数据库,以Visual C++、Delphi等为前端开发工具,设计并实现一个能模拟高等学校学生成绩管理的系统。
需求描述:
学生成绩管理系统中:
1.系统用户
系统的用户是学校的学生、教师和管理员。学生使用本系统查询自己的成绩。教师使用本系统录入和查询自己所授课程的考试成绩。教学管理员可以查询所有课程成绩,并使用本系统进行成绩的统计和生成报表。
2.系统功能
(1)成绩录入:
教师可以查询自己本学期所授课程,并录入学生的考试成绩。录入过
程中,可以暂存已录入的成绩,当录入完成后提交。
(2)成绩维护:
教师在提交前,可以修改已录入或暂存的学生成绩;但提交后,则只
能查询不能再进行任何修改。
教学管理员可以清除教师已提交的成绩。
(3)成绩查询:
教师、教学管理员可以查询学生考试成绩。学生只允许查询自己的考
试成绩,教师只允许查询自己所授课程的成绩。
(4)成绩统计:
教学管理员可以按课程、按学生、按班级等进行成绩统计。
教学管理员根据核算出的总评成绩统计处于优、良、中、及格、不及
格的学生人数以及占总人数的百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。
按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。
结果形式:
提交课程设计报告、源程序和可演示的软件
课程设计报告要求:详见课程设计模板
课程设计参考思路:
(1)熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。
(2)理解系统的信息需求,进行合理的数据库设计,建立各数据库表。
(3)理解系统的功能需求,设计应用软件。结合Delphi 或VC++进行系统界面
(窗体、菜单以及相应控制按钮)的设计、连接与操纵数据库方案的设计,编写程序。
(4)系统运行、调试并完善。
(5)撰写设计报告。