收藏 分销(赏)

数据库课程设计(酒店管理系统).docx

上传人:xrp****65 文档编号:6138982 上传时间:2024-11-28 格式:DOCX 页数:42 大小:331.39KB 下载积分:10 金币
下载 相关 举报
数据库课程设计(酒店管理系统).docx_第1页
第1页 / 共42页
数据库课程设计(酒店管理系统).docx_第2页
第2页 / 共42页


点击查看更多>>
资源描述
数据库系统课程设计报告 题目: 酒店管理系统 课程代号: 0680036 课程名称:数据库系统课程设计 学号: 姓名: 班级: 指导教师 完成日期:2011年4月 目录 第一章 引言 第二章 系统分析与设计 2.1需求分析 2.2结构设计 2.3数据库设计 第三章 系统开发及实现 3.1 创建主窗体 3.2 创建子窗体 3.3 建立公共模块 第四章 总结 参考文献 附录(附部分源代码) 第一章 引言 酒店管理系统是现代服务行业不可缺少的一个组成环节。 酒店管理信息系统是一个由人、计算机和数据库组成的进行酒店经营管理的系统,通过对信息的收集、传递、整理、加工、维护和使用,提高管理水平和效率,从而实现酒店管理的自动化、规范化和人性化。 本文简要介绍了基于Microsoft和VB程序语言开发实现的酒店管理系统,着重阐述了该系统开发实现过程,从系统的需求分析、方案论证、模块设计、数据设计、详细设计到系统测试等各个环节都进行了较为详尽的分析和描述。 关键词:酒店管理系统、Access、数据库、VB 第二章系统分析与设计 2.1需求分析 在进行一个项目的设计之前,首先要进行必要的需求分析。酒店需要管理各种人员和入住信息,希望实现酒店的信息化管理,通过建立一个酒店管理系统来管理酒店的日常业务。其完成功能如下: 1、能够实现对客人的登记信息查询,包括逐个浏览,以及对客人资料的增加、删除和编辑操作。 2、能够的酒店人员值班情况进行管理。 3、管理人员也可以直接增加和删除用户信息。 系统功能模块图如图1所示。 酒店管理系统 人事管理 客户入住 系统管理 客户信息查询 客户投诉 值班管理 散客入住 密码修改 团队入住 新增用户 图1 系统的功能模块图 根据功能模块图设计划出的实体有散客入住实体、团队入住实体、投诉管理实体、值班管理实体。 散客入住实体E-R如图2所示。 团队入住实体E-R如图3所示 投诉管理实体E-R图如图4所示 值班管理实体E-R图如图5所示 散客入住实体 姓名 房价 性别 房号 离店日 抵达日 证件号码 图2 散客入住实体E-R图 团队入住实体 负责人姓名 团队名称 房间号码 备注 入住天数 抵达日 证件号码 图3 团队入住实体E-R图 投诉管理实体 投诉对象 投诉日期 投诉内容 编号 处理意见 受诉日期 受诉部门 图4 投诉管理实体E-R图 值班管理实体 值班人 值班截止时间 记事 值班开始日期 值班开始日期 值班截止日期 图5 值班管理实体E-R图 2.2结构设计 使用windows操作系统、开发维护系统即visual basic软件系统、一套数据库系统Access即可。他们之间的关系如图6所示。 数据库 数据库应用程序 开发人员 用户 用户 用户 图6 结构关系图 根据上面的需求分析,设计好数据库系统,然后开发应用程序可以考虑窗体的系统,每一个窗体实现不同的功能,可以设计以下几个模块。 ·客人入住模块:用来实现登记入住的增加、删除和修改等操作。 ·客人信息查询模块:用来实现对客人信息的浏览和查询。 ·值班管理模块:用来实现对工作人员值班情况的增加、删除和修改等操作。 ·系统管理模块:用来实现用户的增加、删除和修改等操作。 2.3数据库设计 这里数据库采用access,用ADO作为连接数据对象。 2.3.1建立access数据库 启动access,建立一个空的数据库jiudian.mbd,如图7所示。 图7 jiudian.mdb 使用程序设计器建立系统需要的表格如下:散客资料表,如图8所示。 团队资料表,如图9所示。 值班管理表,如图10所示。 系统管理表,如图11所示。 投诉管理表,如图12所示。 图8 散客资料表 图9 团队资料表 图10 值班管理表 图11系统管理表 图12 投诉管理表 2.3.2连接数据库 在程序设计的公共模块中,先定义ADO链接对象。语句如下: Public conn As New ADODB.Connection '标记连接对象 然后在子程序中,用如下的语句即可打开数据库: Dim connectionstring As String connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=jiudian.mdb" conn.Open connectionstring 图12 引用ADO连接数据库 第三章系统开发与实现 这是一个多文档界面(MDI)应用程序,如图13所示,可以同时显示多个文档,每个文档显示在各个窗体中。MDI应用程序中常有包含子菜单“窗体”选项,用于在窗体或文档间进行切换。菜单应用程序中,有5个菜单选项,每个选项对应着E-R图中的一个子项目。 图13 多文档界面 3.1 创建主窗体 首先创建一个工程,命名为酒店管理系统。该窗体属性如表1所示。 属性 值 Caption 酒店管理系统 WindowState Maxsize 表1 主窗体的属性 图14 菜单编辑器 在主窗体的工具栏中,选菜单编辑器,创建如图14所示的菜单结构。 创建一些菜单项,如表2 所示。 表2 菜单项表 菜单名称 Text属性 功能描述 MenuItem1 系统管理 顶级菜单,包含子菜单 MenuItem2 新增用户 调出用户窗体 MenuItem3 修改密码 调出密码窗体 MenuItem4 退出系统 推出 MenuItem5 客人入住 顶级菜单,包含子菜单 MenuItem6 散客入住 调出散客入住信息窗体 MenuItem7 团队入住 调出团队入住信息窗体 MenuItem8 客人信息查询 调出查询窗体 MenuItem9 人事管理 顶级菜单,包含子菜单 MenuItem10 客户投诉管理 调出客户投诉信息窗体 MenuItem11 值班管理 调出值班信息窗体 MenuItem12 关于 调出对系统的要求 主窗体如图15所示。 图15 主窗体 3.2 创建各个子窗体 “工程”—“添加窗体”命令,添加子窗体。 把窗体的属性MIDChild改成Ture,这个窗体则成为MID子窗体。 这个项目中,要创建的子窗体如表3所示。 下面分别是各个子窗体,以及他们所使用的控件,如表3所示。 表3 所有子窗体 子窗体名 Text 散客入住 frmonly_client 团队入住 Frmdouble_client 增加用户 frmadduser 修改密码 frmchangepwd 客人资料 frmdatamanage 查询输出 frmfind 关于 frmAbout 用户登录 frmlogin 客人投诉管理 frmkhts 值班管理 frmzhiban 3.2.1散客入住子窗体 散客入住子窗体如图16所示,其控件如表4所示。 图16 散客入住子窗体 表4 散客入住子窗口控件 控件类型 控件Name 控件Text Frame1 散客入住 Frame Frame2 (空) DateGrid DateGrid1 (空) Commend1 新增记录 Commend2 修改记录 Commend Commend3 删除记录 Commend4 取消 Commend5 退出 3.2.2增加用户子窗体 增加用户子窗体如图17所示,其控件如表5所示。 图17增加用户子窗体 表5 增加用户控件表 控 件 类 别 控件Name 控件Text Label1 输入用户名 Label Label2 输入密码 Label3 确认密码 Label4 选择权限 Text1 (空) TextBox Text2 (空) Text3 (空) ComboBox Comb1 (空) CommandButton Command1 确认 Command2 取消 3.2.3修改密码子窗体 修改密码子窗体如图18所示,其控件如表6所示。 图18修改密码子窗体 表6修改密码窗体 控 件 类 别 控件Name 控件Text Label Label1 新密码 Label2 确认密码 TextBox Text1 (空) Text2 (空) CommandButton Command1 确定 Command2 取消 3.2.4团队入住子窗体 团队入住子窗体如图19所示,其控件如表7所示 图19 团队入住子窗体 表7 团队入住子窗口控件 控件类型 控件Name 控件Text Frame Frame1 团队入住 Frame2 (空) DataGrid DataGrid1 (空) CommandButton Command1 新增记录 Command2 修改记录 Command3 删除记录 Command4 取消 Command5 退出 3.2.5查询子窗体 查询子窗体如图20所示,其控件如表8所示 图20 查询子窗体 表8 查询子控件 控件类别 控件Name 控件Text OptionButton Option1 按房号 Option2 按抵达日 Lable1 从 Lable Lable2 到 Lable3 从 Lable4 年 Lable5 月 Lable6 日 Lable7 到 Lable Lable8 年 Lable9 月 Lable10 日 Combo(0 )CoboBox Combol (空) Combo(1 )CoboBox Combol (空) Combo(0 )CoboBox Comboy (空) Combo(1 )CoboBox Comboy (空) Combo(0 )CoboBox Combom (空) Combo(1 )CoboBox Combom (空) Combo(0 )CoboBox Combod (空) Combo(1 )CoboBox Combod (空) CommandButton Command1 查询 Command2 取消 3.2.6用户登录子窗体 用户登录子窗体如图21所示,其控件如表9所示 图21用户登录子窗体 表9用户登录子窗口控件 控件类别 控件Name 控件Text Label Label1 用户名 Label2 密码 TextBox Text1 (空) Text2 (空) CommandButton Command1 确定 Command2 取消 3.2.7值班管理子窗体 值班管理子窗体如图22所示,其控件如表10所示 图22值班管理子窗体 表10值班管理子窗口控件 控件类别 控件Name 控件Text Frame Frame1 值班管理 Datagrid DataGrid1 (空) CmdAdd 增加记录 CommandButton CmdDcl 删除记录 CmdCanccl 取消 3.2.8投诉管理子窗体 投诉管理子窗体如图23所示,其控件如表11所示 图23投诉管理子窗体 表11 投诉管理子窗体控件 控件类别 控件Name 控件属性 控件属性值 Frame Frame1 Caption 投诉信息 Frame2 Caption (空) 控件类别 控件Name 控件属性 控件属性值 Label1 Caption 投诉编号 Label2 Caption 投诉日期 Label3 Caption 投诉对象 Label Label4 Caption 投诉内容 Label5 Caption 受诉部门 Label6 Caption 受诉日期 Label7 Caption 处理意见 DataGrid1 DataSource Adodc1 AllowAddNew Ture DataGrid AllowDelete Ture AllowUpdata Ture AllowArrows Ture Command1 上一条 (空) Command2 下一条 (空) Command3 第一条 (空) CommandButton Command4 末一条 (空) Command5 增加记录 (空) Command6 删除记录 (空) Command7 取消 (空) Adodc Adodc1 CommunationString Jiudian.mdb RecordSource 投诉管理 Text Text1 Text (空) DataField 投诉编号 DataSource Adodc1 Text2 Text (空) DataField 投诉日期 DataSource Adodc1 Text3 Text (空) DataField 投诉对象 DataSource Adodc1 Text4 Text (空) Text DataField 投诉内容 DataSource Adodc1 Text5 Text (空) DataField 受诉部门 DataSource Adodc1 Text6 Text (空) DataField 受诉日期 DataSource Adodc1 Text7 Text (空) DataField 处理意见 DataSource Adodc1 3.3 建立公共模块 建立公共模块可以提高代码效率,同时使得修改和维护代码都很方便。创建公共模块的步骤如下: (1)“工程”—“添加模块” (2)选择模块图标后,打开,着这个模块已经添加到项目中了。默认情况下名为modulel。 (3)在模块中定义整个项目的公共变量。 Public conn As New ADODB.Connection '标记连接对象 Public userID As String '标记当前用户ID Public userpow As String '标记用户权限 Public find As Boolean '标记查询 Public sqlfind As String '查询语句 Public rs_data1 As New ADODB.Recordset Public findok As Boolean Public frmdata As Boolean 第四章 总结 通过本次设计,设计的基本思想方法,能够独立编写小型的数据库程序,通过数据库系统应用课题的实践,进一步提高分析问题解决问题的能力及软件开发过程的能力。 遗憾的是对数据库设计工作的认识仅仅停留在表面,只是在参考着书做,借被人的思想,亲自操作却尽力很多困难,所以未能领会其精髓。但时通过这次数据库设计,加深了我对数据库设计基本知识的理解,丰富了我做数据库设计的实际技术,虽然学的不精,但让我对数据库产生了浓厚的兴趣,也使我对数据库有了深层次的感性和理性认识。认识到要做好一项工作,既要注重理论知识的学习,更重要的是要把实践与理论两者紧密相结合。 参考文献 [1] 王 珊,萨师煊编译.数据库系统概论. 北京:高等教育出版社,1983 [2] 张跃延,王小科,许文武. 数据库开发案例精选. 人民邮电出版社,2007, [3] Connolly.T. 数据库设计/设计师实现与管理. 电子工业出版社,2006 [4]钱雪忠,甸海驰,陈国俊编著.数据库原理及技术课程设计. 北京:清华大学出版社,2009 [5]谭浩强编译. Visual basic程序设计.北京:清华大学出版社,2006 附录: 代码设计 . 1主窗体代设计 本项目中,子菜单事件都是click事件,主窗体代码。 下面是响应“新增用户”子菜单click事件,调出新增用窗体代码。 下面是响应“新增用户”子菜单click事件,调出新增用窗体代码。 下面是响应“新增用户”子菜单click事件,调出新增用窗体代码。 下面是响应“新增用户”子菜单click事件,调出新增用窗体代码。 Private Sub about_Click() frmAbout.Show End Sub Private Sub add_user_Click() frmadduser.Show End Sub Private Sub double_check_Click() frmfind_double.Show End Sub Private Sub check_Click() frmfind.Show End Sub Private Sub double_client_Click() frmdouble_client.Show End Sub Private Sub exit_Click() Unload Me End Sub Private Sub khts_Click() frmkhts.Show End Sub Private Sub MDIForm_Load() frmdata = False find = False End Sub Private Sub modify_pw_Click() frmchangepwd.Show End Sub Private Sub only_check_Click() frmfind.Show End Sub Private Sub only_client_Click() frmonly_client.Show End Sub Private Sub zbgl_Click() frmzhiban.Show End Sub 2 子窗体的代码 在各个子窗体建立好后,就可以根据各个子窗体的功能给他们添加相应代码了。 (1)散客入住子窗体代码 本窗口用来录入散客入住信息,用ADO来连接数据库,是本窗体的重点。采用MDI的子程序,所以运行后,它出现在主程序界面下, 下面的代码是定义变量的。 Option Explicit Dim rs_client As New ADODB.Recordset 新增用户按钮代码 Option Explicit Dim rs_client As New ADODB.Recordset Private Sub Command1_Click() On Error GoTo adderror If Command1.Caption = "新增记录" Then '当此按钮的状态为为“增加记录”时 Command1.Caption = "确定" '按钮名称改为“确定” Command2.Enabled = False '删除与修改按钮不可用 Command3.Enabled = False Command4.Enabled = True '取消按钮可用 DataGrid1.AllowAddNew = True DataGrid1.AllowUpdate = True '设定datagrid可以增加记录 Else If Not IsNull(DataGrid1.Bookmark) Then If Trim(DataGrid1.Columns("房号").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "房号不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("房价").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "房价不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("姓名").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "姓名不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("性别").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "性别不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Not IsDate(Trim(DataGrid1.Columns("抵达日").CellText(DataGrid1.Bookmark))) Then MsgBox "请按照格式hh-mm输入抵达日", vbOKOnly + vbExclamation, "" Exit Sub End If If Not IsDate(Trim(DataGrid1.Columns("离店日").CellText(DataGrid1.Bookmark))) Then MsgBox "请按照格式hh-mm输入离店日", vbOKOnly + vbExclamation, "" Exit Sub End If rs_client.Update MsgBox "添加信息成功!", vbOKOnly + vbExclamation, "" DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False Else MsgBox "没有添加信息!", vbOKOnly + vbExclamation, "" End If Command1.Caption = "新增记录" Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False End If adderror: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Private Sub Command2_Click() Dim answer As String On Error GoTo cmdmodify If Command2.Caption = "修改记录" Then answer = MsgBox("确定要修改吗?", vbYesNo, "") If answer = vbYes Then Command2.Caption = "确定" Command1.Enabled = False Command3.Enabled = False Command4.Enabled = True DataGrid1.AllowUpdate = True Else Exit Sub End If Else If Not IsNull(DataGrid1.Bookmark) Then rs_client.Update End If Command2.Caption = "修改记录" Command1.Enabled = True Command3.Enabled = True Command4.Enabled = False DataGrid1.AllowUpdate = False MsgBox "修改成功!", vbOKOnly + vbExclamation, "" End If cmdmodify: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Private Sub Command3_Click() Dim answer As String On Error GoTo delerror answer = MsgBox("确定要删除吗?", vbYesNo, "") If answer = vbYes Then DataGrid1.AllowDelete = True rs_client.Delete rs_client.Update DataGrid1.Refresh MsgBox "成功删除!", vbOKOnly + vbExclamation, "" DataGrid1.AllowDelete = False Else Exit Sub End If delerror: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Private Sub Command4_Click() If Command4.Caption = "确定" Then rs_client.Cancel DataGrid1.ReBind DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False Command1.Caption = "新增记录" Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False ElseIf Command2.Caption = "确定" Then rs_client.Cancel DataGrid1.ReBind DataGrid1.Refresh DataGrid1.AllowUpdate = False Command2.Caption = "修改记录" Command1.Enabled = True Command3.Enabled = True Command4.Enabled = False End If Frame2.Enabled = True End Sub Private Sub Command5_Click() Unload Me End Sub Private Sub DataGrid1_Click() End Sub Private Sub Form_Load() Dim sql As String On Error GoTo loaderror sql = "select * from 散客资料" rs_client.CursorLocation = adUseClient rs_client.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库 '设定datagrid控件属性 DataGrid1.AllowAddNew = False '不可增加 DataGrid1.AllowDelete = False '不可删除 DataGrid1.AllowUpdate = False Set DataGrid1.DataSource = rs_client Command4.Enabled = False Exit Sub loaderror: MsgBox Err.Description End Sub Private Sub Form_Unload(Cancel As Integer) Set DataGrid1.DataSource = Nothing rs_client.Close End Sub (1) 团队入住子窗体代码 本窗口是用来录入团队入住信息,也是用ADO来连接数据库的。 Option Explicit Dim rs_dclient As New ADODB.Recordset Private Sub Command1_Click() On Error GoTo adderror If Command1.Caption = "新增记录" Then '当此按钮的状态为为“增加记录”时 Command1.Caption = "确定" '按钮名称改为“确定” Command2.Enabled = False '删除与修改按钮不可用 Command3.Enabled = False Command4.Enabled = True '取消按钮可用 DataGrid1.AllowAddNew = True DataGrid1.AllowUpdate = True '设定datagrid可以增加记录 Else If Not IsNull(DataGrid1.Bookmark) Then If Trim(DataGrid1.Columns("团队名称").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "团队名称不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("负责人姓名").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "负责人姓名不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("证件号码").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "证件号码不能为空!", vbOKOnly + vbExclamation, "" Exit Sub End If If Trim(DataGrid1.Columns("房间号码").CellText(DataGrid1.Bookmark)) = "" Then MsgBox "房间号码!", vbOKOnly + vbExclamation, "" Exit Sub End If rs_dclient.Update MsgBox "添加信息成功!", vbOKOnly + vbExclamation, "" DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False Else MsgBox "没有添加信息!", vbOKOnly + vbExclamation, "" End If Command1.Caption = "新增记录" Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False End If adderror: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Private Sub Command2_Click() Dim answer As String On Error GoTo cmdmodify If Command2.Capti
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 酒店餐饮

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服