《宾馆管理系统论文.pdf》由会员分享,可在线阅读,更多相关《宾馆管理系统论文.pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 摘 要 随着我国经济的迅速开展和假日经济的出现,宾馆酒店业的竞争愈来愈剧烈。要想在竞争中取得优势,必须在经营管理、产品效劳等方面提高效劳管理意识。而对酒店的经营状况起决定作用的是酒店的管理。如何利用先进的管理手段,提高酒店的管理水平,是每一家酒店的管理者所面临的重要课题。简单的效劳标准已经不是制胜的锦囊,只有做到最细微之处才有时机让顾客体会到酒店效劳的优点,而准确、快捷、周全往往就是最根本的成功要素。虽然计算机管理并不是酒店走向成功的关键元素,但它可以最大限度的为准确、快捷、周全等要素发挥效用提供有力的支持。因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善效劳水准的重要手
2、段之一。面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。信息与科技在酒店管理与现代化建立中显现出越来越重要的地位。在某种意义上,酒店客房状态管理方面的信息化与科学化,已成为现代化酒店的重要标志。系统是在 WindowsXP 的环境下,用 Borland Delphi7.0 开发的信息管理系统。该系统采用模块化设计,根据宾馆前台收银管理系统的实际情况,研究开发的一套管理系统。宾馆收银管理系统针对我国目前宾馆收银管理现状以及未来的开展趋势将宾馆收银思想融入其中,充分表达了现代宾馆收银新思想。主要功能是完成了对大量宾馆收银信息的系统化管理。包括新帐目的录入,对存档数据的更
3、新、删除、修改、综合查询;帮助等。通过计算机使宾馆收银管理步入了自动化,科学化管理的行列。防止了以往手工操作等繁杂的劳动,即节省了人力,又方便快捷,还大大提高数据的准确性。本系统除了对宾馆收银管理系统的各个功能模块作了详细的介绍,还附有各功能模块的主界面图。在功能表达过程中配有插图,帮助更好的理解和使用该系统的功能内容。关键词:客房管理系统 可行性分析 需求分析 概要设计 页脚下载后可删除,如有侵权请告知删除!目 录 1 概述.1 2 可行性分析.2 2.1 技术可行性.2 软件可行性.2 硬件可行性.2 2.2 经济可行性.2 2.3 操作可行性.3 3 需求分析.3 3.1 软件生存周期.
4、4 3.2 需求分析的步骤.4 3.2.1 需求信息的收集.4 3.2.2 调查的目的.5 3.2.3 调查的内容.5 3.3 宾馆前台收银管理的目的.5 4 概要设计.6 4.1 宾馆前台收银管理系统的内容.6 4.2 系统设计的意义.6 4.3 开发环境介绍.7 4.4 系统应实现的具体功能.8 4.5 系统功能模块构造图.9 5 详细设计.9 5.1 设计目标.9 5.2 数据库设计.10 5.2.1 数据库概要说明.10 5.2.2 主要数据表构造.10 ER 图绘制.12 5.3 功能模块设计.14 5.4 主窗口设计.16 页脚下载后可删除,如有侵权请告知删除!5.4.1 客户区设
5、计.16 5.4.2 菜单设计.17 5.4.3 代码分析.18 5.5 登录模块设计.21 5.5.1 实现目标.21 5.5.2 设计步骤.21 5.5.3 代码分析.23 5.6 住宿管理模块设计.25 5.6.1 实现目标.25 5.6.2 设计步骤.25 5.6.3 代码分析.26 总结.29 参考文献.30 页脚下载后可删除,如有侵权请告知删除!1 概述 随着社会开展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。只有拥有了先进的
6、数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。酒店客房的管理是酒店管理的一个重要的内容都必须切实面对的工作,但一直以来人们使用传统的人工方式管理酒店,这种管理方式存在着许多缺点,如:效率低、保密性差且较为烦琐,另外随着客房数量的增加,其工作量也将大大增加,这必然增加客房管理者的工作量和劳动强度,这将给客房管理信息的查找、更新和维护都带来了很多困难。经过详细的调查,目前我国各类酒店客房中有相当一局部单位客房管理还停留在人工管理的根底上,尤其是中、小得酒店客房的管理更是如此,这样的管理机制已经不能适应时代的开展,其管理方法将浪费许多人力和物力。随着科学技术的不
7、断提高,这种传统的手工管理方法必然被以计算机为根底的信息管理方法所取代。客房管理作为计算机应用的一个分支,有着手工管理所无法比较的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高酒店管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的酒店客房管理系统,将是非常必要的,也是十分及时的。因此可以把宾官客房管理作为设计的题目。宾馆收银管理系统针对我国目前宾馆收银管理现状以及未来的开展趋势将宾馆收银思想融入其中,充分表达了现代宾馆收银新思想。主要功能是完成了对大量宾馆收银信息的系统化管理。包括新帐目的录入,对存档数据的更新、删除、修改
8、、综合查询;帮助等。通过计算机使宾馆收银管理步入了自动化,科学化管理的行列。防止了以往手工操作等繁杂的劳动,即节省了人力,又方便快捷,还大大提高数据的准确性。页脚下载后可删除,如有侵权请告知删除!本系统除了对宾馆收银管理系统的各个功能模块作了详细的介绍,还附有各功能模块的主界面图。在功能表达过程中配有插图,帮助更好的理解和使用该系统的功能内容。2 可行性分析 技术可行性 软件可行性 该软件的开发可以在任何版本Windows 操作系统下进展,利进展 Delphi7.0开发,在计算机上只需安装一般的字处理软件和一些支持软件,不需要大型的系统软件和应用软件来支持。硬件可行性 该系统是一个数据库管理系
9、统,对数据库进展操作只需要奔腾以上处理器的计算机,内存应该为 32M 以上,有 1G 空余硬盘空间的计算机来开发和运行该软件。目前,开发者熟悉 Delphi7.0 和 Windows98 操作系统,具有开发大型软件的能力。综上,开发该管理软件具有技术可行性的。2.2 经济可行性 进展该软件的开发经费和投资较少,开发只需一台奔腾以上的计算机及相应的软件。该系统的研制和开发充分考虑用户的业务往来、管理流程和人员素质等方面的因素,从而能够满足使用的要求。窗口操作简单,直观,易于掌握。是具有运行可行性的。综上所述,开发酒店收银管理系统是可行的。随着信息技术的开展和人们对宾馆酒店的要求越来越高,许多宾馆
10、已明显觉得手工管理已不能适应当前宾馆高速开展的需要,宾馆已意识到使用计算机网络和计算机管理的重要性,决定首先在客房部采用宾馆客房管理系统。该系统应充分利用信息技术提高宾馆客房的管理水平、效劳水平。宾馆客房管理系统要实现客房预定、住宿登记、追加押金、调房登记、退房结帐、挂账、页脚下载后可删除,如有侵权请告知删除!查询统计、预收销售报表等功能。其中动态实时的住宿登记、客房调整、销售报表、追加押金等有机的联系在一起,对宾馆客房进展全方位的管理。2.3 操作可行性 在用户登录模块中,分为管理员用户和普通用户,分别赋予不同的权限,管理员用户可以对数据库进展数据库的日常维护,其中包括数据库信息的查询、修改
11、、插入与删除,以及普通用户的批准;普通用户可以对数据库进展数据信息的查询。在其它用户管理模块中,主要实现对登陆人员信息的管理,包括姓名,凭证号,编号和联系方式等信息的管理。在查询模块中实现对客房情况,用户情况等查询,方便对客房入住情况,客户入库情况的查询,并可对用户的信息进展查询。介于本系统界面清晰,操作简单,查找添加数据方便,易于操作,对于此系统的可操作性强。3 需求分析 设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和最根本的。特别是数据应用非常广泛,非常复杂,要是事先没有对信息进展充分和细致的分析,这种设计就很难取得成功。通过需求分析阶段对仓库管理系统的整个应用情况作全面
12、的、详细的调查,确定仓库管理的目标,收集支持系统总的设计目标的根底数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够承受的文档。事实上,需求分析是数据库开发中最难的任务之一。因为,第一,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。第二,用户很难说清某局部工作的功能处理过程。所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。页脚下载后可删除,如有侵权请告知删除!3.1 软件生存周期 需求分析主要是确定宾馆收银管理系统的功能、性能、数据、界面等要求。根据软件生存周期这一思想,可得出软件生存具体包括五
13、个方面的内容:1.制定方案。确定宾馆收银管理系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求;同系统分析员和用户合作,研究完成开发宾馆收银管理系统的可行性,探讨解决问题的可能方案,制定出完成宾馆收银管理系统的实施方案。2.需求分析和定义。对待宾馆收银管理系统提出的需求进展分析并给出详细的定义。3.软件设计。设计是软件工程的技术核心。在设计阶段中,设计人员把已确定了的各项需求转换成一个相应的体系构造。4.程序编写。把宾馆收银管理系统设计转换成计算机可以承受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单。这一步工作也称为编码。5.软件测试。测试是保证宾馆收银管理系统软件质
14、量的重要手段,其主要方式是在设计测试用例的根底上检验宾馆收银管理系统软件的各个组成局部。6.运行及维护。宾馆收银管理系统软件在运行中可能由于多方面的原因,需要对它进展修改。其原因可能有:运行中发现了宾馆收银管理系统软件中的错误需要修正;为了适应变化了的宾馆收银管理系统软件工作环境,需做适当变更;为了增强件的功能需做变更。3.2 需求分析的步骤 需求分析大致可分为三步来完成,即需求信息的收集、分析整理和评审通过。3.2.1 需求信息的收集 需求信息的收集又称为系统调查。为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。页脚下载后可删
15、除,如有侵权请告知删除!3.2.2 调查的目的 首先,要了解组织的机构设置,主要管理活动和职能。其次,要确定组织的目标,大致管理流程和任务范围划分。因此,宾馆客房管理系统主要是通过对现有的客房管理系统进展考察、研究。并且通过和酒店客房管理人员、供货商交流来完善管理功能。3.2.3 调查的内容 外部要求:信息的性质,响应的时间、频度和如何发生的规那么,以及客房管理的要求,平安性及完整性要求。管理的现状:即客房管理信息的种类,信息流程,信息的处理方式,各种客房效劳工作过程。组织机构:了解仓库管理机构的作用、现状、存在的问题,及是否适应计算机管理 3.3 宾馆前台收银管理的目的 在信息高度兴旺的今天
16、,宾馆收银涉及的各环节已不再仅仅是传统的住宿,结算业务而是更广泛、更全面的效劳性行业代表。宾馆作为一个效劳性行业,从客房的营销,即客人的预定开场,到入住登记直至最后退房结帐,整个过程应该能够表达以客人为中心,提供快捷、方便的效劳,令客人感受到一种顾客至上的享受,提高宾馆的管理水平,简化各种复杂操作,在最合理最短时间内完成宾馆业务标准操作,这样才能令客人舒适难忘,增加客人回头率。面对宾馆业内剧烈的竞争形势,各宾馆均在努力拓展其效劳领域的广度和深度。虽然信息化并不是宾馆走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机网络和管理系统,将成为提高宾馆的管理效
17、率,改善效劳水准的重要手段之一。现代宾馆前台收银管理和计算机系统结合得非常严密,很多收银效劳的有效执行和监视都依赖于完善的计算机收银管理系统。其目的是实现宾馆前台收银管理的系统化、标准化和自动化。页脚下载后可删除,如有侵权请告知删除!4 概要设计 软件的开发包括系统分析、系统设计规划、后期编码、软件测试、软件发布等过程。系统分析是开发一个工程的前提。宾馆前台收银管理系统的内容 在信息高度兴旺的今天,宾馆收银涉及的各环节已不再仅仅是传统的住宿,结算业务而是更广泛、更全面的效劳性行业代表。宾馆作为一个效劳性行业,从客房的营销,即客人的预定开场,到入住登记直至最后退房结帐,整个过程应该能够表达以客人
18、为中心,提供快捷、方便的效劳,令客人感受到一种顾客至上的享受,提高宾馆的管理水平,简化各种复杂操作,在最合理最短时间内完成宾馆业务标准操作,这样才能令客人舒适难忘,增加客人回头率。面对宾馆业内剧烈的竞争形势,各宾馆均在努力拓展其效劳领域的广度和深度。虽然信息化并不是宾馆走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机网络和管理系统,将成为提高宾馆的管理效率,改善效劳水准的重要手段之一。根据宾馆的具体情况,系统主要功能包括:住宿管理模块:包括客房预定、入住登记、客人续住、调房登记、退房结帐 5 局部。客房管理模块:包括客房设置 、客房查询、宿费提醒 3
19、 局部。查询统计模块:包括预定房查询、住宿查询、退宿查询、客房宿费统计4局部。报表管理模块:包括预售报表、客房销售报表 2 局部。挂帐管理模块:包括客户管理、挂账查询、客户结帐3 局部。系统设置模块:包括系统初使化、权限管理、密码设置3 局部。系统设计的意义 面对效劳行业的高速开展和宾馆企业信息化开展的过程中出现的各种情况,该宾馆收银管理系统在实施后应能够到达以下目标:实现多点操作的信息共享,相互之间的信息传递要准确、快捷。页脚下载后可删除,如有侵权请告知删除!采用汉字图形用户界面,系统界面友好美观,操作简单易行,查询灵活方便。业务管理信息化,可随时掌握客人消费、结帐、挂账等情况。采用多种付款
20、方式。现金、支票、挂账等多种方式混合收银。该软件应尽可能地降低使用者的劳动强度,同时提高工作质量和效率。系统维护方便可靠,具有灵活性、通用性及平安性的特点。开发环境介绍 Delphi 7.0 是 Borland 公司推出的全新 32 位 Windows 开发工具。该版本继承了以前版本使用简便、功能强大、效率高等特点,而且它还增强了面向对象程序设计的功能,是目前使用得最为广泛的优秀应用系统开发工具之一。它整体上小巧精短,然而其功能却可以和庞大的 Visual C+媲美;它易用,如同 VB,PB,被称为第 4 代编程语言4GL。计算机软件开发有二个体系,一个是使用传统的程序设计语言,比方C,Pas
21、cal 和 Basic 等,另一个那么是通用的数据库管理软件领域数据库应用程序的开发。而作为一个优秀的可视化软件开发环境,Delphi 在继承了传统编程语言 Object Pascal 和数据库语言的所有功能的根底上,结合了这二个体系的很多优点,它可以用于传统的算术计算编程,也可以用于 Windows 程序开发。由 Delphi开展的变体 Kelix 还可以在 Linux 世界里大展身手。更令人称道的是,Delphi 具有强大的数据库应用程序开发功能,利用 Delphi 的数据库手段,甚至可以不必写一行代码便能够开发出简单的数据库应用程序。Delphi 支持 BDE、ODBC、ADO 等几种数
22、据引擎,可以访问多种数据格式。使用 BDE 的 SQL Links 或 ODBC、ADO 接口还可以开发客户/效劳器体系的数据库应用系统。Microsoft SQL Server 2000 是微软公司开发的中型关系数据库管理系统。由于其操作简单,价格相对较低,适用于预算紧张、员工不多的中小企业。由于SQL Server 2000 与当前 Windows 操作系统有着天然的兼容性,并且该数据库软件具有友好的操作界面和良好的兼容性,设计后台数据库充分了解用户各个方面的需求,以及考虑到前台开发语言与后台库的衔接要求,最终确定 SQL Server 2000 为毕业设计的数据库系统设计软件。页脚下载后
23、可删除,如有侵权请告知删除!系统应实现的具体功能 为了适应现代社会人们高度强烈的时间观念,宾馆管理系统软件为管理人员带来了极大的方便。通过操作手册,使用者可以了解本软件的根本工作原理。操作人员只需输入一些简单的汉字、数字,即可到达自己的目标。对于宾馆来说,利用计算机支持高效率完成日常事务,是适应现代要求、推动管理走向科学化、标准化的必要条件;而且宾馆管理又是一项非常烦琐的事情,数量之大,核算极其不便。同时计算机具有手工管理所无法比较的优点。这些优点能够极大地提高宾馆管理的效率,也是宾馆的科学化、正规化管理,与世界接轨的重要条件。根据该企业的具体情况,系统主要功能设计有六大局部,分别为住宿管理、
24、客房管理、查询统计管理、报表管理、挂账管理、系统设置。面对效劳行业的高速开展和宾馆企业信息化开展的过程中出现的各种情况,本系统主要实现如下功能:住宿管理:包括客房预定、入住登记、客人续住、调房登记、退房结帐 5局部。客房管理:包括客房设置、客房查询、宿费提醒 3 局部。查询统计:包括预定房查询、住宿查询、退宿查询、客房宿费统计 4 局部。报表管理:包括预售报表、客房销售报表 2 局部。挂帐管理:包括客户管理、挂账查询、客户结帐 3 局部。系统设置:包括系统初使化、权限管理、密码设置 3 局部。页脚下载后可删除,如有侵权请告知删除!系统功能模块构造图 图 1 宾馆管理系统构造图 5 详细设计 设
25、计目标 本软件系统使根据实际需求而开发的,完全能够实现宾馆客房信息的管理,运用本系统可以实现以下目标:界面友好,界面设计美观。轻松实现客房信息管理的可视,高效,快捷和方便的管理。数据存储平安可靠。同 Windows 操作系统的无缝结合,使用户无需为软件的移植性烦恼。根据巧妙的权限设置使保证信息平安保密。系统初始化 客房预订 住宿客房查询报表挂账入住登记 退房登记 调房登记 续住登记 宿费提醒 房态查询 预订查询 退房查询 住宿查询 宿房查询 预订报表 客房销售查询 客房管理 客房结账 权限管理 挂账查询 系统密码设置 房态设置 客房管理系统系统功能图 页脚下载后可删除,如有侵权请告知删除!数据
26、库设计 数据库概要说明 在 SQL Server 2000 数据库中建立名为 myhotel 的数据库,设计如下数据表:checkinregtable,checkoutregtable,guazhanginfo,kfyd,regmoneytable,roomsetting,setability,usertalbe。图 2 所示的即为本系统中数据库中的数据表构造图,该数据表构造图包含系统所有数据表。可以清晰地反响数据库信息。图 2 数据库概要说明 主要数据表构造 数据库中的数据如下:表 1 checkinregtable住宿登记表 字段名 数据类型 长度 描述 凭证号码 nvarchar 20
27、客户登记凭证号码 姓名 nvarchar 50 客户姓名 证件名称 nvarchar 20 客户证件 证件号码 nvarchar 20 客户证件号码 详细地址 nvarchar 50 客户详细地址 出差事由 nvarchar 50 客户出差原因 房间号 nvarchar 20 客户房间号 客房类型 nvarchar 10 客户房间类型 联系 nvarchar 20 客户联系 客房价格 money 8 客户房间价格 住宿日期 datetime 8 客户住宿日期 住宿时间 datetime 8 客户住宿时间 页脚下载后可删除,如有侵权请告知删除!住宿天数 float 8 客户住宿天数 宿费 mon
28、ey 8 折扣 float 8 应收宿费 money 8 客户应收宿费 预收金额 money 8 客户预收金额 提醒日期 datetime 8 所要求的提醒日期 退宿日期 datetime 8 所要求的退宿日期 备注 nvarchar 50 标志 nvarchar 1 日期 datetime 8 操作日期 时间 datetime 8 操作时间 结款方式 nvarchar 10 客户结款方式 退宿时间 datetime 8 客户退宿时间 提醒时间 datetime 8 客户提醒时间 摘要 nvarchar 200 附加摘要 BZ float 8 表 2 roomsetting客房设置表 字段名
29、数据类型 长度 描述 房间号 nvarchar 30 房间类型 nvarchar 20 价格 money 8 房态 nvarchar 4 标志 bit 1 使用标志 备注 nvarchar 100 配置 nvarchar 100 使用设置 nvarchar 10 营业日期 smalldatetime 4 页脚下载后可删除,如有侵权请告知删除!表 3 顾客信息表 字段名 列标示 类型 长度 完整性约束 身份证号 身份证号 char 20 主键 顾客姓名 姓名 char 8 允许空值 顾客性别 性别 char 2 允许空值 顾客 char 12 允许空值 入住日期 入住日期 datetime 8
30、不允许空值 折扣 折扣 smallint 2 允许空 表 4 订房信息表 字段名 列标示 类型 长度 完整性约束 订房编号 订房编号 int 4 主键 入住日期 入住日期 datetime 8 不允许空值 身份证号 身份证号 char 20 不允许空值 顾客姓名 姓名 char 8 允许空值 顾客性别 性别 char 2 允许空值 表 5 房间信息表 字段名 列标示 类型 长度 完整性约束 房间编号 编号 int 4 主键 房间单价 单价 money 8 不允许空值 是否有空调 空调 bit 1 允许空值 是否有电视 电视 bit 1 允许空值 是否有 bit 1 允许空值 是否有独立卫生间
31、独立卫生间 bit 1 允许空值 表 6 入住信息表 字段名 列标示 类型 长度 完整性约束 身份证号 身份证号 char 20 主键 顾客姓名 姓名 char 8 允许空值 房间编号 编号 int 4 不允许空值 入住日期 入住日期 datetime 8 不允许空值 顾客性别 性别 char 2 允许空值 页脚下载后可删除,如有侵权请告知删除!ER 图绘制 图 3 房间实体-属性图 图 4 顾客实体-属性图 图 5 订房信息实体-属性图 订房信息 订房编号 入住日期 折扣 性别 姓名 身份证号 顾客 入住日期 性别 姓名 身份证号 折扣 房间 编号 卫生间 可住人数 单价 电视 空调 页脚下
32、载后可删除,如有侵权请告知删除!图 6 入住信息实体-属性图 图 7 宾馆信息管理系统综合 E-R 图 功能模块设计 1利用 Vc+建立一个基于对话框的应用程序,如图 8 所示,在对话框中输入工程名字和保存目录,点击“确定按钮。n m 1 1 1 n 房间 入住 订房 结算 顾客 身份证号 姓名 入住日期 性别 编号 入住信 页脚下载后可删除,如有侵权请告知删除!图 8 “新建窗口 2在弹出的步骤 1 对话框中选择基于对话框选项,如图 9 所示,点击“下一步按钮。图 9 “步骤 1窗口 3以下步骤保持默认选择,直到完成。页脚下载后可删除,如有侵权请告知删除!5.4 主窗口设计 主程序界面是应用
33、程序提供应用户访问其他功能模块的平台,根据实际需要,物流综合管理系统的主界面采用了传统的“菜单/工具栏/状态栏风格。物流综合管理系统主程序界面如图 10 所示。图 10 主程序运行界面 .1 客户区设计 在生成的对话框内添加图片、静态文本、标签、编辑框、按钮等资源。设置主要资源属性如下表所示:控件的属性和 ID 见如表 7 所示。表 7 控件的属性和 ID 控件 ID 标题 ID_BTN_borrowroom 开房 ID_BTN_returnroom 结帐 ID_BTN_mainfind 查询 ID_BTN_daysummery 日结 ID_BTN_alert 月结 ID_CLOSE 退出 页
34、脚下载后可删除,如有侵权请告知删除!5.4.2 菜单设计 1点击 insertResourse 翻开添加资源界面如下列图 11 所示。图 11 “Insert Resourse窗口 2 选择 Menu,点击 New,插入空白菜单,设置 ID 属性为 IDR_mainMENU然后按照图 12 编辑菜单项 图 12 菜单资源 主菜单的各个子菜单的 ID 和标题属性如表 8 所示。表 8 各个子菜单的 ID 和标题属性 控件 ID 标题 ID_MENU_checkinreg 住宿登记 ID_MENU_roomsetting 客房设置 ID_MENU_checkout 退宿结帐 ID_MENU_add
35、money 追加押金 页脚下载后可删除,如有侵权请告知删除!ID_MENU_changeroomreg 调房登记 ID_MENU_findroom 客房查询 ID_MENU_findguazhang 挂帐查询 ID_MENU_guazhangmoney 客户结款 ID_MENU_findcheckinreg 住宿查询 ID_MENU_findcheckoutreg 退宿查询 ID_MENU_findroomfee 宿费提醒 ID_MENU_regmoneytable 登记预收报表 ID_MENU_saleroomtable 客房销售报表 ID_MENU_saleroomsummary 客房销售
36、统计 ID_MENU_adm_setting 操作员设置 ID_MENU_pwd_setting 密码设置 ID_MENU_setting_begin 初始化 ID_MENU_setting_ability 权限设置 ID_MENU_findroomstate 房态查看 ID_MENU_roomprebook 客房预定 ID_MENU_findprebookroom 预定房查询 5.4.3 代码分析 1系统主界面操作可以根据用户的权限设定,所以要参加连接数据库功能,故在 stdafx.h 文件中参加以下代码,提供参加 ADO 的支持/add the support of ADO#import
37、c:program filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF)并在中参加:CDatabase m_DB;_ConnectionPtr m_pConnection;此外在的初始化函数中参加连接数据库的代码:ry/连接数据库 页脚下载后可删除,如有侵权请告知删除!CString strConnect;strConnect.Format(DSN=myhotel;);if(!m_DB.OpenEx(strConnect,CDatabase:useCursorLib)AfxMessageBox(Unable
38、to Connect to the Specified Data Source);return FALSE catch(CDBException*pE)/抛出异常 pE-ReportError();pE-Delete();return FALSE;/初始化 COM,创立 ADO 连接等操作 AfxOleInit();m_pConnection.CreateInstance(_uuidof(Connection);/在 ADO 操作中建议语句中要常用 try.catch()来捕获错误信息,/try /翻开本地数据库 m_pConnection-Open(Provider=MSDASQL.1;Pe
39、rsist Security Info=False;Data Source=myhotel,adModeUnknown);catch(_com_error e)/抛出可能发生的异常 AfxMessageBox(数据库连接失败,确认数据库配置正确!);return FALSE;2此主窗口初始化时候要根据登录的操作员的权限来设置登录操作员所有权进展的操作,此功能由函数 setuserability 来完成,代码为:void CMyhotelDlg:setuserability()m_pRecordset.CreateInstance(_uuidof(Recordset);_variant_t va
40、r,varIndex;/loguserid=操作员 01;CString strsqlshow;strsqlshow.Format(SELECT*FROM setability where 操作员=%s,loguserid);页脚下载后可删除,如有侵权请告知删除!try/翻开数据库连接 m_pRecordset-Open(_variant_t)(strsqlshow),/查询表中所有字段 theApp.m_pConnection.GetInterfacePtr(),/获取库接库的 IDispatch 指针 adOpenDynamic,adLockOptimistic,adCmdText);va
41、r=m_pRecordset-GetCollect(初始化);if(var.vt!=VT_NULL)if(LPCSTR)_bstr_t(var)=ling)/判断是否有权限操作初始化模块 /如果没有权利就使该菜单灰显 EnableMenuItem(mynenu-m_hMenu,ID_MENU_setting_begin,MF_DISABLED|MF_GRAYED);/读取数据表内权限设置字段内容 var=m_pRecordset-GetCollect(权限设置);if(var.vt!=VT_NULL)if(LPCSTR)_bstr_t(var)=ling)/判断是否有权限操作权限设置模块/如果
42、没有权利就使该菜单灰显 EnableMenuItem(mynenu-m_hMenu,ID_MENU_setting_ability,MF_DISABLED|MF_GRAYED);mynenu-Detach();DrawMenuBar();/重绘主菜单 catch(_com_error*e)/捕获异常 AfxMessageBox(e-ErrorMessage();m_pRecordset-Close();/关闭记录集 m_pRecordset=NULL;剩余代码省略。页脚下载后可删除,如有侵权请告知删除!登录模块设计 5.5.1 实现目标 为了防止非法用户进入系统,本软件设计了系统登录窗口。在程
43、序启动时,首先弹出登录窗口,要求用户输入登录信息,如果用户输入不合法,将制止进入系统。系统登录窗口运行结果下列图 13 所示。图 13 登录窗口 5.5.2 设计步骤 图 14 “Insert Resourse窗口 1点击 insertResourse 翻开添加资源界面如图 10 所示。选择 Dialog,点击 New,插入新的对话框。页脚下载后可删除,如有侵权请告知删除!2利用类向导为此对话框资源设置属性。在“Name编辑框中输入窗口类名,例如“CLoginDlg,在“Base class组合框中选择一个基类,这里为“CDialog,单击“OK按钮创立窗口。3在工作区的资源视图中选择新创立的
44、窗口,向窗口中添加静态文本、列表框、编辑框、按钮等资源。设置主要资源属性如表 9 所示。表 9 资源属性 控件 ID 对应变量/标题属性 IDC_COMBO_username m_username IDC_password m_password IDOK 确定 IDCANCEL 取消 4然后建立和数据库的映射:利用类向导建立记录集的映射类。如图 15所示。图 15 “新建类窗口 选择基类为 CRecordset,点击“OK按钮进入下一步,如下列图 16 所示。页脚下载后可删除,如有侵权请告知删除!图 16 “Database Option窗口 选择数据源类型为 ODBC,并选择所使用的数据源,
45、在此选择我们使用的myhotel 数据源。点击“OK,进入下一步,如图 17 所示。图 17 “Select Database Tables 选择所要关联的数据表,因为是操作员登录信息,所以用户表数据表,点击OK 完毕。5.5.3 代码分析 1可以看到我们已经创立了一个新类 CUserset,其头文件的关键代码如下:页脚下载后可删除,如有侵权请告知删除!class CUserset:public CRecordset public:CUserset(CDatabase*pDatabase=NULL);DECLARE_DYNAMIC(CUserset)/Field/Param Data /AFX
46、_FIELD(CUserset,CRecordset)CString m_user_name;CString m_user_pwd;/AFX_FIELD/Overrides /ClassWizard generated virtual function overrides /AFX_VIRTUAL(CUserset)public:virtual CString GetDefaultConnect();/Default connection string virtual CString GetDefaultSQL();/Default SQL for Recordset virtual void
47、 DoFieldExchange(CFieldExchange*pFX);/RFX support /AFX_VIRTUAL/Implementation#ifdef _DEBUG virtual void AssertValid()const;virtual void Dump(CDumpContext&dc)const;#endif;剩余代码省略。2点击“确定按钮可以登录到系统主界面,此按钮的相应函数为:if(style&ES_MULTILINE)=0)if(strnicmp(class_name,edit,5)=0)/将焦点设置到默认按钮上面 GetDlgItem(LOWORD(def_
48、id)-SetFocus();页脚下载后可删除,如有侵权请告知删除!pMsg-wParam=VK_TAB;/重载回车键盘消息为 table键盘消息,ok!return CDialog:PreTranslateMessage(pMsg);剩余代码省略。5.6 住宿管理模块设计 住宿管理模块包括“客房预定“住宿登记“追加押金“调房登记“退宿结帐等功能子模块。下面详细介绍客房预定子模块设计 5.6.1 实现目标 此模块实现客房预定的功能,主要登记用户的姓名,证件,证件号码,预住日期等信息,是为预定客户提供的方便模块。运行界面如图 18 所示。图 18 “客房预定窗口 5.6.2 设计步骤 1点击 i
49、nsertResourse 翻开添加资源界面,选择 Dialog,点击 New,插入新的对话框。2利用类向导为此对话框资源设置属性。在“Name编辑框中输入窗口类名,例如“CRoomprebookdlg,在“Base class组合框中选择一个基类,这里为“CDialog,单击“OK按钮创立窗口。页脚下载后可删除,如有侵权请告知删除!3在工作区的资源视图中选择新创立的窗口,向窗口中添加静态文本、列表框、编辑框、按钮和日期选择控件等资源。设置主要资源属性如表所示。各个主要控件的 ID 和属性设置如表 10 所示。表 10 控件的 ID 和属性 控件 ID 变量 IDC_COMBOprebooki
50、dkind m_prebookidkind IDC_COMBOroomkind m_prebookroomkind IDC_DATETIMEPICKERprecheckindate m_prebookcheckindate IDC_prebookaddr m_prebookaddr IDC_prebookdays m_prebookdays IDC_prebookhandinmoney m_prebookhandinmoney IDC_prebookidnumber m_prebookidnumber IDC_prebookname m_prebookname IDC_prebooktelnu