毕业论文刘一甲.doc_第1页
毕业论文刘一甲.doc_第2页
毕业论文刘一甲.doc_第3页
毕业论文刘一甲.doc_第4页
毕业论文刘一甲.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专科生毕业设计酒店管理系统院 系 软件职业技术学院 专 业 软件技术 班 级 10专 软件2班 学 号 1605100239/ 49 / 21 / 37 学 生 姓 名 刘一甲 田雨 尚万隆 闫二兵联 系 方 式指 导 教 师 胡子义 职称: 副教授 2012年05月独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年月日授权声明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为:。 签名: 年月日指导教师签名: 年月日摘 要信息高度发达的今天,酒店业务涉及的各个工作环节已经不再仅仅是传统的住宿、结算业务,而是更广更全面的服务性行业代表。酒店作为一个服务性行业,从客房的营销即客人的预计开始,从入住登记直到最后退房结账,整个过程应该能够以宾客为中心,提供快捷方便的服务,给宾客一种顾客至上的享受,只有提高酒店的管理水平,简单化各种复杂的操作,在最合理的最短的时间内完成酒店业务的规范操作,这样才能令旅客舒适难忘,面对酒店业内激烈的竞争形势,各酒店均在努力拓展服务领域的广度和深度。虽然信息化并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。本系统采用SQL Server 2005建立数据库,用Visual Basic.NET完成系统的制作,本系统能够实现一般酒店的管理功能,包含酒店管理中的基础设置,业务管理,房态管理等。能够方便酒店管理人员查阅客房动态、采集客户信息、处理客户订单、结算。关键词:酒店管理系统;SQL Server 2005;Visual Basic.NET;目 录第1章 绪 论11.1 项目开发背景11.2 酒店信息化管理的目标11.3 系统开发工具11.3.1 Visual basic .NET11.3.2 SQL Server 20052第2章 需求分析与规格说明32.1 酒店管理系统的需求分析32.1.1 基础设置32.1.2 预订管理42.1.3 前台接待管理42.1.4 前台收银管理52.1.5 客房及客史管理52.1.6 财务核查管理62.1.7 其他系统接口62.2数据库需求分析72.3实例功能92.4系统流程图9第3章酒店管理系统介绍103.1登录界面103.2 管理员界面113.2.1 基础设置113.2.2 业务管理123.2.3房态管理14第4章 酒店管理系统设计154.1 数据库设计154.2功能模块设计184.2.1 创建系统主窗口184.2.2 实现系统登录功能204.2.3实现客房类型设置功能214.2.4实现客房信息设置功能234.2.5实现预订管理功能234.2.6实现入住管理功能254.2.7实现消费记账功能264.2.8 实现收银退房功能274.2.9实现设置房态图的功能29结 束 语32参 考 文 献33致 谢34第1章 绪 论1.1 项目开发背景酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国在2020年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。酒店行业的激烈竞争使得争取客源、提高酒店满员率、指定正确的销售策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创造客观的经济效益已经成为许多酒店的首选。作为一有效的统计分析手段,计算机管理系统具有明显的优势,它在数据保存、数据交换等方面均能做到快速可靠,是手工操作所不能完成的。本套酒店管理系统正是为了解决部门之间的信息交流与处理,以提高酒店办公效率而开发的。1.2 酒店信息化管理的目标1) 为销售提供全面,准确的信息数据。2) 为客人提供快捷、细致、周到的服务。3) 为财务提供严密账务系统。4) 具有处理各种复杂情况的能力。1.3 系统开发工具1.3.1 Visual basic .NETVisual Basic.NET是从 Visual Basic 语言演变而来,是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。Visual Basic 允许开发人员开发面向 Windows、Web 和移动设备的程序。与所有面向Microsoft .NET Framework语言一样,使用 Visual Basic 编写的程序都具有安全性和语言互操作性方面优点。VB.net常被人称为VB7.0即对VB6的升级是不对的,几乎在.net中思想已经完全改变,VB6中是基于事件和对象的思想,而在.net中由于使用了.net框架,面对对象在.net中尤为突出,6中过程思想还能运用,但在.net中过程思想已完全被OOP思想取代。1.3.2 SQL Server 2005SQL 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在UNIX 操作系统上的应SQL Server安装界面用。第2章 需求分析与规格说明需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块。2.1 酒店管理系统的需求分析一个通用的酒店管理系统应该包括下图1示的功能模块,其中每个功能都由若干相关联的子功能模块组成,如图2-1所示:酒店管理系统其他系统接口报表管理财务核查管理客房及客史管理前台收银管理前台接待管理预订管理基础设置图2-1 酒店管理系统功能模块2.1.1 基础设置基础设置“基础设置”功能模块用于对客房类型、客房价格、客房信息、会员资料设置、系统参数等项目进行初始化设置,这些设置一般不轻易改动,其中包含的子功能模块如图2-2所示:客房信息设置房价设置财务代码设置系统参数设置会员资料设置黑名单设置客房类型设置图2-2 基础设置功能模块2.1.2 预订管理“预订模块”功能模块用于管理客户的预订业务,有散客预订、团体预订、预订查询、修改预订、经理控房、合约配额、房态表、可售情况表的功能,其中包含的子功能模块如图2-3所示:预订管理散客预订团体预订预订查询修改预订经理控房合约配额房态表可售情况表 图2-3管理功能模块2.1.3 前台接待管理“前台接待管理”功能模块用于管理客户入住和入住后的相关业务,有散客入住、团队客人入住、预订入住、客人换房、客人续住、房态修改、房态查询的功能,其中包含的子功能模块如图2-4所示:前台接待管理散客入住团队客人入住预订入住客人换房房态查询房态修改客人续住图2-4接待管理功能模块2.1.4 前台收银管理“前台收银管理”功能模块用于管理客户退房及相关收银业务,有记账操作、客房退单、团体退房、预付金管理、附加费管理、佣金管理、费用统计的功能,其中包含的子模块如图2-5所示:前台收银管理记账操作团体退房客房退单预付金管理附加费用管理佣金管理费用统计图2-5收银管理功能模块2.1.5 客房及客史管理“客房及客史管理”功能也叫“管家管理”功能,用于管理客房的信息和客户住宿历史的信息,有可用房查询、房态维护、房态统计、维修房报表、在住散客报表、在住团报表、长住房报表等功能,其中包含的子功能模块如图2-6所示:客房及客史管理可用房查询房态维护房态统计维修房报表在住散客报表在住团报表长住房报表其他相关报表图2-6客服及客史管理功能模块2.1.6 财务核查管理“财务核查管理”功能模块用于管理酒店每天的财务核查工作,有夜审、普通房租过账、包价房租过账、结账单审核、打印催账单、班次结账。其中包含的子功能模块如图2-7所示:财务核查管理夜审普通房租过账包价房租过账结账单审核打印催账单班次结账图2-7.财务核查管理功能模块2.1.7 其他系统接口“其他系统接口”功能模块提供了酒店管理系统与其他系统的接口,实现不同系统间的数据共享,其中包含的子功能模块如图2-8所示:其他系统接口电话计费接口公安户籍接口身份证检测视频点播计费宽带接入计费图2-8 其他系统接口功能模块2.2数据库需求分析一个基本的酒店管理系统数据库中大致包括100多张表,分别存放在相应的子功能的数据信息,其中“客房信息”和“客户信息”表是起关键作用的表,用于存放酒店客房的基本信息和酒店入住客户的信息。其他涉及客房的表,都只记录相应的客房编号。“客房信息”和其他表间的关系是1:N的关系。图2-9为酒店管理系统关键实体的E-R图。 楼层信息PK楼层编号 楼层名称客房类型PK类型编号类型名称价格拼房价格可超预订数是否拼房客房信息PK客房编号FK1FK2类型编号楼层编号额度人数床数客房描述备注状态是否可拼房入住单Pk入住单号FK1FK2会员编号客房类型抵店时间离店时间单据状态入住人数客房编号客房价格入住价格折扣是否加床加床价格预收款预订人预订公司联系电话 操作员业务员是否结账结账金额结账日期付款方式预订单PK预订单号FK1会员编号客房类型抵店时间离店时间单据状态入住人数客房编号客房价格入住价格折扣是否加床加床价格预收款预订人预订公司联系电话操作员账单明细PK账单编号FK1入住单号消费内容消费金额消费时间备注 图2-9.酒店管理系统关键实体的E-R图2.3实例功能由于水平和时间有限,本系统简化了需求分析中的各功能所含的属性,只设计了关键的功能模块,详细实例图如图2-10所示:酒店管理系统基础设置业务管理房态管理客房类型设置客户信息设置预订管理入住管理消费记账房态管理图2-10酒店管理系统实例功能客房信息房态管理2.4系统流程图预订单预订管理管理员入住单入住管理账单明细消费记账消费信息收银管理房态信息房态管理图2-11 系统流程图第3章酒店管理系统介绍3.1登录界面点击进入本系统,首先出现的登陆界面(如图3-1)。第一行是大标题“酒店管理系统”,用户可在标题下方第一排的下拉框中选择自己的角色,有四种选择:管理员、销售员、会计员、采购员。用户可根据自己的身份选择适合的角色。用户选择自己身份后,系统会自动跳出相应的用户名,用户输入密码成功后点【确定】会自动进入系统,如果密码输入错误,系统会出现以下提示: 图3-1登录界面3.2 管理员界面 当管理员成功进入系统后,可以看到以下界面(如图3-2 所示), 包含有基础设置、业务管理、房态管理、退出系统功能。图3-2.管理员界面3.2.1 基础设置 基础设置具有客房类型设置和客房信息设置功能,单击【基础设置】会出现以下提示(如图3-3所示)。图3-3 基础设置界面(1)客房类型设置 单击【客房类型设置】命令,进入【进入客房类型设置】功能窗体,在其中输入客房类型的相关信息(如图3-4所示)。其中【价格】属性对应这种类型客房的住宿价格。如果需要新增或修改类别,单击相应按钮,输入新信息后单击【保存】即可。如果需要删除一条信息,则选中该信息后单击【删除】。图3-4.客房类型设置界面(2)客房信息设置单击【客房信息设置】命令,进入【客房信息设置】功能窗体(如图3-5所示),在其中输入客房的信息,其中【类型编号】属性从前面建立的客房类型中选择。选择客房的类型后,在数据库中存储的是客服编号。楼层编号一样,从“楼层”用户表中选择楼层名称,保存的是楼层的编号。图3-5.客房信息设置界面3.2.2 业务管理业务管理具有预订管理、入住管理、消费记账、收银退房,功能,单击【业务管理】会出现以下提示(如图3-6所示)。图3-6.业务管理界面(1)预订管理选择【预订管理】命令,进入【预订管理】功能窗体,在其中处理客房预订的业务(如图3-7所示)。当客户需要预订房间时,单击【新增】,系统新增加一条记录,并自动设置预订单号和单据状态。在下面的【客房类型】下拉列表中选择顾客想要预订的客房类型,客房价格和入住价格自动关联显示出来。选择了客房类型后就可以保存预订单了,其他项目是选择填写的项目,可以根据实际情况填写,也可以在预订时就指定客房,这样在入住时直接调出就可以了,以避免预订后没有客房情况。图3-7预订管理界面(2)入住管理 选择【入住管理】命令,进入【入住管理】功能窗体,在其中处理客户入住业务(如图3-8所示).入住管理和预订管理操作方法基本是一致的,只是添加了一些属性,同时还可以通过窗体最下方的【从预订单选】按钮,选择在预订功能中填写的预订单,这样在预订客户入住时就可以直接选择相应的信息,从而大大提高工作效率。图3-8入住管理界面(3)消费记账选择【消费记账】命令,进入【消费记账】功能窗体(如图3-9所示),在这里输入客户消费的相关明细,明细项目对应于客户入住的入住单号,主要用于在客户退房结账时可以统计消费的总金额。图3-9消费记账界面(4)收银退房图3-10 收银退房界面选择【收银退房】命令,进入【收银退房】功能窗体(如图3-10所示),客户退房时需要在该窗体进行结算操作,首先选择退房的入住单,单击【计算应收账款】按钮,系统自动计算该入住单的应收账款总金额和结账金额,结账金额为负表示预收款多了,剩余部分退还客户。核对账单准确无误后,选择付款方式,单击【收银结账退房】按钮,完成收银工作,将客房状态改为空房。3.2.3房态管理选择【收银退房】命令,进入【收银退房】功能窗体(如图3-11所示),在这里可以查询出所有客房的房态信息,以图形的形式表现出来,非常的直观。同时可以在该功能中直接更改客房状态,方法为选择一间客房,在【房态选择】选项组中选择新的房态,单击【设置房态】按钮,即可更改指定客房的房态。图3-11 房态管理界面第4章 酒店管理系统设计4.1 数据库设计根据系统的功能要求,主要构造以下几个表:(1)“楼层信息”表:楼层编号、楼层名称。用途是保存楼层编号及名称,如图4-1所示:图4-1 .“楼层信息”表(2)“客房类型”表:类型编号、类型名称、价格、拼房价格、可超预订数、是否可以拼房。用途是保存客房类型信息,如图4-2所示:图4-2“客房类型”表(3)“客房信息”表:客房编号、类型编号、楼层编号、额度人数、床数、客房描述、备注、状态、是否可以拼房。用途是保存酒店所有客房信息,如图4-3所示:图4-3“客房信息”表 (4)“预订单”表:预订单号、会员编号、客房类型、抵店时间等。用途是散客订房间时使用,如图4-4所示:图4-4“预订单”表 (5)“ 预订单历史”表:预订单号、会员编号、客房类型、抵店时间、离店时间、单据状态。用途是将预订单转入到入住单后,将预订单清除并导入到预订单历史,如图4-5所示:图4-5“预订单历史”表 (6)“入住单”表:入住单号、订单编号、会员编号、客房类型、抵店时间等。用途是散客入住酒店时,信息可由预订单转入,如图4-6所示:图4-6“入住单”表 (7)“入住单历史”表:入住单号、订单编号、会员编号、客房类型、抵店时间等。用途是入住单在收银结账后清除,并导入到入住单历史,如图4-7所示:图3-7“入住单历史”表(8)“ 账单明细”表:账单编号、入住单号、消费内容、消费金额、消费时间、备注。用途是查询客户消费的明细单,如图4-8所示:图4-8“账单明细”表 (9)“账单明细历史”表:账单编号、入住单号、消费内容、消费金额、消费时间、备注。用途是收银结账后,账单明细导入到账单明细历史,如图4-9所示:图4-9“账单明细历史”表4.2功能模块设计 4.2.1 创建系统主窗口(1)利用系统默认生成的窗体作为主窗体,将其对应的文件名更名为firmMain.vb。(2)从ToolBox窗体上选择MainMenu控件,为主窗体添加一个图4-10主菜单控件。图4-10系统主窗口(3)在窗体frmMain对应的代码文件中添加公有变量以及程序入口函数MainPublic Shared Sub Main()显示登陆对话框Dim loginFrm As frmLogin = New frmLoginloginFrm.ShowDialog()合法用户进入系统If loginFrm.bResult = True ThenDim frm As frmMain = New frmMainfrm.UserName = loginFrm.UserNamefrm.UserId = loginFrm.UserIdApplication.Run(frm)End IfEnd Sub(4)设置程序的启动项目,让从系统Main启动,而不是窗体启动。在【酒店管理系统属性页】对话框中的【启动对象】下拉列表中选择Sub Main.(5)添加判断子窗体实例状态的函数 GetInstanceState,此函数的主要作用是实现单击主窗体的某菜单项,如单击【预订管理】时,只是出现一个预订管理子窗体。Private Function GetInstanceState(ByVal name As String) As Boolean获得frmMain窗体的子窗体的数量Dim i As Integer = Me.MdiChildren.Length循环判断是否有名为name的子窗体实例For i = 0 To Me.MdiChildren.Length - 1If Me.MdiChildren(i).Name = name Then存在名为name的子窗体,是子窗体获得焦点并返回TrueMe.MdiChildren(i).Focus()Return TrueEnd IfNext不存在名为Name的子窗体FalseReturn FalseEnd Function4.2.2 实现系统登录功能(1)新建一个窗体,将其Name属性设置为“frmLogin”,并为其(图4-11)添加控件。图4-11系统登录窗体(2)为frmLogin类添加如下两个公共变量。Public Class frmLoginInherits System.Windows.Forms.Form用于返回登陆结果Public bResult As Boolean = False登陆用户的IDPublic UserId As String = 登陆的用户名Public UserName As String = Friend WithEvents Label1 As System.Windows.Forms.Label登陆的用户密码Private UserPwd As String = (3)为文本框txbUserld添加LostFocus事件响应函数ByVal e As System.EventArgs) Handles txbUserId.LostFocus 定义一个数据访问类的对象Dim db As DataBase = New DataBase根据输入的用户ID进行查询Dim dv As DataView = _db.RunSelectSQL _ (select 密码,姓名 from 用户清单 where 用户编号 = _+ Me.txbUserId.Text.Trim() + ) 判断用户ID是否存在 If dv.Count = 0 Then用户ID不存在 Me.txbUserId.Text = Me.txbPwd.Text = Me.txbName.Text = Else 用户ID存在 UserId = Me.txbUserId.Text.Trim() 获得用户的密码级用户名 Me.UserPwd = dv.Item(0)(密码) Me.txbName.Text = dv.Item(0)(姓名) End If 释放数据访问类的占用资源 db.Dispose() End Sub4.2.3实现客房类型设置功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmRoomType.vb(2)为新建窗口添加如图4-12所示控件。图4-12 客房类型设置窗体(3)从工具箱中拖到一个SqlDataAdapter控件到窗体上,连接到设计的数据库,并添加客房类型的数据库信息(4)为TextBox控件以及ComboBox控件设置数据源。 (5)重写frmRoomType类型frmBase的函数(由于代码较长,只摘录部分代码)Public Overrides Sub SaveForAdd()Dim dr As DataRow = DataSet11.Tables(客房类型).NewRow()Trydr(类型编号) = txbCode.Text.Trimdr(类型名称) = txbName.Text.Trimdr(可超预订数) = txbDays.Text.Trimdr(拼房价格) = txbPinPrice.Text.Trimdr(价格) = txbPrice.Text.Trimdr(是否可拼房) = ckbPin.CheckedCatch ex As ExceptionMessageBox.Show(数据格式不正确!)Exit SubEnd TryTryDataSet11.Tables(客房类型).Rows.Add(dr)If Me.DataSet11.HasChanges = True ThenSqlDataAdapter1.Update(DataSet11)End IfCatch ex As ExceptionMessageBox.Show(数据添加失败!)End TryLoadData()dgdList.DataSource = dtData.DefaultViewEnd Sub4.2.4实现客房信息设置功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmRoomInfo.vb”,单击【打开】选项出现【继承选择器】对话框,在选择frmBase选项并为窗件添加如图4-13所示控件。图4-13客房信息设置窗体(2)客房类型设置功能与客房信息设置功能相似,详细代码可参照客房信息功能模块代码。4.2.5实现预订管理功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmReserve.vb”,单击【打开】选项出现【继承选择器】对话框,在选择frmBase选项并为窗件添加如图4-14所示控件。图4-14预订管理功能窗体 (2) 从工具箱中拖到一个SqlDataAdapter对象到窗体上,连接hotelbook数据库,添加预订单,并选择所有字段。 (3)在SqlDataAdapter对象上右击,在弹出的快捷菜单中选择【生成数据集】命令,在弹出的【生成数据集】对话框中单击【确定】按钮。 (4)为类frmReserve添加以下变量Public Class frmReserveInherits 酒店管理系统.frmBase 用来标示双击dgdList,窗体是否自动关闭 Public bClose As Boolean = False Private gridMouseDownTime As DateTime = New DateTime 客房编号 Private strRoomCode As String = (5)为窗体类frmReserve添加公有函数GetInfo。Public Function GetInfo() As String获得DataGrid当前被选中的行号Dim iRow As Integer = dgdList.CurrentRowIndexDim sId As String获取DataGrid当前被选中的行的内容sId = dtData.Rows(iRow)(预订单号).ToString()Return sIdEnd Function4.2.6实现入住管理功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmReside.vb”,单击【打开】选项出现【继承选择器】对话框,在选择frmBase选项并为窗件添加如图4-15所示控件。图4-15入住管理功能窗体(2)从工具箱中拖到一个SqlDataAdapter对象到窗体上,连接hotelbook数据库,添加入住单,并选择所有字段。(3)为类“frmReside.vb”添加以下变量Public Class frmResideInherits 酒店管理系统.frmBasePublic bClose As Boolean = FalsePrivate gridMouseDownTime As DateTime = New DateTimePrivate strRoomCode As String = (4)更新客房信息,对已经空房的房间,删除之前的入住信息Public Overrides Sub DeleteData()Try更新客房信息表DataSet11.Tables(预订单). _Rows(bmData.Position).Delete()Dim db As DataBase = New DataBaseDim strSQL As String = update 客房信息 set 状态=空房 + where 客房编号= + txbRoomCode.Text.Trim + db.RunDelOrInsSQL(strSQL)db.Dispose()删除当前行的数据DataSet11.Tables(入住单). _Rows(bmData.Position).Delete()If Me.DataSet11.HasChanges = True Then更新DataSet11SqlDataAdapter1.Update(DataSet11)End IfCatch ex As ExceptionMessageBox.Show(数据删除失败!)End Try4.2.7实现消费记账功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmConsume.vb”,单击【打开】选项出现【继承选择器】对话框,在选择frmBase选项并为窗件添加如图4-16所示控件。图4-16消费记账功能窗体(2)从工具箱中拖到一个SqlDataAdapter控件到窗体上,连接到设计的数据库,并添加客房类型的数据库信息(3)从工具箱中拖到一个SqlDataAdapter控件到窗体上,连接到设计的数据库,并添加客房类型的数据库信息(4)为TextBox控件以及ComboBox控件设置数据源。(5)功能实现的部分代码如下Public Overrides Sub SaveForAdd()Dim dr As DataRow = DataSet11.Tables(帐单明细).NewRow()Trydr(入住单号) = txbInId.Text.Trimdr(消费内容) = cbbContent.Text.Trimdr(消费金额) = txbMoney.Text.Trimdr(消费时间) = tmConsume.Value.ToStringdr(备注) = txbRemark.Text.TrimCatch ex As ExceptionMessageBox.Show(ex.ToString) 数据格式不正确!)Exit SubEnd TryTryDataSet11.Tables(帐单明细).Rows.Add(dr)If Me.DataSet11.HasChanges = True ThenSqlDataAdapter1.Update(DataSet11)End IfCatch ex As ExceptionMessageBox.Show(数据添加失败!)End TryLoadData()dgdList.DataSource = dtData.DefaultViewEnd Sub4.2.8 实现收银退房功能(1)在【添加新项】对话框的【模板】列表框中选择【继承的窗体】选项,并命名为“frmCash.vb”,单击【打开】选项出现【继承选择器】对话框,在选择“frmBase” 选项并为窗件添加如图4-17所示的控件:图4-17收银退房功能窗体(2)从工具箱拖到一个SqlDataAdapter对象到窗体上,连接hotelbook数据库,添加入住单表并选择“入住单号、客房类型、客房编号、抵店时间、离店时间、入住价格、加床价格、预收款、应收账款、结账金额、是否结账、结账日期、付款方式”字段。(3)在SqlDataAdapter对象上右击,在弹出的快捷菜单中选择【生成数据集】命令。在弹出的【生成数据集】对话框中单击【新建】单选按钮,然后单击【确定】按钮。(4)功能实现部分代码如下:Public Overrides Sub LoadData() 清空DataSet11 DataSet11.Clear() SqlConnection1.ConnectionString = DataBase.sConn Dim strSQL As String SqlDataAdapter1.SelectCommand.CommandText _ = SELECT 入住单号, 客房类型, 客房编号, 抵店时间, 离店时间, 入住价格, 加床价格, 预收款, 应收帐款, 结帐金额, 是否结帐, 结帐日期, 付款方式 FROM 入住单 根据查询条件重新填充DataSet11 SqlDataAdapter1.Fill(DataSet11) dtData = DataSet11.Tables(入住单) bmData = Me.BindingContext(DataSet11, 入住单) If bmData.Count 0 Then bmData.Position = 0 End If End Sub 4.2.9实现设置房态图的功能(1)新建一个窗体,将其Name属性改为“frmRoomState”,并为其添加如下图4-18控件。图4-18房态图设置功能窗体(2)为类添加如下变量Public Class frmRoomState Inherits System.Windows.Forms.Form 为dgdList保存数据的数据表 Private dtData As DataTable 保存要显示的客房信息的数据表 Private dtRoom As DataTable保存位图对象的ArrayList Private bitMaps As ArrayList 记录房间数最多的那一层的房间数 Private iMaxRoomNumber As Int16 Private gridMouseDownTime As DateTime = New DateTime 客房编号 Public strRoomCode As String = 双击DataGrid的单元格是否关闭窗口 Public bClose As Boolean = False 限制要显示那些状态客房的字符串 Public strFilter As String = (3)选择【文件】下的【添加现有项】命令,将表示客房状态的图片加入到项目中,单击【打开】按钮(4)在【解决方案资源管理器】对话框设置刚刚加入到项目的7个表示客房状态的位图文件,将【属性】中的【生成操作】设置为【嵌入的资源】(5)功能实现的部分代码如下:Private Sub btnSet_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSet.Click Dim iRow, iCol As Integer iRow = dgdList.CurrentCell.RowNumber iCol = dgdList.CurrentCell.ColumnNumber Dim strState As String = dgdList.Item(iRow, iCol) Dim strTmpState As String If iCol 0 Then If Me.rbnArrive.Checked = True Then strTmpState = 0 ElseIf Me.rbnEmpty.Checked = True Then strTmpState = 2 ElseIf Me.rbnFull.Checked = True Then strTmpState = 4 ElseIf Me.rbnLeave.Checked = True Then s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论