当前位置:论文网 > 论文宝库 > 信息科技类 > 计算机信息管理论文 > 正文

基于C#3.0的酒店管理系统

来源:UC论文网2019-05-16 09:36

摘要:

  摘要:该文设计提出一种基于C/S结构的酒店管理系统,采用微软公司最新的C#3.0和sqlserver2005数据库对应用程序进行开发和研究,较好地解决了各个酒店管理的实际问题。  关键词:C/S;酒店管理;C#3.0;sqlserver2005  中图分类号:TP312文献标识码:A文章编号:1009-3044(2012)08-1741-06  作者:钱峰  随着信息社会的快速发展,现代的很多...

  摘要:该文设计提出一种基于C/S结构的酒店管理系统,采用微软公司最新的C#3.0和sqlserver2005数据库对应用程序进行开发和研究,较好地解决了各个酒店管理的实际问题。


  关键词:C/S;酒店管理;C#3.0;sqlserver2005


  中图分类号:TP312文献标识码:A文章编号:1009-3044(2012)08-1741-06


  作者:钱峰


  随着信息社会的快速发展,现代的很多行业都进入了信息时代。当然服务业的信息时代也随之而来了,在这其中,酒店服务业与国际市场的接轨也以成为大势所趋,酒店为了迎接这次的变革,就必须提高整体的竞争力,变革酒店的管理模式,提高酒店的管理水平。目前我国的酒店管理明显的落后于国外的酒店。在这激烈的竞争中,如何能把握机会,保持自己的优势,立于不败之地呢?这就需要提供更好的服务,提供最完善的设施和最先进的技术。在现在的信息时代,更重要的还是需要一个更加完善的管理信息系统,便于客户使用和管理酒店。


  本系统是一套适用于中、小型星级宾馆使用的优秀系统,操作简单,灵活性好、系统安全性高,运行稳定。该酒店管理系统,用户只需要简单的输入,所有数据都由数据库管理系统管理。本文中数据库服务器端采用了流行的功能强大的SQLServer2005作为后台数据库,为数据的安全和程序的稳定运行提供了保障。


  1需求分析


  1.1酒店管理系统架构以及模块设计


  图1为酒店管理系统七个子功能模块


  酒店管理系统主要包括以下功能模块:登录功能、房间类型的管理、房间的管理、开房、退房、数据操作、预订房、换房间八个部分。以下按照不同的功能处理对具体功能进行描述。


  1.2功能需求分析


  1)登录功能


  只有在输入正确的户名和密码才可登录进入操作界面。


  2)房间类型的管理


  可以对房间类型进行增添、删除、修改、查询功能。


  3)房间信息的管理


  可以对房间信息进行增添、删除、修改、查询功能。


  4)开房功能


  记录住户信息,并把相应的房间状态改为“入住”。


  5)退房


  ①退房时算出总费用(房间价格+加床价格)*天数。


  ②退房时要判断当前退房的时间,一般酒店是在中午12点退房,超过12点理论上要多算一天.可弹出提示“是否多加一天”。


  ③退房成功后把相应的房间状态改为“空闲”。


  ④更新用户消费总金额。


  ⑤更新用户的VIP状态。


  6)数据操作


  ①可按月查看入住记录。


  ②可查看指定日期的入住记录。


  ③可搜索指定姓名住户的入住记录。


  7)预订房功能


  ①提前预定房间,注意房间的状态,预定日期前还是可以由其他房客入住。


  ②预定房间到期时未入住的处理。


  8)换房间


  可以在住户需要时办理换房间业务。


  3开发环境介绍


  在2002年,微软公司介绍了一个重要的新产品,被命名为.NET框架。这宣布了点网是产生。主要框架如下:


  1)它来源于C语言、VisualBasic和C++


  2)它的设施有助于程序设计互动式网站,例如那些帮用来做电子商务的,微软把因特网看得至关重要,因此把它名为.NET


  3)很有可能.NET对于其他操作系统也是可用的,而不仅仅是用于MicrosoftWindows


  4)它能让我们建立能通过网络传播的软件组件(‘对象’)


  什么是程序


  在这一节我们将试着给读者一些关于什么是程序的印象。其中一种去理解它的方法是使用推理,通过配方、音乐分数和针织模式。甚至一条用于一瓶洗发水的指令也是一个程序,如:


  wethair


  applyshampoo


  massageshampoointohair


  rinse


  这个程序是为了方便与人类的指令的列表,但它确实证明了程序重要的一面――一个程序就是一连串的指令的执行,从开始的指令一条一条地执行直到最后一条指令的完成。一个配方、音乐分数和一个针织模式是相似的,它们构成了按顺序执行的指令的列表。在针织模型的例子中,针织机器的存在是给出将要执行的一个程序的指令,这就是什么是计算机:它是一种机器,一种自动执行一系列指令即程序的机器。(事实上,如果我们做出了错误的指令,计算机将会出错)一整套为计算机服从的可利用的指令通常包括:


  1)输入一个数值;


  2)输入一些字符(字母和数字);


  3)输出一些字符;


  4)做一个计算;


  5)输出数值;


  6)在屏幕输出一些图形图像;


  7)在屏幕上点击一个按钮并做出相应的回应


  编程的工作就是从指令列表中选择其一来执行要求的任务。这些指令是用一种被称为编程语言的特殊的语言来编写的。C#就是众多这种语言中的一种。学习程序意味着要学习编程语言的设施和学习怎么去结合它们以便使用它们去做你想要做的。这个音乐分数是例子说明了程序的其他方面,这个在音乐方面是很普遍的重复部分,例如一个合唱部分。音乐记谱法节省了作曲家重复地复制分数的部分,并且,取而代之,提供了一种音符指定重复的一连串音乐。同理,在程序中也是一样的。经常有一些动作是重复的:例如,在文字处理程序,为了发生一个字搜寻一段文字。在程序中重复是普遍的,并且C#有特殊的指令去完成这个。


  配方有时候会这样说:‘如果你没有新鲜的豌豆,使用冰封’。这个也说明了程序的另一个方面。它们经常执行一个任务然后按任务结果做一些事情。这就叫选择,并且对于重复部分,C#有特殊的设施来完成它。


  如果你曾经使用一个配方去准备一餐,在配方中只要发现你指出了另一个配方你已经做好了特定的一步。例如:你可能必须翻到另外一页去看怎么煮饭,米的准备工作已经分离出来,作为子任务。这种编写指令的方式有一个重要的编程模拟,叫c#方法和其他面向对象语言。方法用于所有的程序语言,但有时会根据其他名称、如函数、过程、子程序或分项计划。方法是子任务,这样叫是因为他们是做事情的方法。使用方法可以促进原本可能复杂的简单化。


  现在考虑烹调咖喱,几年前,配方会建议你买新鲜的香料,磨它们,然后炸它们,如今你可以买现成的酱料,我们的任务已经变得越来越简单,写编程类比如果我们可选择一个现成的对象,如按钮、滚动条和数据库设置。这项任务变得更容易、c#中带有大量的对象集,我们可以将它用在我们的程序中而不是从头开始创建事务。总结起来,一个程序是一个可以由计算机自动服从指令表。一个程序包括的组合有:顺序、循环、选择、方法、现有对象、自己编写的对象。


  访问ADO.NET中的数据源是由托管提供程序所控制。虽然托管提供程序与OLEDB有两处重大的不同,但是二者是极为类似的。首先,托管提供程序在.NET环境下运行,通过DataReader和DataTable.NET类来检索和展示数据。第二,它们的体系结构都比较简单,是因为为了适应.NET而进行了优化。


  ADO.NETDataSetDataSet对象对于支持ADO.NET中的断开连接的分布式数据方案起到至关重要的作用。DataSet是数据驻留在内存中的表示形式,不管数据源是什么,它都可提供一致的关系编程模型。它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet表示包括相关表、约束和表间关系在内的整个数据集。下图将显示DataSet对象模型。DataSet对象模型DataSet中的方法和对象与关系数据库模型中的方法和对象一致。DataSet还可以按XML的形式来保持和重新加载其内容,并按XML架构定义语言(XSD)架构的形式来保持和重新加载其架构。


  SqlCommand执行从.NETFramework1.1版开始,更改了ExecuteReader在数据源中执行命令的方式。在.NETFramework1.0版中,ExecuteReader在sp_executesql存储过程的上下文中执行所有命令。因此,影响连接状态的命令(例如,SETNOCOUNTON)只应用于当前命令的执行。对于在连接打开时执行的任何后续命令,连接状态不会被修改。在.NETFramework1.1版以及更高版本中,只有当命令含有参数时,ExecuteReader才会在sp_executesql存储过程的上下文中执行该命令,从而提高性能。因此,如果非参数化命令中包含影响连接状态的命令,会修改在连接打开时执行的所有后续命令的连接状态。请考虑下面这个在ExecuteReader调用中执行的批命令。在.NETFramework1.1版以及更高版本中,NOCOUNT对连接打开时执行的任何后续命令都将保持为ON。在.NETFramework1.0版中,NOCOUNT只在执行当前命令时为ON。如果您的应用程序依赖于任一.NETFramework版本的ExecuteReader的行为,则这一更改会影响应用程序的向前和向后兼容性。对于在.NETFramework的早期版本和更高版本上运行的应用程序,可以编写代码以确保不管在其上运行应用程序的系统的版本如何,应用程序的行为始终相同。如果要确保某个命令修改所有后续命令的连接状态,建议您使用ExecuteNonQuery来执行该命令。如果要确保某个命令不修改所有后续命令的连接,建议您在命令中包括用于重置连接状态的命令。例如:MicrosoftSQLServerNativeClientMicrosoftSQLServerNativeClient在一个本机动态链接库(OLE)中包含SQLOLEDB提供程序和SQLODBC驱动程序,该链接库支持应用程序对MicrosoftSQLServer使用本机代码API(ODBC、OLEDB和ADO)。应当使用SQLServerNativeClient而非Microsoft数据访问组件(MDAC)来创建新的应用程序或增强需要利用SQLServer2005中引入的功能(例如,多活动结果集(MARS)、查询通知、用户定义的类型(UDT)和XML数据类型支持)的现有应用程序。


  4程序主界面


  如图5所示,整个系统的布局采用了框架结构。顶部框架里是系统的标题。主框架又分左右两部分。左部框架是树型功能菜单,整个系统功能模块的跳转主要在这里完成。右部框架用来显示和操作各主要功能模块。整个页面看起来简单明了,界面简洁,容易操作。


  其中客房信息设置可以对客房信息进行添加、删除、修改、查询等操作。包括房间信息、房间号、床号、状态、客户编号、描述、类型名称等。


  在客户信息列表中可以查看已有的客户的详细信息,包括客户姓名、性别、身份证号、联系电话、VIP、消费总金额等信息。


  酒店管理系统客户详细信息模块运行的结果如图6所示。


  其中住户登记设置可以对住户信息进行登记,并且可以查询登记记录,以及住户的历史记录。包括客户编号、押金、入组房号、入住时间、预定退房时间、备注、总费用、ID。


  酒店管理系统中添加来宾基本信息模块运行的结果如图8所示。


  酒店管理系统住户登记模块是对新住户住房登记的模块,这个模块主要是登记住户的各种信息,包括客户编号、押金、入户房号、入住时间、预定退房时间、是否加床、备注等信息。在住户登记模块中,按以上要求填入,点击确定后,会提示“添加成功”,点击“取消”,取消本次操作。如信息添加错误,可在基础设置里客户登记的详细资料里进行更改设置。


  酒店管理系统中得房间预订模块是对客户预订房间信息添加的模块。在这个模块中包括房间号、预定入住时间、预定退房时间、客户编号等信息。输入完信息后,点击“确定”,如果该时间段有人入住该房间,则会提示“该房间有人住”,如果正常,则会提示“预订成功”,点击“取消”按钮,则会取消此次操作。


  5结束语


  本系统是一套适用于大、中型星级宾馆使用的优秀系统,操作简单,灵活性好、系统安全性高,运行稳定,对人流、物流、资金流的科学管理和有效控制,提高员工的工作效率,降低各种经营成本,从而获取持久的利润,实是管理者的理想选择。

核心期刊推荐