




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南大学2007届本科毕业论文酒店管理系统设计与实现the design and development of a hotelmanagement information system论文作者姓名:李娇娇 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:沈夏炯(副教授)、崔翔(助教) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023238姓名李娇娇导师姓名职称沈夏炯(副教授)崔翔(助教)开题时间2006年12月1日课题题目酒店管理系统设计与实现课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的:随着计算机技术在各行各业的广泛应用和取得惊人效益,酒店管理者也争相把目光投入到用计算机的先进技术来管理酒店上来,较之于传统的手工管理,酒店管理系统就显示出了它独特的优势:方便、快捷、成本低和效率高。2、意义:随着宾馆酒店业竞争的日益激烈,酒店管理者也在积极寻求提高酒店效率和效益的方法,将繁杂的客户信息管理和客房管理交给计算机来处理,开发出一套适合于酒店自身的管理系统成为酒店管理者和开发人员关注的焦点。3、现状:随着国内市场的不断开放,旅游业的不断发展,酒店业也遇到了前所未有的机遇和挑战,如何利用先进的管理技术是酒店立于不败之地的关键因素。研究目标、研究内容和准备解决的问题:1、目标:通过本系统,酒店管理者可以方便的查看客房信息、客人信息和经营情况等,管理员可以根据权限对客人入店进行录入和管理。2、内容:主要内容包括操作员登录、新客登记、从客登记、客人预定房间、预定转入住、房间设置、顾客资料查询、顾客离店结帐等。3、准备解决的问题:页面间的数据传送问题,各种控件的使用和数据库操作等。拟采取的方法、技术或设计(开发)工具:本系统采用c#语言在.net环境下开发,数据库则使用的是和系统开发相匹配的sql server 2000 的数据库环境来完成。预期成果:1、毕业设计成果酒店管理系统2、毕业论文进度计划:2006.12.1 - 2007.3.5:查找资料、搜集相关素材2007.3.6 - 2007.3.26 完成需求分析2007.3.27 - 2007.4.7:完成概要设计2007.4.8 - 2007.4.15:完成详细设计2007.4.16 -2007.4.28:完成编码2007.4.29 - 2007.5.4: 完成软件测试2007.5.5 - 2007.5.15:整理资料、撰写毕业论文2007.5.16 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见: 同意开题。 指导教师签名: 2006年12月1日开题报告ii河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023238姓名李娇娇导师姓名沈夏炯、崔翔任务书起止日期2006年12月8日 至 2007年5月20日论文提要:本文将主要介绍开发一个酒店管理系统的分析和设计过程。本系统将实现一个简单的酒店管理系统,它运行在单机环境下,实现最基本和最核心的功能。在本系统里,主要的功能模块将有操作员登录管理、客房类型设置管理、客房房态查询管理、新客登记管理、客人预定管理、客人信息管理、客人离店结帐管理等。课题任务要求:随着旅游业的发展和国内市场的进一步开放,酒店业也面临巨大的挑战和机遇,能否在激烈的竞争中立于不败之地,很大程度上取决于酒店管理者是否采用先进的管理方法和工具。根据调查了解管理者的需求,本系统将主要实现的内容有操作员登录、新客登记、客人预定房间、预定转入住、房间设置、顾客资料查询、顾客离店结帐等。最后将在以上设计实现的基础上写出一篇论文,详细介绍该软件的功能设计,数据库设计,系统的设计及相关技术。主要参考文献:1 陈志泊等,数据库原理及应用教程,人民邮电出版社,2002年1月 2 马峻等,c#网络编程及应用, 机械工业出版社 2004年3 齐治昌、谭庆平、宁洪等 软件工程 高等教育出版社 2004年4 黄明等,c#+sql server 2000中小型信息系统开发实例精选 机械工业出版社 2007年5 刘瑞新、马峻.等 c#网络编程及应用m.机械工业出版社.2004年5月6peter ajith, c# network programming fundamentals. course technology press7peter ajith, hands-on sql server 2000 administration. course technology press河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称酒店管理系统设计与实现学号03023238所学专业计算机科学与技术指导教师姓 名沈夏炯崔翔姓名李娇娇一、毕业设计进展情况1需求分析阶段已经完成;3系统开发所需要的环境和数据库类型已经确定;3数据库的设计已经完成;4系统所要实现的功能模块已经确定;5. 系统的详细设计刚刚开始;二、存在问题1、数据库安全设置不太严密2、代码冗余较多3、某些控件方法不会使用三、下一阶段的研究方法或设计思路1、研究如何进行页面间的传参2、研究如何将数据库的操作都封装到一个类中四、指导教师对学生设计(论文、创作)进展等方面的评语 该生在目前,只完成了系统部分的功能,而且还存在诸多问题没有解决,如程序运行有异常,希望进一步努力降低程序的不稳定性。 指导教师签字: 2007年4 月 10日此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023238姓名李娇娇专业计算机科学与技术指导教师沈夏炯(副教授)、崔翔(助教)综合得分85论文题目酒店管理系统设计与实现指导教师评语及得分指导教师评语该生在整个酒店管理系统开发过程中,纪律性强,善于思考总结,积极查阅各种资料,能够在给定的时间内按计划完成任务以及完成论文的撰写。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分139994585指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语该论文内容充实,论点明确,语句流畅,逻辑结构清晰,层次分明,分析概括合理,论述清楚,文字表达准确,不足的是,在新观点的体现方面,尚有欠缺。总体来看,该论文符合本科论文要求。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分149994485评阅教师签名 2007年5月21日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023238姓名李娇娇所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语该生答辩过程中思路清晰,反应敏捷,论文结构合理,条理清楚,达到本科设计和论文标准,通过答辩。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分 13 22 15 3585答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 85分综合评定等级: 良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目酒店管理系统设计与实现姓 名李娇娇所学专业计算机科学与技术学 号03023238完成时间2007年5 月20日指导教师姓名职称沈夏炯(教授)、崔翔(助教)承诺内容:1、本毕业论文(设计、创作)是学生 李娇娇 在导师沈夏炯、崔翔的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007 年 5 月 20 日 2007 年 5 月 20 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要iabstractii第1章 绪论11.1 开发背景及意义11.2 关于本系统的开发软件简介1第2章 系统功能分析和设计32.1 系统功能模块图32.2 系统流程简介3第3章 数据库设计53.1 系统e-r图53.2 数据库表5第4章 系统实现84.1 公用类84.2 主程序界面设计94.3 客房管理模块104.3.1 客房设置管理子模块104.3.2 客房查询模块设计114.4 客人定房入住管理124.4.1 客人预定管理模块124.4.2 新客登记模块144.4.3 客人信息查询模块15结 论18参考文献19河南大学本科毕业生学士学位论文摘 要随着计算机技术在各行各业的广泛应用和取得的惊人效益,酒店管理者也争相把目光投入到用计算机的先进技术来管理酒店上来,较之于传统的手工管理,酒店管理系统就显示出了它独特的优势:方便、快捷、成本低和效率高。本文主要介绍了开发一个酒店管理系统的分析和设计过程。本系统实现了一个简单的酒店管理系统,它运行在单机环境下,实现了最基本和最核心的功能。在本系统里,主要的功能模块有操作员登录管理、客房类型设置管理、客房房态查询管理、新客登记管理、客人预定管理、客人信息管理、客人离店结帐管理等。它为管理者提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况。关键词 酒店管理,信息系统,客房管理,顾客信息管理abstractwith the computer techniques widely applied in all kinds of fields, tremendous benefits have been gained. so hotel managers try hard to make great use of the convenience of the advanced computer techniques. compared to the traditional manual management, hotel mis has its special advantages: convenience, low cost and efficiency.this paper mainly describes the process of analysis and design of a hotel mis. this system is a simple hotel mis which runs on a single computer and achieves the basic and classic functions. in this system, the main function models include administrator log-on, house type designing, house status checking, new customer checking in, customer preservation, customer information management, customer checking out etc. this system avoids the complexity and faults of the manual management and can provide effective service to managers and reflect the information of the hotel.keywords: hotel management, information system, guest room management, guest information management第 19 页第1章 绪论酒店管理系统主要是对酒店的客房信息、客人信息、经营情况进行管理,它对于酒店业提高效益降低成本有着至关重要的作用。如何设计和使用高效的管理系统成为软件开发人员和管理者共同关注的问题。下面就着重介绍本系统的开发背景、意义和所用到的软硬件资源和一些技术。1.1 开发背景及意义随着宾馆酒店业竞争的日益激烈,酒店管理者也在积极寻求提高酒店效率和效益的方法,由于计算机在其他各行各业的广泛应用和计算机新技术的出现,用计算机来代替手工操作管理成为不可抵挡的潮流趋势。将繁杂的客户信息管理和客房管理交给计算机来处理,开发出一套适合于酒店自身的管理系统成为酒店管理者和开发人员关注的焦点。设计良好的、健壮的管理系统是企业能够获得最佳效益的重要因素,高效的管理系统能够更快、更准确的反馈酒店各个方面的情况和信息,也能最大程度的吸引顾客,从而能创造更大的效益。1.2 关于本系统的开发软件简介本系统的开发是基于.net环境的,c#是一种从c和c+演变而来的一种简单的、面向对象的和类型安全的新型程序设计语言。由于它是面向对象的,所以在编程中可以很方便的自定义类来满足开发者不同的要求。c#几乎综合了目前所有高级语言的优点,主要特点是语法简洁,精心设计的面向对象设计,所以它很容易上手学习。此外该开发工具也提供了一个可以开发windows程序的平台,它是一种可视化的开发工具,开发人员可以根据需要从控件库里拖拉控件,也可以自定义控件,实现各种功能这样就很大程度上简化了程序员的工作。除了语言环境外,用到了sql server 2000,该数据库管理系统是目前最优秀和用的最多的dbms之一,它提供了很好的安全和恢复措施,可以满足一般的系统安全需要。它适合于中小型程序的开发,为系统开发者提供了很好的数据库服务。在sql server中,使用的是t-sql语言,它提供了标准的sql 命令,由于sql语言功能丰富、语言简洁,使用方法灵活,程序员在编程中可以很方便的使用sql语言去对数据库进行操作。第2章 系统功能分析和设计本管理系统应该实现基本的酒店管理操作,它的主要功能模块包括操作员登录、新客登记、客人预定房间、预定转入住、房间设置、顾客资料查询、顾客离店结帐等。同时有的功能模块可以包括子模块,如顾客资料查询包括所有客人资料查询和在住客人资料查询。本章就着重分析各个功能模块的功能和设计。2.1 系统功能模块图图2-1为酒店管理系统的功能模块图。图2-1 酒店管理系统功能模块图2.2 系统流程简介在本系统中,住宿的客人可以通过两种途径入住酒店。客人可以直接到前台办理入住手续,进行前台登记。前台服务人员根据客人的需要,进行客房查询,登记客人的信息,客人交纳住房押金后便可入住。另一种方式是,客人可以预先预订客房。前台服务人员通过对预订客房的查询和订房客人的要求,安排客人的所住房间,并且给预订的客人设置订房编号。当客人来到酒店后,交纳住房押金后便可入住。酒店的管理人员可通过系统帐务催交系统查询,了解入住客人押金情况。系统可以根据管理者的操作,统计出当时入住客人的押金数量,使管理者了解哪位客人的押金不足,以便提醒客人续交押金。当客人延长入住时间时,可将新增的押金注入。客人结帐的时候,管理者可通过系统进行资金的处理。根据客人的入住时间,以及客人住宿的房间单价,计算出客人实际所花费的金额。收取客人应缴费用后,客人便可以退房离开。 不同的操作员有不同的操作权限,本系统有三类操作员:系统管理员、前台接待员和经理,系统管理员可以使用系统的所有功能,如修改房态、更新房间类型、设置房间的价格等,而前台接待员只能进行客户的预定和入住登记等操作。经理可以查询帐务信息等。所有的操作员可以更改个人信息和登录密码等。第3章 数据库设计数据库设计是系统设计的最重要的一部分,数据库设计是否合理直接影响到程序的设计,有着至关重要的作用。本系统是对酒店业的深入调查后设计出来的。本章就主要介绍数据库如何设计以及数据库中各表的作用和内容。3.1 系统e-r图在正式编码实现之前应该把数据库设计好,只有这样才不至于编码过程中要修改数据库。e-r方法是描述现实世界概念结构模型的有效方法,图3-1为该系统的e-r图。图3-1 系统e-r图3.2 数据库表本系统所用到的数据库为hotelms,根据上面的e-r图分析,我在数据库里面定义了7个表,2个视图。由于本系统是对酒店的客房、客人、管理员等信息的管理,数据库表比较多,所以就将所有表及其功能列出,而客人入住情况表、从客资料表和房间情况表等数据库表比较重要,这些表会在下面详细介绍。表3-1是数据库中所有表名、视图及其作用。表3-1 数据库所有表表名备注hadministrator该表是操作员登录表,其中定义了操作员的用户名、密码和权限等hglive该表是顾客入住表,其中主要记录了顾客的入住信息hguest该表是主客信息表,它主要用于客人第一次登记入住时hrguest该表是从客信息表,它记录了所有客人的所有详细信息hridentity该表是房间情况表,它记录了所有客房的详细信息hroom该表是房间设置表,它记录所有房型及其价格hshedule该表是客人预定表,它记录所有客人的预定信息view1该视图是hglive和hridentity连接的个别字段,它是用在客人结帐离店时view2该视图是hglive和hrguest连接的个别字段,它是用在查询客人信息时本系统主要是对客房信息和客人入住信息进行管理的,所以下面就列出重要的几个表。表3-2为顾客入住情况表。表3-2 顾客入住情况表字段名数据类型长度是否空是否主键hgaccountvarchar50否是hglroomnumvarchar50否是hglcheckindatetime8否否hglcheckoutdatetime8否否hglmoneyint4否否hglhourchar4否否hglsumint4否否hglpriceint4否否该表是顾客入住信息表,里面的字段分别代表顾客的帐号、房间号、入住时间、离店时间、所交金额、是否是钟点房、房间数目、房间的标准价格。此表主要是记录顾客的入住信息。表3-3为从客资料表。表3-3 从客资料表字段名数据类型长度是否空是否主键hgaccountvarchar50否是hnamevarchar50否是hroomnumvarchar50否是hgenderchar10否否hidvarchar50否否hidnumvarchar50否否hbirthdatedatetime8否否haddrvarchar50是否hadminvarchar50否否hlogintimedatetime8否否htypevarchar50否否hextravarchar50是否该表是从客资料表,表中的字段分别代表客人的帐号、客人姓名、所住的房号,客人性别、证件类型、证件号码、出生日期、地址、登记员、登记时间、客人类型、备注。该表包含了所有客人的详细信息,其中客人帐号、客人姓名、所住房号为主键,它们唯一确定一条记录。表3-4为房间情况表。表3-4 房间情况表字段名数据类型长度是否为空是否主键hriroomnumvarchar50否是hriroontypevarchar50否否hrilocationvarchar50否否hrifloorint4否否hriconditionvarchar50是否hribedsnumint4否否hritelevarchar50否否hriextravarchar50是否hristatusvarchar50否否该表是房间情况表,表中的字段分别代表房间房号、房型、位置、层号、房间特征、床数、房间电话、备注、房态。该表中房号是主键。该表主要记录了酒店所有房间的信息。第4章 系统实现软件开发的一个重要阶段就是编码实现,它是实现系统功能,满足用户需求的重要环节。本系统的开发是用c#语言编写的,里面有许多编程的技巧和实现代码。本章就主要介绍本系统是如何实现的,并且会详细介绍有些编程技巧和一些自定义的类和对数据库操作所用到的代码和方法。4.1 公用类根据c#语言的面向对象的特性,在本系统中定义了一个对数据库进行操作的公用类,可以很方便的使用里面的方法对数据库进行操作。下面是该类的定义和部分实现代码。我所定义的公用类名是dbmani,里面定义了一个静态成员变量admin(主要用于传参用)和8个方法,下面就主要介绍各个方法的作用和部分代码实现。public sqlconnection initsqlconn()string str;str=server=localhost;uid=sa;pwd=123456;database=hotelms;/连接字符串,该字符串表明要连接到的数据库sqlconnection conn = new sqlconnection(str); return conn;/返回一个数据库连接 /该方法是返回一个数据库连接,其中str是一个连接字符串,它定义了与hotelms的连接。下面的方法都调用到了该方法。public sqlcommand command(string str)/该方法返回一个sqlcommand对象,它主要用于对数据库进行插入、删除、更新操作。public sqldatareader reader(string str)/该方法返回一个sqldatareader对象,它主要用于对数据库表中数据的快速读取。public int sum(string str) dbmani db = new dbmani(); /生成对象int num = 0; sqldatareader rd = db.reader(str);/此处调用了上面定义的方法 while (rd.read()num += 1; return num;/该方法是查询数据库中是否有某条记录,如有此条记录,返回的num值大于1,反之为0,其中方法里面的参数为一条sql查询语句。public void insert(string str)dbmani db = new dbmani();生成类对象sqlconnection conn = db.initsqlconn();/调用方法得到一个数据库连接。conn.open();/打开连接sqlcommand command = new sqlcommand(str, conn);/生成sqlcommand对象以对数据库进行一条记录的插入int num = command.executenonquery(); conn.close();/关闭连接 /其中方法里参数str为一条sql插入语句public void delete(string str)/这是实现一条记录的删除,代码实现与插入的类似。public void update(string str)/这是实现对一条或多条记录的更新操作,代码实现与插入的类似。public void adapter(string sql,string datamember,combobox cb)/这是实现对combobox控件与数据库的绑定,sql为查询语句,datamember为该控件所显示的符合要求的字段。4.2 主程序界面设计主窗体的菜单包括基本操作、客房系统、信息查询、基础资料、帮助说明等。快捷菜单有房态图、新客登记、预定管理、客务中心、离店结帐、帐务催交。其中客房系统包括房态图、预定管理和修改房态,信息查询可以查到所有客户信息和在住客人信息,基础资料包括房间的设置和修改等。主菜单是用了一个menustrip控件,下面用的一个tabcontrol包含6个tabpage,各自实现不同的功能。主窗体菜单如图4-1所示。图4-1 窗体主菜单下面是登录界面的设计和实现:登录界面有1个combobox控件是操作员用户名,它与数据库进行绑定,这里的绑定用到了上面公用类里面的最后一个方法,凡是有权使用该系统的操作员都可以通过输入密码登录系统。还有一个textbox控件用来输入密码,通过用sqldatareader对象可以对数据库里面的信息进行匹配,判断密码是否和用户名符合,符合的进入系统,反之提示出错。有2个按钮一个是登录按钮,一个是退出按钮,当点击登录按钮时,对用户名和密码进行验证。这里用到的代码实现是while(rd.read()if(rd1=this.textbox.text.tostring().trim() break; yes=true;/ 这里yes是bool类型的初始值为falseif(yes=false) messagebox.show(“密码错误”);4.3 客房管理模块客房管理模块包括2个子模块:客房设置与客房查询。4.3.1 客房设置管理子模块本模块主要是对房间类型、是否钟点房、房价的设置,这里用到的控件有datagridview,由于该控件能直观的显示数据库表中符合要求的所有记录,所以在查询的情况下使用很方便,通过对它进行数据源配置,会自动生成数据集dataset和sqldataadaptor对象adaptor,adaptor.fill(ds.hroom)用它可以方便的将数据库内容显示到该控件中。同时还用到了1个textbox用于输入房型,1个combobox选择是否钟点房,2个numericupanddown控件来设置钟点房和非钟点房各自的房价。还用到5个按钮分别是添加、保存、修改、删除和退出。通过编写代码将上面的控件用来显示datagridview里面当前行的内容,本功能的实现是用到了datagridview的一个事件currentcellchanged,在此事件里面可以将上面的控件与该当前行内容绑定。如this.textbox.text=this.datagridview.currentrow.cells1.value.tostring().trim();这样在textbox控件里面可以显示当前行的房型信息。添加按钮实现的是将控件内容清空,可以在里面输入要添加的房型和房价等,保存按钮实现将此条信息插入到数据库中,若房型和数据库中有重复,应不予插入,提示出错,这里用到了公用类里面的插入方法,同时更新、删除都是和插入的代码类似。这里还用到的一个方法就是将更改过的数据库及时的显示在datagridview控件里面。这个功能是用代码来更新datagridview。adaptor.fill(ds.hroom);this.datagridview1.update();4.3.2 客房查询模块设计通过此模块可以查询和设置所有客房的信息,如位置、电话、特征和房态情况,有助于管理员更方便的管理房间。同时还可以添加和删除客房以及修改客房的信息等。图4-2是该模块界面。图4-2 客房查询界面图该模块的实现也用到了datagridview控件,和上面房间设置模块的代码实现有些不同。这里用到的代码有:sql = select * from hridentity where hrilocation= + sql1 + and hrifloor= + sql2 + ;/ sql查询语句dbmani db = new dbmani();/生成dbmani对象sqlconnection conn = db.initsqlconn();/调用方法返回一个数据库连接sqldataadapter adapter = new sqldataadapter(sql, conn);/生成sqldataadapter对象这里的sqldataadapter对象相当一个适配器。dataset ds = new dataset();/生成dataset对象adapter.fill(ds, hridentity);/,将数据库中符合查询的记录添入到ds对象中this.datagridview1.datasource = ds.tableshridentity;/设置datagridview的数据源有一点不同的是也是比它难的一点是客房过滤这个功能的实现,这里用到了2个listbox控件,通过选择房间的所在位置和层数用datagridview来显示数据库中符合的记录。这里用到的datagridview控件它绑定到hridentity表上,来显示表中信息,可以用sql语句来控制所查询符合条件的记录。如要查询主楼的所有房间可以用string sql=”select * from hridentity where hrilocation=”+this.listbox.selecteditem.tostring()+”;同时这里还对控件进行了绑定,在选中datagridview的某一行时可以在文本框、combobox、numericupanddown控件中显示表中的信息绑定的代码在datagridview的currentcellchanged事件里面实现。4.4 客人定房入住管理该模块是顾客信息管理模块,它包含了3个子模块,分别是客人预定管理模块、新客登记模块和客人信息查询模块。4.4.1 客人预定管理模块客户可通过2种方式进行入住酒店,一是直接去前台登记,二是进行预定。这里主要介绍客人预定入店管理模块。预定管理是客人在入店之前直接到酒店向酒店预定房间或打电话预定,操作员将预定信息录入到数据库中,并且在datagridview里面显示所有的预定信息,每天晚上6点操作员都要查询预定信息,查看那些客人没有入住,没有入住的操作员就要打电话询问客人是否要取消预定或是延迟入住的时间。图4.3为客人进行预定的界面。图4-3 客人预定界面图该模块也用到了datagridview控件,用法与上面的类似,这里主要说一下预定客人帐号的生成,这里的帐号我都用00001-99999这样的格式,实现此功能的代码如下:string i = 00000; int index = 0;string sql = select * from hshedule;/sql语句是查询表中第一条记录sqldatareader rd = db.reader(sql);/调用公用类里面的方法生成rdwhile (rd.read() i = rd0.tostring().trim();/获取第一条记录的内容。 break;/读取一条记录/这里获取数据库表hshedule中的第一条记录,也是客人帐号最大的一条。rd.close();/关闭rdindex = int.parse(i) + 1;/下一条记录的帐号,即表中最大帐号加1string .textboxprenum=”00000”.substring(0,5-index.tostring().length)+index.tostring();/将生成的帐号序号格式化成要求的那样this.textboxprenum.text = textboxprenum;/将帐号值显示到textbox中在该窗体里还用到了combobox控件,combobox是一种下拉菜单,它的项目可以是手动添加的,也可以和数据库绑定,我这里用到了两种方法,在预定房型里面我手动添入了几项内容。同时客人也可以到时进行转入住,点击转入住按钮就可以进入客人登记页面,它是和新客登记用的同一个页面,这个公用页面用到一个标签来显示是新客登记还是预定客人转入住,只是传参不同。这里用到的代码是:this.lable.text=hotelmain.addroom;this.lable.findform().text=this.lable.text;/这里的findform()方法是获得该控件所在的窗体。4.4.2 新客登记模块新客登记是客人直接到前台登记入店,客人可以是散客也可以是团体,这里的登记是对主客的登记,同时将主客的详细信息插入到hrguest表中,图4-4是该模块的界面图。图4-4 新客登记界面图这个模块和其他模块的主要区别和难点是页面间的传参、数据库表的查询和checkedlistbox以及listbox控件的使用。checkedlistbox类似于listbox不过里面的内容是checkedbox,可以有多项内容。这里我用到的checkedlistbox是和数据库绑定的,在框里面显示的是对应的符合要求的房间号。listbox可以很方便的将所有的项目一目了然的显示在框中,在这里每选择一个checkedlistbox里面的内容都会在listbox里面显示。传参的问题我是使用声名静态变量的方式来解决的,由于每个windows页面是一个类,在类里面定义全局静态变量,别的页面可以方便的使用或改变该页面的数据。数据表的查询主要是各个表之间的连接查询,用到的sql语句很容易出错,还有就是checkedlistbox和listbox控件的使用,由于要在checkedlistbox里面选择的房号要在listbox里面显示,这样就需要写比较复杂的代码来实现这个功能,这也主要是对这两个控件进行绑定,和combobox的绑定类似。这里新客的帐号生成也和上面客人预定帐号的生成类似,不过这里的格式更麻烦,因为帐号是以h开头中间8位是当天的日期,后面才是客人登记的序号,如“h2007051900002”这个序号的意思是在2007-05-19这天这个客人是第2个来登记入店的。这样的帐号形式会更直观,操作也好实现。还有一个重要的功能要实现的是:在添加开房窗体里选择添加的房间后,点击保存关闭该窗体,而且会将所选房间的信息显示到新客入住登记窗体的datagridview里面,所以在该窗体被激活后,将房间的信息添加到datagridview里面。用到的代码有:string row = hotelmain.roomnum, hotelmain.roomtype, 否, hotelmain.sprice.tostring(), hotelmain.leave, 1 ;/将所选房间信息放入字符数组里面this.datagridview1.rows.add(row) ;/将数组里面的数据填入到datagridview里面这里有一个功能是查询客人历史开房记录,这里也是用到了查询数据库里面的内容,再将查询到的内容填入到datagridview里面显示。4.4.3 客人信息查询模块此模块主要显示所有客人的信息:包括主客和从客的详细信息,在随客管理里面可以添加从客信息。同时这一模块还可以查询到在住客人信息和所有客人信息,这一功能主要通过查询过滤,找到合适的记录在控件里面显示,这一功能的实现比较简单,下面就主要说明如何显示主从客信息这一功能。图4-5为该模块部分界面。图4-5 客人信息查询界面这里主要实现的一个难点是从数据库表中读出客人的信息显示到textbox控件里面,因为这里实现比较麻烦我就在数据库设计时把记录按从大到小的顺序排序,通过两个按钮来逐条读出表中每一条信息,这里也就利用了帐号设计的规则可以从表中正确的读出信息。由于sqldatareader对象只能对数据库表快速的读,它不能做到读下一条记录的时候从上/下一条记录开始往下/上读,所以我就利用帐号是主键和它的特点进行读取,下面是主要的代码:dbmani db = new dbmani();/生成类对象string sql = select * from view1;/对视图进行查询sqldatareader rd = db.reader(sql);/调用公用类方法生成rd对象本页面在第一次加载时点击下一条按钮将表中第一条记录显示在文本框里,若点击上一条按钮则不显示任何内容。当文本里面有内容时,点击下一条按钮,用字符串变量记下该文本框中的帐号,取其后5个字符转化成int型,用index记下,如果是1说明该天的登记客人已经查询完了,如果大于1说明该天登记客人还有,可以用sql语句:sql=select * from view1 where hgaccount=”;sql+=+this.t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新版GMP培训试题及答案
- 教师资格认证备考专家职位:面试题库精 编系列
- AI医疗诊断岗位面试实战模拟题
- 多学科慢病治疗药物管理考核试题及答案
- AI时代金茂物业面试经验分享:面试题目与答案详解
- 心电图心肌梗死课件
- 2025年《卫生法》试题及答案大全
- 人发烧科普课件
- 伴奏制作专业知识培训课件
- 2025-2030工业视觉检测设备精度要求与汽车行业应用案例报告
- 内蒙古华电正能圣圆伊金霍洛旗风光制氢一体化项目(风电部分)-环境影响报告书
- 感冒急性鼻炎护理
- 2024年村秘书述职报告
- 私房摄影保密协议书
- 天麻买卖合同协议
- 展览会会务服务投标方案(技术方案)
- 2025届四川省泸州市高三下学期第三次教学质量诊断性考试英语试题(原卷版+解析版)
- 胸痹心痛护理个案
- 船闸水工建筑物设计规范
- 铝塑板装饰施工方案
- 心电图操作及简单解读
评论
0/150
提交评论