欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据库SQL实训酒店客房管理系统.doc

    • 资源ID:2395439       资源大小:1,011.50KB        全文页数:31页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库SQL实训酒店客房管理系统.doc

    目录目录1第一章 系统分析2一.可性行分析2第二章 需求分析2第三章 系统总体设计33.1总体设计33.2详细设计模块43.3 数据库设计53.4数据库需要分析53.4.1数据库分析53.4.2数据库概念结构设计73.4.3 数据库逻辑结构设计9第四章 系统代码设计及实现114.1 创建宾馆客房管理信息系统的主登录窗体114.2创建公用模块134.3 创建宾馆客房管理信息系统的主窗体144.4 创建主窗体的菜单154.5 客房标准设置204.6 客房查询224.7 住宿查询模块设计234.8 退房查询模块设计244.9 日结统计报表模块设计254.10 系统维护模块设计26该模块主要用于数据恢复及备份 用以保证数据安全打开系统维护-数据备份264.11 权限设置模块284.12 安全退出模块设计30第五章 系统的编译和发行30第六章 实训总结31第一章 系统分析一.可性行分析可行性分析是指在允许的成本、性能要求下,分析每项需求实施的可行性,提出需求实现的相关风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。可行性分析包括操作可行性、技术可行性、经济可行性和进度可行性。下面是对酒店管理系统的可行性分析。 1. 进度可行性:鉴于本系统的目标要求和特点,能够保证在预期的时间内完成该系统的研究和设计。2.经济可行性:本系统开发完成后可缩减工作时间,提高工作效率,而且简单易操作,不需对使用人员进行培训,不管是在资金上还是效率上都能达到预期的效果。 3. 技术可行性:从目前比较流行的数据库开发、管理软件来看;对于比较简单的中小型数据库,VB.NET和SQL Server 2000的结合无疑是在实际应用中较为成功的一种解决方案。前者为用户提供了Windows所一贯坚持的非常友好、操作简单的用户界面.;后者则可对数据库实施操作、维护和权限识别功能,也可通过与SQL语句的结合对数据库进行更为复杂的操作。对本系统而言,上述的结合方式是可行的。第二章 需求分析(1)如果房客交的押金已经不能支付住宿费用,那么,房客需要去补交押金,这时可以添加房客的续住天数和应交押金等信息。(2)因宾馆需要人员进行各个方面的管理,如总经理、前台等。这里建立一个数据库来管理每个工作人员的信息,如用户添加、删除、修改密码等,这有助于清晰的管理每个工作人员的信息。因权限不同,各个用户进入的界面不同,他们只能进行权限之内的操作。所有的用户都可以在密码更改中更改密码。(3)房客来宾馆入住时,宾馆的工作人员应该可以添加房客的姓名和身份证等个人信息以客房的房号和押金等入住信息。(4)如果房客为了节省时间,需要预定房间,可以添加预定信息。房客来到宾馆之后,需要把预定信息,转为入住信息,如果房客由于其余事情,不能来宾馆入住,可以取消预定。(5)如果房客住宿时间期满,可以退房。(6)如果房客对入住的房间不满意,可以为房客换房。(7)按照宾馆人员的操作习惯,可以对客房和客房类型信息进行添加、修改、删除和查询操作。(8)系统运行在Windows平台上,要求有一个较好的图形用户界面,操作要求简单。(9)系统应该有很好的可扩展性,以便宾馆根据实际情况添加新的功能。第三章 系统总体设计3.1总体设计宾馆客房管理系统登 陆住宿管理客房管理查询统一系统设置住宿登记追加押金退宿结帐客房设置客房查询住宿查询退宿查询操作员设置密码设置总体设计图3.2详细设计模块宾馆客房管理系统登 陆住宿管理客房管理查询统一系统设置宾馆客房管理系统功能图查询统一住宿查询退宿查询查询统一功能图住宿管理住宿登记追加押金退宿结帐系统设置操作员设置密码设置系统设置功能图 住宿管理功能图3.3 数据库设计设计数据库系统时首先应该充分了解用户各个方面的要求,包括现有的以及将来可能增加的要求。数据库设计一般包括如下几个步骤: 1. 数据库需要分析。2.数据库概念结构设计。 3.数据库逻辑结构设计。3.4数据库需要分析3.4.1数据库分析用户的需要具体体现在各种信息的提供,保存,更新和查询等方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据,数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关宾馆客房管理信息要求的基础上,将得到如图31所示的本系统所处理的数据流程。客房标准设置结算信息管理顾客登记客房标准信息管理订房信息管理客房登记客户信息管理基本信息录入客房信息返回基本信息录入订房信息输入结算信息输入宾馆客房管理信息系统数据流程图 针对一般宾馆客房管理信息系统的需求,通过对宾馆客房管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构: 客房标准信息,包括的数据项有:标准编号,标准名称,房间面积,床位数量,住房单价,是否有空调,电视,电话,单独卫生间等。 客房信息,表格的数据项有:客房编号,客房种类,客房位置,客房单价,备注等。 订房信息,包括的数据项有:订房编号,客房编号,客房种类,客房位置,客房备注信息,顾客姓名,顾客身份证号码,入住时间,折扣,备注等。 结算信息,包括的数据项有:订房编号,客房编号,客房种类,客房位置,客房备注信息,顾客姓名,顾客身份证号码,入住时间,折扣,结算时间,备注等。有了上面的数据结构,数据项和数据流程,我们就能进行下面的数据库设计。3.4.2数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。本实例根据上面的设计规划出的实体有:客房标准信息实体,客房信息实体,订房信息实体,结算信息实体。各个实体具体的描述E-R图如下。客房标准信息实体E-R图如图所示:客户标准信息实体标准编号标准名称床位数量客房单价 客房信息实体E-R图如图所示: 客户信息实体标准编号客房标准客户位置客房单价客户信息实体订房信息实体E-R图如图所示:订房信息实体客房信息顾客信息入住时间折扣 结算信息实体E-R图如图所示:结算信息实体客房信息顾客信息结算时间结算金额 实体之间关系的E-R图如图所示:客户标准信息实体结算信息管理客房信息实体订房信息实体客房登记订房客房结算实体 3.4.3 数据库逻辑结构设计现在需要将上面的数据库概念结构转化为数据库系统所支持的实体数据模型,也就是数据库的逻辑结构。宾馆客房管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。TB_djb 住房登记表:Tb_kf房间标准详细表:Tb_qxsz账户权限设置表: Tb_tfdj退房登记表: Tb_user:登录用户表:第四章 系统代码设计及实现至此有关数据库的设计和完善既所有后台工作初步完成 有了数据库和数据。现在将通过vb逐块来设计 宾馆客房管理信息系统中各个功能模块的功能:4.1 创建宾馆客房管理信息系统的主登录窗体用户登录窗体中放置了二个文本框(TextBox),用来输入用户名和用户密码:二个按钮(CommandButton)用来确定或者取消登录:三个标签(Label)用来标示窗体的信息。这些控件的属性设置见表。控件属性属性取值FrmLogin(Form)NamefrmLoginCaption登录StartUpPositionCenterScreenWindowStateNomalTxtusernamenameTxtusernametxtpasswordnametxtpasswordpasswordchar*cmdoknameCmdokcaption确定cmdcanelNamecmdcanelcaption取消Label1caption宾馆客房管理系统Label2caption用户名Label3caption用户密码双击确定输入以下代码完成登录判断:Private Sub Image1_Click()Static itimes As Integer Main.StatusBar1.Panels(4).text = Text1.text '赋值给main.StatusBar1.Panels(4).Text '验证操作员及密码 Adodc1.RecordSource = "select * from tb_user where 操作员='" + Text1.text + "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then '如果记录数大于零 '验证密码 If Text2.text = Adodc1.Recordset.Fields("密码") Then Load Main Main.Show Unload Me Else If Text2.text <> Adodc1.Recordset.Fields("密码") Then MsgBox "密码错误,请重新输入!", vbCritical, "系统提示" itimes = itimes + 1 Text2.text = "" Text2.SetFocus End If End If Else MsgBox "操作员不存在,请重新输入!", vbCritical, "系统提示" itimes = itimes + 1 Text1.text = "" Text2.text = "" Text1.SetFocus End If If itimes = 3 Then '错误3次,退出系统 MyMsg = MsgBox("输入错误,请向系统管理员查询!", vbCritical, "系统提示") If MyMsg = vbOK Then End End IfEnd Sub以下代码用于权限设置 当系统中不存在任何账户 第一次登录时会要求设置该账号权限Private Sub Form_Activate() '当记录为零时,进入系统具有所有权限 If Adodc1.Recordset.RecordCount = 0 Then MsgBox "请先设置操作员密码和权限!", , "系统提示" Load Main Main.Show Unload Me Else Text1.SetFocus End IfEnd Sub当用户输入完用户名要输入密码时可以按回车系统自动定位到下一个文本框 实现代码如下:Private Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Image1_Click '按回车键进入End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text2.SetFocus '按回车键,text2获得焦点End Sub总体的登录窗口调试效果如下:用户运行系统首先将出现该登陆框,如果输入的用户名在用户表中没有找到,将提示重新输入用户名,文本框txt1将重新获得输入焦点。如果用户输入的密码不正确,文本框txt2将重新获得输入焦点。用户登录成功,全局变量ok将被赋值为true。一旦三次输入密码均不正确,全局变量ok将被赋值为false。系统强制退出。4.2创建公用模块在Visual Basic中可以用公用模块来存放整个工程项目公用的函数,过程和全局变量等。这样可以极大的提高代码的效率。在项目资源管理器中为项目添加一个Module,保存为Module 1.bas。下面就可以开始添加需要的代码了。Public adocon As New ADODB.ConnectionPublic adoRs As New ADODB.RecordsetPublic Sub Main() adocon.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kfxt;Data Source=piglet" 连接到本机的kfxt sql数据库End SubPublic Function ESQL(ByVal sql As String) As ADODB.Recordset '定义函数 '定义连接 Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset '创建连接 Set cnn = New ADODB.Connection '打开连接 cnn.Open StrCnn Set rs = New ADODB.Recordset rs.Open Trim(sql), cnn, adOpenKeyset, adLockOptimistic Set ESQL = rsEnd FunctionPublic Function StrCnn() '返回一个数据库连接 StrCnn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kfxt;Data Source=piglet"End Function4.3 创建宾馆客房管理信息系统的主窗体添加一个窗体 然后在该窗体上添加好所用的控件,添加后如图示;窗体和控件的主要属性设置见下表。控件属性属性取值FrmMain(Form)NameFrmMainCaption宾馆客房管理信息系统StartupPositionCenterScreenWindowStateMaximizedSbStatusBar(StatusBar)NameStyleSbStatusBarPanels(1)StyleSbrTextPanels(2)StyleSbrDatePanels(3)StyleSbrTime在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化。状态栏控件需要在通常的属性窗口中设置一般属性,还需要在特有的弹出式菜单中进行设置。选择状态栏控件,单击鼠标右键,选中Property菜单,然后设置属性。面板1用来显示当前日期,面板2用来显示当前时间,面板3用来显示系统信息。面板4显示 操作员信息。如图:4.4 创建主窗体的菜单1.在如图所示的主窗体中,单击鼠标右键,选择弹出式菜单中的“Menu Editor”命令,创建如图所示菜单结构:2:添加用户窗体的创建进入系统后,选择菜单“系统|添加用户”,就可以添加用户,出现添加用户的窗体:在这个窗体中放置了二个文本框,用来输入密码和确认密码,二个按钮用来确定是否修改密码,二个标签用来标示文本框的内容,这些控件属性的设置见下表:控件属性属性取值Frmadduser (Form)NameFrmadduserCaption添加用户StartUpPositionCenterScreenWindowStateNomaltxtusernamenametxtusernameTxtpassword1nameTxtpassword1passwordchar*Txtpassword2nameTxtpassword2passwordchar*CmdoknameCommand1caption确定cmdcanelNameCommand2caption取消Label1caption操作元Label2caption密码Label3caption确认二次输入密码后,单击Command1按钮,将触发click事件判断是否修改密码,代码如下:Private Sub Command1_Click() '修改操作员密码Adodc1.RecordSource = "select * from tb_qxsz where 操作员='" + Text1.text + "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then ma.text = Adodc1.Recordset.Fields("密码") Else ma.text = "" MsgBox "不存在该操作员!", , "系统提示" Exit Sub End If If Text1.text <> "" And Text2.text <> "" And Text2.text = Adodc1.Recordset.Fields("密码") Then If Text3.text <> "" Then adocon.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kfxt;Data Source=piglet" Set adoRs = adocon.Execute("update tb_qxsz set 密码='" + Text3.text + "' where 操作员='" + Text1.text + "'") adocon.Close Dim rs1 As New ADODB.Recordset rs1.Open "select * from tb_user where 操作员='" + Text1.text + "'", StrCnn, adOpenKeyset, adLockPessimistic If rs1.RecordCount > 0 Then rs1.Fields("密码") = Text3.text rs1.Update rs1.Close End If MsgBox "密码修改成功,退出操作员密码修改!", , "系统提示" Main.Enabled = True Unload Me Else MsgBox "请输入新密码!", , "系统提示" End If Else If Text1.text = "" Then MsgBox "请输入操作员!", , "系统提示" Text1.SetFocus Else If Text1.text <> Adodc1.Recordset.Fields("操作员") Then Text1.SetFocus Text1.text = "" MsgBox "无此操作员,请重新输入!", , "系统提示" End If End If If Text2.text = "" Then MsgBox "请输入操作员原密码!", , "系统提示" Text2.SetFocus Else If Text2.text <> ma.text Then MsgBox "原密码错误,请重新输入原密码!", , "系统提示" Text2.text = "" Text2.SetFocus End If End If End IfEnd Sub3.操作员密码修改窗体创建用户可以修改自己的密码,选择菜单“系统|密码设置”出现如图所示的窗体:在这个窗体中放置了二个文本框,用来输入密码和确认密码,二个按钮按钮用来确定是否修改密码,二个标签用来标示文本框的内容,这些控件属性的设置见下表控件属性属性取值Frmmodifyuserinfo (Form)NameFrmmodifyuserinfoCaption密码设置StartUpPositionCenterScreenWindowStateNomalTxtpassword1nameTxtpassword1passwordchar*Txtpassword2nameTxtpassword2passwordchar*CmdoknameCommand1caption确定cmdcanelNameCommand2caption取消Label1caption操作员Label2caption原密码Label3caption新密码二次输入密码后,单击Command1按钮,将触发click事件判断是否修改密码。Private Sub Command1_Click() '修改操作员密码Adodc1.RecordSource = "select * from tb_qxsz where 操作员='" + Text1.text + "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then ma.text = Adodc1.Recordset.Fields("密码") Else ma.text = "" MsgBox "不存在该操作员!", , "系统提示" Exit Sub End If If Text1.text <> "" And Text2.text <> "" And Text2.text = Adodc1.Recordset.Fields("密码") Then If Text3.text <> "" Then adocon.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kfxt;Data Source=piglet" Set adoRs = adocon.Execute("update tb_qxsz set 密码='" + Text3.text + "' where 操作员='" + Text1.text + "'") adocon.Close Dim rs1 As New ADODB.Recordset rs1.Open "select * from tb_user where 操作员='" + Text1.text + "'", StrCnn, adOpenKeyset, adLockPessimistic If rs1.RecordCount > 0 Then rs1.Fields("密码") = Text3.text rs1.Update rs1.Close End If MsgBox "密码修改成功,退出操作员密码修改!", , "系统提示" Main.Enabled = True Unload Me Else MsgBox "请输入新密码!", , "系统提示" End If Else If Text1.text = "" Then MsgBox "请输入操作员!", , "系统提示" Text1.SetFocus Else If Text1.text <> Adodc1.Recordset.Fields("操作员") Then Text1.SetFocus Text1.text = "" MsgBox "无此操作员,请重新输入!", , "系统提示" End If End If If Text2.text = "" Then MsgBox "请输入操作员原密码!", , "系统提示" Text2.SetFocus Else If Text2.text <> ma.text Then MsgBox "原密码错误,请重新输入原密码!", , "系统提示" Text2.text = "" Text2.SetFocus End If End If End IfEnd Sub4.5 客房标准设置宾馆在运行中需要设置不同的客房标准来适应不同消费水平顾客的需要。对于每个客房标准,有不同的硬件设施和服务。打开客房管理|客房设置 可以添加新房间并设置客房标准 如图: 客房标准管理模块主要实现如下:控件属性属性取值FrmRoomtype1(Form)NamefrmsinfoCaption客房标准MDIChildTrueTxtItem(0) TxtItem(4)NameTxtItem(0) TxtItem(4)Combo1(0) Combo1(3)NameCombo1(0) Combo1(3)CmdSaveNameCmdOKCaption保存CmdExitNameCmdCancelCaption取消添加Label1Caption房间号Label2Caption房间类型Label4Caption房态Label5Caption价格Label6Caption营业时间Label7Caption使用设备Label8Caption配置Label9Caption备注双击登记Sub comdj按钮 添加如下代码:Private Sub comdj_Click() '登记 Texfjh.Enabled = True Combo1.Enabled = True Combo2.Enabled = True Texjg.Enabled = True DTP1.Enabled = True Texsz.Enabled = True Texpz.Enabled = True Texbz.Enabled = True Texfjh.text = "": Texjg.text = "": Texsz.text = "" Texpz.text = "": Texbz.text = "" Comsave.Enabled = True: Comcancel.Enabled = True: Comdj.Enabled = False Texfjh.SetFocusEnd Sub 双击Comsave 按钮添加下列代码:Private Sub comsave_Click() '查找客房信息 Adodc1.RecordSource = "select * from tb_kf where 房间号='" & Trim(Texfjh.text) & "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then '如果记录数大于零 If Adodc1.Recordset.Fields("房态") = "入住" Then MsgBox "该房间正在使用,请客人退房后再修改信息" Exit Sub End If If MsgBox("该客房已存在,确认修改客房信息", 4) = vbYes Then If Texfjh.text <> "" Then Adodc1.Recordset.Fields("房间号") = Texfjh.text If Combo2.text <> "" Then Adodc1.Recordset.Fields("房态") = Combo2.text If Combo1.text <> "" Then Adodc1.Recordset.Fields("房间类型") = Combo1.text If Texjg.text <> "" Then Adodc1.Recordset.Fields("价格") = Texjg.text Adodc1.Recordset.Fields("使用设置") = Texsz.text Adodc1.Recordset.Fields("配置") = Texpz.text Adodc1.Recordset.Fields("备注") = Texbz.text Adodc1.Recordset.Fields("标志") = "0" Adodc1.Recordset.Update End If Else If MsgBox("添加新房间?", 4) = vbYes Then adocon.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kfxt;Data Source=piglet" adoRs.Open "select * from tb_kf", adocon, adOpenKeyset, adLockOptimistic adoRs.AddNew adoRs.Fields("房间号") = Texfjh.text adoRs.Fields("房间类型") = Combo1.text adoRs.Fields("房态") = Combo2.text adoRs.Fields("价格") = Texjg.text adoRs.Fields("营业日期") = DTP1.Value adoRs.Fields("使用设置") = Texsz.text adoRs.Fields("配置") = Texpz.text adoRs.Fields("备注") = Texbz.text adoRs.Fields("标志") = "0" adoRs.Update '更新记录 adocon.Close End If End If Ad

    注意事项

    本文(数据库SQL实训酒店客房管理系统.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开