




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学远程教育学院本科生毕业论文宾馆管理信息系统 刘 军 L20666513004浙江大学远程教育学院本科生毕业论文(设计)题 目 宾馆管理信息系统 专 业 0603计算机应用技术 学习中心 陕西新城奥鹏学习中心 姓 名 刘 军 学 号 L20666513004 指导教师朱金英老师2008年6月1日论文摘要本设计利用SQL Server2000作为后台数据库管理系统进行所有输入输出数据的管理与存储,数据库应用系统采用VC+6.0的MFC进行开发。数据库管理系统中的数据操作命令是嵌入数据库应用系统的宿主语言VC+6.0。本设计详细论述了一个宾馆管理信息系统的系统设计部分,包括功能模块设计、数据库结构设计等。然后通过大量的源程序分析了宾馆管理信息系统中各个功能模块实现的方法,以及系统的运行结果。本设计的主要构成有:数据库的设计及实现、创建宾馆管理系统主窗口、创建客房标准管理模块、创建客房信息管理模块、创建定房信息管理模块、创建结算信息管理模块等六大部分,基中客房管理、客房资源、定房信息及结算信息是其中的四大结构模块。每项内部包括了输入新信息、删除信息、修改信息等内容。因此,对数据库的进行了两大类的应用,即:数据的读操作和数据库的写操作。完全可以作为一个小型宾馆管理系统的简单应用。中心词:宾馆管理系统 详细设计 程序分析目 录一 宾馆管理系统概述.3(一) 开发背景.3(二) 需求分析.3(三) 系统构成.4(四) 开发工具简介4二 宾馆管理系统详细设计.6 (一) 模块介绍.6 1、设置客房标准.7 2、设置客房信息.8 3、定房信息管理.9 4、结算信息管理.11(二) 数据库.121、数据库的设计122、数据库表的实现.13(三) 创建宾馆管理系统主窗体161、创建工程项目.162、创建宾馆管理系统主窗体的菜单183、创建记录集类.19(四) 创建客房标准管理模块21 1、创建添加客房标准对话框.212、创建修改客房标准与删除客房标准对话框23(五) 创建客房信息管理模块.27 1、创建添加客房信息对话框.272、创建修改客房信息与删除客房信息对话框.303、创建输入查询条件对话框.354、创建显示查询结果对话框.37(六) 创建定房信息管理模块.39 1、创建剩余客房查询对话框.392、创建添加定房信息与修改定房信息对话框413、创建查询定房信息对话框.464、创建定房查询结果显示对话框.48(七) 创建结算信息管理模块.501、创建添加结帐信息与修改结帐定房信息对话框.502、创建查询结算信息对话框.56三 总结.59四 参考文献.60一 宾馆管理系统概述(一) 开发背景随着旅游事业的蓬勃发展和宾馆管理业务的不断扩大,宾馆管理人员,尤其是星级宾馆的管理人员对宾馆管理的现代化、科学化的要求逐渐迫切起来。越来越多的人认识到宾馆管理计算机化的重要性和必要性。希望能够有一套提高内部管理水平、发善服务质量、操作上简洁方便,并能满足各种必要功能的系统。这样的系统由于面对各种不同种类的信息,所以需要合理的SQL Server数据库结构来保存数据,以及有效的程序结构支持各种SQL语句操作执行。本系统使用Visual C+6.0作为开发工具。编写数据库应用程序。数据库应用程序在操作系统和数据库管理系统的支持下,利用数据库管理系统提供的数据操作命令、高级程序设计语言或应用开发工具,设计菜单、表单、查询、。这些设计构成的宾馆管理系统应用程序,提供了一个可视化的操作界面,使用户能够方便地操作数据库。(二) 需求分析需求分析是软件设计中非常重要的一个环节,没有经过详细的需求分析就匆匆忙忙进行软件开发是注定要失败的。在需求分析阶段,必须花大量的时间与用户进行沟通交流,详细了解用户到底需要软件做到什么。在沟通交流过程中也可以大致告诉用户软件可以做到些什么、是怎样做的。对用户提出的一些不切实际的需求一定要以合理的方式明确地拒绝。经双方讨论并明确的需求要以书面的形式签字确认。需求分析包括以下几方面内容:1、 访谈用户访谈用户是了解用户需求的重要方式。需要跟公司不同层面的人员进行访谈,充分了解公司的业务流程和各个环节的不同需求。从忙碌的管理人员、前台人员及服务人员等各个层面进行了解,并提前预约,以合理安排客户的时间。每次访谈后要进行访谈内容整理,以文档的形式记录下来。2、 需求说明书经过详细的需求调研,最终形成需求说明书。需求说明书包含项目背景、项目目标任务、需求规定等内容,其中需求规定是重点。下面简单列出本文的需求:(1) 对客房标准进行管理,其中包括必需明确的各项内容及可能增加的各项内容,如:客房标准编号、标准类型、面积、床位、是否有电视、空调、卫生间等,以及该标准客房的单价。(2) 对客房信息进行管理,其中包括客房标准有关内容及新增加客房位置、是否入住及客人及客房的各类备注信息。(3) 对定房信息进行管理,其中包括定房人员的基础信息(顾客姓名、身份证号码、入住客房编号等)及入住信息(入住日期、折扣比例、费用等)。(4) 对结算信息进行管理,其中将顾客信息及客房信息相结合,并输入结帐时间后,自动生成结帐金额。方便前台人员的管理。(5) 为了方便高层管理人员对宾馆以往经营状况及现状及时的了解及掌握,在各类模块中创建了查询模块,以列表的方式显示出符合条件的结果。(6) 对操作人员设置登录帐户和密码,只有符合条件的用户才能通过密码进入系统进行操作,其他人员无权进入系统。(三) 系统构成一个宾馆的管理是十分复杂的过程,往往涉及许多不同的管理流程和系统。我们按照涉及对象的不同功能,将系统化分为以下几个模块:1、客房管理:包括客房标准编号、标准名称、客房面积、床位数量、住房单价、是否有卫生间、电话、电视机等。用户可以随时修改、查询。2、客房资源:能够输入、修改,包括客房编号、客房类型、客房位置、客房单价、剩余的客房数量以及备注等信息。3、定房信息:包括两部分:一是住房的信息,如客房编号、客房类型、客房位置、客房单价;二是住客信息,如姓名、身份证号码、入住日期、折扣比例,以及备注信息等。4、结算信息:包括客房编号、客房类型、客房位置、客房单价、顾客姓名、身份证号码、入住日期、折扣比例、结算日期和备注信息等。(四) 开发工具简介本管理系统的设计采用C+6作为开发软件,应用VC+ Devloper Stdio集成化应用程序进行开发。VC+ Devloper Stdio是VC+6产品的核心,是个集成化应用程序,它提供完整的编程工具组。VC+ Devloper Stdio包括跟踪程序源文件和建立选项的项目管理器,输入程序源代码的文本编辑器,和一组设计程序资源(如菜单、对话框、图标)的资源编辑器。它还提供了编程向导,可以产生程序的基本源代码,定义C+类,处理Windows消息并完成其它任务。可以在Developer Stdio中建立并执行程序,它会自动运行优化编译器、增量链接器和其它所要的建立工具。还可以用集成调试器检查程序错误,用ClassView窗口浏览和管理程序符号与C+类。最后,还可以选择Developer Stdio Help菜单的命令访问Visual C+联机帮助。MFC是扩展的C+类库,用于生成Windows GUI(图形用户界面)程序。MFC简化这些程序的编写,提供了许多高级特性,可以大大减少编码工作。Microsoft ATL(活动模板库)是一组基于模板的C+类,它可以生成ActiveX控件和其它类型的COM(组件对象模型)。ATL提供了另一种类生成COM对象的方法。用ATL生成的对象通常比MFC生成的对象更小、更快。但是,ATL没有MFC所提供的大量内置特性和易于编程性。VC+建立工具(BuildTools)包括优化C/C+=编译器。增量链接器、资源编辑器(用于生成菜单、对话框等程序资源)和产生32位Windows程序所要的其它工具程序。ActiveX控件是可以复用的软件组件,可以完成各种工作。本管理系统的数据库采用SQL Server 2000关系数据库管理系统。SQL数据库管理系统是真正的客户机/服务器架构。它有图形化用户界面,使系统管理和数据库管理更加直观、简单。它提供了丰富的编程接口工具,可以让用户在进行程序设计时有更大的选择余地。SQL Server与Windows NT完全集成,利用NT的许多功能,如发送和接受消息,管理登陆安全性等。SQL也可以很好地与Microsoft Office产品集成。它具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。对Web技术的支持,使用户能够很容易地将数据库中的数据发布至Web页面上。SQL Server提供数据仓库功能,这个功能只在Oracle和其它更昂贵的DBMS中才有。企业管理器是基于一种新的被称为微软管理控制台(Microsoft Management Console)的公共服务器管理环境。它是SQL Server中最重要的一个管理工具。企业管理器不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来显示所的的SQL Server对象,因而所有SQL Server对象的建立与管理都可以通过它来完成。利用企业管理器可以完成的操作有:管理SQL Server服务器;建立与管理数据库;建立与管理表、视图、存储过程、触发程序、角色、规则、默认值等数据库对象,以及用户定义的数据类型;备份数据库和事务日志;恢复数据库;复制数据库;设置任务调度;设置警报;提供跨服务器的拖放控制操作;管理用户账户;建立Transact-SQL命令语句以及管理的控制SQL Mail。SQL Server 2000新的图形化查询分析器(Query Analyzer)用于输入和执行Transcation-SQL语句,并且迅速查看这些语句的结果,以分析和处理数据库中的数据。这是一个非常实用的工具,对掌握SQL语言,深入理解SQL Server的管理工作有很大的帮助。另一个重要的分析工具是SQL Server分析器(Profiler)。这是一个图形化的管理工具,用于监督、记录和检查SQL Server数据库的使用情况。对系统管理员来说,它是一个连续实时地捕获用户活动情况的间谍。服务器网络实用工具(Server NetworkUnility)用来配置服务器端网络连接和设置相关参数等。客户端网络实用工具(Client Network Unitlity)用来配置客户端的网络连接、管理和测定客户端的网络库等。二 宾馆管理系统详细设计(一) 模块介绍本系统的主模块分为客房信息管理、定房信息管理、结算信息管理,结构如下图所示:添加客房标准设置客房标准修改客房标准客房信息管理删除客房标准添加客房信息修改客房信息设置客房信息删除客房信息宾馆管理系统查询客房信息查询剩余客房信息添加定房信息定房信息管理修改定房信息查询定房信息添加结算信息结算信息管理工作修改结算信息查询结算信息查询结算信息修改结算信息结算信息管理1、设置客房标准(1)添加客房标准选择“添加客房标准”后,就出现右图所示对话框,其中包括:标准编号、标准名称、房间面积、床位数量、住房单价,并设置是否有空调、电话、电视、卫生间等。在输入完成各项内容后,单击“保存”后,就可以将客房标准添加至相应的数据库。(2) 修改客房标准选择“修改客房标准”后,就出现右图所示对话框,显示项目与“添加客房标准”相同,但此模块调用客房标准数据库内的数据并进行相应的显示,允许用户对数据进行修改。完成修改后,单击“修改”按钮后,将更新客房标准数据库的内容。(3) 删除客房标准选择“删除客房标准”后,就出现右图所示对话框,在此对话框中,通过下拉框选择要删除的“标准编号”,然后,单击“删除”按钮后,就可以将该标准编号及相应的数据给予删除。2、设置客房信息:(1)添加客房信息 选择“添加客房信息”,出现右图所示对话框,在“客房编号”内输入房间编号;在“客房类型”中,通过下拉菜单选择相该客房的类型;在“客房位置”中输入该房间的地理位置,以利于客人进行选择;“客房单价”由系统自动生成,无需输入;然后在“备注信息”中说明客房内部配置的完好程度及需要说明的有关信息。(2)修改客房信息 选择“修改客房信息”,系统弹出如右所示对话框,并显示出客房信息数据库内第一行的内容,在“客房编号”中选择相应的客房编号;在“客房类型”中选择相应的类型进行修改;“客房位置”若没有变化就不需要修改;“客房单价”会随着客房类型的变化自动进行调整,无需人工修改;若要修改备注信息,则在“备注信息”编辑框中输入相应的信息。 输入完成后,单击“修改”按钮,系统自动更正数据库内的信息。 (3)删除客房信息选择“删除客房信息”,系统弹出如右所示对话框,并显示出客房信息数据库内第一行的内容,在“客房编号”中选择相应的客房编号;在“客房类型” “客房位置” “客房单价” “备注信息” 中自动显示数据库的内容。 确定要删除时,单击“修改”按钮,系统自动删除数据库内的相应信息。 (4)查询客房信息 选择“查询客房信息”,系统弹出如右所示的“输入查询条件”对话框,可以根据“客房编号”进行查询,也可以根据“客房类型”进行查询。在此,选择“客房类型”,并在下拉菜单中选择“所有房间类型”,单击“查询”后,系统根据要求显示出如下相应的列表信息。3、 定房信息管理(1) 查询剩余客房信息选择 定房信息管理| 查询剩余客房信息,系统弹出如右图“剩余客房查询”对话框。在此对话框中,有各种不同的查询条件,按“全部剩余客房”查询,或按“客房类型” “客房单价”进行查询,三种不同的查询方式为一组单选按钮。只能选择一种查询条件进行查询。选择查询条件后,单击“查询”按钮,系统进行自动查询,并以列表的形式将查询结果进行显示,如下图所示的“客房信息”。(2) 添加定房信息 选择 定房信息管理| 添加定房信息 ,系统弹出如右图所示的“添加定房信息”对话框。此对话框由两部分组成,一部分为顾客信息,另一部分为客房信息。在客房信息中,只要选择了“客房编号”,则其余内容全部显示在客房信息中;在顾客信息中,详细记录了“顾客姓名” “身份证号码” “入住时间”,“折扣”,“备注信息”。全部输入完成后,单击“添加”按钮,系统自动增加数据库记录。(3)修改定房信息。选择 定房信息管理| 修改定房信息,系统弹出如右图所示的“修改定房信息”在此对话框中,可以对“添加客房信息”中的失误进行修改,或由于顾客要求变更客房类型时,就可以应用此对话框进行修改。将所有信息修正完毕后,单击“修改”按钮后,自动将数据库内容进行更正。(4)查询定房信息选择定房信息管理查询定房信息,系统弹出“查询定房信息”对话框,在此对话框中,列出了各种查询条件,如“顾客姓名”“房间编号”“入住时间”此三种条件互为单选。在查询条件的编辑栏中输入相应的要求条件,然后单击“查询”按钮后,系统自动进行查询,并将结果显示出来如下图“定房信息”列表框图所示。4、 结算信息管理(1) 添加结算信息选择 结算信息管理|添加结算信息 ,则弹出如右所示“添加结帐信息”对话框,在此对话框中,选择“客房编号”中的相应客房编号,并选择结帐时间,对话框内自动调用系统数据库内的“顾客信息”及“客房信息”,然后单击“添加”按钮后,系统弹出如下结算信息,在此对话框中,单击“确定”后,在“添加结帐信息”对话框中的“结帐金额”内自动更新为实际的结帐金额。(2) 修改结算信息选择 结算信息管理| 修改结算信息,则弹出如下图“修改结账信息”对话框,在此对话框中,可以对“客房编号” “结帐时间”进行修改,在修改完成后,单击“修改”按钮后,在“结帐金额”中自动更正为实际的结算金额。(3) 查询结算信息选择 结算信息管理| 查询结算信息,则弹出如右图所示的“查询结算信息”对话框,在此对话框中,列出了各种查询条件,如“顾客姓名”“房间编号”“入住时间”此三种条件互为单选。在查询条件的编辑栏中输入相应的要求条件,然后单击“查询”按钮后,系统自动进行查询,并将结果显示出来如下图“结算信息”列表框图所示。(二) 数据库1、数据库的设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应根据需求分析阶段的成果,充分了解用户各个方面的需求,分析各用户要求之间的联系统及异同,并应具有前瞻性,将现有的以及将来可能增加的需求都包括在内。创建一个数据库,实际上就是创建了一个数据库空间。数据库由一组表构成,表是真正存储数据的逻辑单元。下面就根据功能模块来定义这些表。(1)标准客房表:字段名数据类型能否取空值备注roomidVarcharNOT NULL客房标准编号roomnameVarcharNOT NULL客房标准类型areaFloatNULL客房面积bednumInt NULL床位数量airconditionBitNULL是否有空调televisionBitNULL是否有电视telephoneBitNULL是否有电话toiletBitNULL是否有卫生间pricefloatNULL单价(2)客房信息表字段名数据类型能否取空值备注roomnumberVarcharNOT NULL客房编号stdroomVarcharNOT NULL客房标准类型roompositionVarcharNULL客房位置roompriceFloatNULL单价putupBitNULL是否入住roommemoTextNULL备注信息(3)定房信息表字段名数据类型能否取空值备注booknumVarcharNOT NULL定房编号customnameVarcharNOT NULL顾客姓名customIDVarcharNOT NULL身份证号码roomnumberVarcharNOT NULL客房编号indateDatetimeNULL入住日期discountFloatNULL折扣比例inmemoTextNULL备注checkdateDatetimeNULL结算日期amountfloatNULL金额(4)用户信息表字段名数据类型能否取空值备注user_IDVarcharNOT NULL用户名user_PWDVarcharNULL用户密码user_DesvarcharNULL用户说明2、 数据库表的实现通过需求作析以后,就可以得到数据库的逻辑结构。然后利用SQL Server2000数据库系统中的SQL查询分析器来实现该逻辑结构。具体步骤如下:(4) 创建SQL2000数据库。打开SQL查询分析器,并输入以下SQL语言程序;USE masterGOCREATE DATABASE SQL2000然后在“查询”菜单中按“执行”,数据库就自动在SQL中进行了创建。(2)创建数据库表。打开SQL查询分析器,并输入以下SQL语言程序; USE SQL2000CREATE TABLE dbo.sysuser (user_ID varchar (15) NOT NULL , user_PWD varchar (10) NULL , user_Des varchar (10) NULL ) ON PRIMARYCREATE TABLE dbo.stdroom ( roomid varchar (10) NOT NULL ,roomname varchar (10) NOT NULL ,area float NULL ,bednum int NULL ,aircondition bit NULL ,telephone bit NULL ,television bit NULL ,toilet bit NULL ,price float NULL ) ON PRIMARYCREATE TABLE dbo.roominfo (roomnumber varchar (10) NOT NULL ,stdroom varchar (10) NOT NULL ,roomposition varchar (20) NULL ,roomprice float NULL ,putup bit NULL ,roommemo text NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYCREATE TABLE dbo.bookroom (booknum varchar (14) NOT NULL ,customname varchar (10) NOT NULL ,customID varchar (18) NOT NULL ,roomnumber varchar (10) NOT NULL ,indate datetime NULL ,discount float NULL ,inmemo text NULL ,checkdate datetime NULL ,amount float NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY然后在“查询”菜单中按“执行”,数据表就自动在SQL2000数据库中进行了创建。2、创建数据源使用ODBC编写应用程序,需要创建数据源。数据源名称为SQL2000,具体过程如下:(1) 在操作系统中,通过单击“开始”|“设置”|“控制面板”|“管理工具”|“数据源(ODBC)”打开ODBC数据源管理器,ODBC数据源管理器由七个选项卡组成。创建用户数据源,在“用户DSN”选项卡进行配置。(2) 单击“添加”按钮,进入“创建新数据源”窗口。(3) 在“选择您想为其安装数据源的驱动程序”列表框中,显示系统中全部ODBC驱动程序。选择列表框中的“SQL Server”,然后单击“完成”按钮,进入“建立新的数据源到SQL Server”窗口。在“名称”框中输入“SQL2000”,在“说明”框中输入“连接ODBC数据源”;在“服务器”框中选择为“Local”。然后选择“下一步”。(4) 在“登录”及“密码”框中输入用户名“sa”和密码“sa”。然后单击“下一步”进入向导的第三步窗口。(5) 点击“更改默认的数据库为”前的复选框,在显示连接服务中所有的数据库名的下拉列表中选择“SQL2000”数据库,然后单击“下一步”,(6) 不需要更改,单击“完成”进入“ODBC Microsoft SQL server安装”窗口。为确定配置是否正确,可单击“测试数据源”,将显示测试结果。(7) 单击“确定”,返回向导第四步窗口。(8) 单击“确定”,返回“ODBC数据源管理器”窗口。(三) 创建宾馆管理信息系统主窗体1、创建工程项目利用Visual C+6.0,使用ODBC编写数据库系统应用程序的步骤如下:(1) 启动Visual C+6.0后,单击“File | New”菜单,出现“New”对话框。在“New”对话框的“Projects”选项卡中,选择“MFC AppWizard(exe)”项,然后在“Porjects”栏中输入工程名称Hotel_SQL,在“Location”中选择工程的位置D:Hotel_SQL,其它使用默认选项。(2) 单击“OK”按钮,出现“MFC AppWizard-Step1”对话框,在对话框中选择“Single document”选项。(3) 单击“Next”按钮,出现“MFC AppWizard-Step 2 of 6”对话框,在对话框中选择“Header files only”选项,表示只使用头文件中中包含的数据库。(4) 单击“Next”按钮,出现“MFC AppWizard-Step 3 of 6”对话框。在对话框中保持默认选项,单击Next按钮,出现“MFC AppWizard-Step 4of 6”对话框,在对话框中只选择“Initial statul bar”选项和“3D controls”选项。(5) 单击“Next”按钮,出现“MFC AppWizard-Step 5 of 6”对话框。在对话框中保持默认选项。单击“Next”按钮,出现“MFC AppWizard-Step 6 of 6”对话框。在对话框中保持默认选项。(6) 单击“Finish”按钮,出现“New Project Information”对话框,显示以上选择的内容。确认设置正确后,单击“OK”按扭,完成创建工程的工作。2、创建宾馆管理信息系统主窗体的菜单 (1) 完成创建工程的工作之后,在Workspace的Recource View中,单击“Menu”文件夹,然后双击“IDR_MAINFRAME”选项,出现默认的主窗体菜单。(2) 双击窗口中的“文件”菜单,弹出以下对许话框:在标题中,将“文件”修改为“系统”后,选中“弹出”复选按钮,按“回车键”确定后,窗口中的“文件”菜单名就变为如下图所示的“系统”菜单名,并且为一弹出菜单。(3)在上图“系统”菜单中,双击“新建”命令,弹出下图所示对话框:在此对话框中,将ID号修改为“ID_MAINMENU_CHANGEPWD”,将标题内容修改为“修改密码”。如下图所示,然后按“回车键”确定。(4)以同样的方式,对这个菜单的其它项目进行修改,将原有“文件”“编辑”“查看”等菜单项删除,重新加入以下所示菜单项目,使其与系统功能模块一致。一个菜单项对应一个系统功能模块。系统分为三级,菜单结构下表所示:菜单名称ID系统 修改密码ID_MAINMENU_CHANGEPWD 添加用户ID_MAINMENU_APPENDACCOUNT 退出系统ID_APP_EXIT客房信息管理 设备客房标准 添加客房标准ID_MENU_ADDSTDROOM 修改客房标准ID_MENU_ALTERSTDROOM 删除客房标准ID_MENU_DELSTDROOM 设置客房信息 添加客房信息ID_MENU_ADDROOM修改客房信息ID_MENU_ALTERROOM 删除客房信息ID_MENU_DELROOM 查询客房信息ID_MENU_CHECKROOM定房信息管理 查询剩余客房信息ID_MENU_CHECKREMAIN 添加定房信息ID_MENU_ADDBOOKROOM 修改定房信息ID_MENU_ALTERBOOKROOM 查询定房信息ID_MENU_SEARCHBOOKROOM结算信息管理 添加结算信息ID_MENU_ADDCHECKOUT 修改结算信息ID_MENU_ALTERCHECKOUT 查询结算信息ID_MENU_SEARCHCHECKOUT帮助 About最终修改后的系统菜单如下图所示:3、创建记录集类由于系统中各个模块都将频繁进行数据库的访问,因此首先创建Hotel数据库中表的记录集类。这样,在以后相继编写系统各功能模块时,就可以使用这些记录集类进行数据库操作,使程序容易逐步完成。创建步骤如下:(1) 单击主菜单“Inser| New Class”选项,打开如下图所示的“New Class”对话框。(2) “Class Type”保持“MFC Class”不变,“Name”栏输入“CStdroominfoSet”,作为表stdroom记录集的类名;在“Base class”下拉列表中,选择“CRecordset”选项,作为新类的基类。(3) 单击“OK”按扭,打开“Database Options”对话框。如下图所示:在ODBC下拉列表中选择新建的数据源“SQL2000”,然后单击“OK”按钮,打开“Select Database Tables”对话框。在对话框中列出的Hotel 库中所有的表。选择客房类型表dbo.sdroom,然后单击“OK”。对话框关闭后,VC+自动生成记录集类CStdroominfoSet。(4) 按上述步骤为表roominfo,bookroom,sysuser创建记录集类CroominfoSet、CbookroomSet、CuserSet。(四) 创建客房标准管理模块1、创建添加客房标准对话框具体步骤如下:(1) 在Resource View中右击“Dialog”,从快捷菜单中选择“Insert Dialog”,生成只有两个按钮的对话框。使用控件工具,向对话框中添加标签、文本框、下拉列表框等,并将各个控件调整至合适的位置。这个对话框用来输入客房标准。(2) 完成对话框制作之后,创建一个新类CStdroomDlg,并使用MFC ClassWizard中的Message Maps选项卡,向类中添加消息处理函数:OnOK();单击“保存”事件。(3) 使用“MFC ClassWizard”中的“Member Variables”选项卡,向类中添加成员变量:CString m_roomid:标准编号CString m_name:标准名称CString m_area:客房面积CString m_bedno:床位数量CString m_price:住房单价int m_isaircon:是否有空调int m_istel:是否有电话int m_istv:是否有电视int m_istoilet:是否有卫生间(4) 在“ClassView”中右击类名“CStdroomDlg”,从快捷菜单中选择“Add Member Variables”项,添加成员变量:CStdroominfoSet m_stdroom:表stdroom的记录集类对象。(5) 输入客房标准信息后,单击“保存”按钮,添加记录,其处理函数为OnOK()。在“ClassView”中双击“CstdroomDlg”类中的“OnOK()”函数,进行修改。修改后的代码如下:void CStdroomDlg:OnOK() UpdateData(TRUE);CString sWarn=;if(m_roomid=)sWarn=_T(标准编号);elseif(m_name=)sWarn=_T(标准名称);if(sWarn!=)sWarn+=_T(不能为空!);AfxMessageBox(sWarn);return;if(atof(m_area)=0)sWarn=_T(房间面积);else if(atol(m_bedno)=0)sWarn=_T(床位数量);else if(atof(m_price)=0)sWarn=_T(住房单价);if(sWarn!=)sWarn+=_T(不能为零!);AfxMessageBox(sWarn);return;m_stdroom.m_strFilter=typeid = +m_roomid+;if(!m_stdroom.IsOpen()m_stdroom.Open();elsem_stdroom.Requery();if(!m_stdroom.IsEOF()AfxMessageBox(_T(标准编号重复!);return;m_stdroom.m_strFilter=typename = +m_name+;if(!m_stdroom.IsOpen()m_stdroom.Open();elsem_stdroom.Requery();if(!m_stdroom.IsEOF()AfxMessageBox(_T(标准名称重复!);return;/AfxMessageBox(m_stdroom.GetSQL();m_stdroom.AddNew();m_stdroom.m_roomid=m_roomid;m_stdroom.m_roomname=m_name;m_stdroom.m_area=atof(m_area);m_stdroom.m_bednum=atol(m_bedno);m_stdroom.m_aircondition=m_isaircon;m_stdroom.m_telephone=m_istel;m_stdroom.m_television=m_istv;m_stdroom.m_toilet=m_istoilet;m_stdroom.m_price=atof(m_price);m_stdroom.Update();m_stdroom.Close();AfxMessageBox(_T(添加完成!);2、创建修改客房标准与删除客房标准对话框创建这个对话框的步骤如下:(1) 在Resource View(资源视图)中右击“Dialog”,从快捷菜单中选择“Insert Dialog”,生成只有两个按钮的对话框。使用控件工具,向对话框中添加标签、文本框、下拉列表框等,这个对话框既用于修改客房标准,也用于删除客房标准。(2) 完成对话框制作之后,创建一个新类CUpdateStdroom,并使用MFC ClassWizard中的Message Maps选项卡,向类中添加消息处理函数: OnInitDialog();初始化对话框 OnSelchangeRoomid():改变标准编号事件 OnOK():单击“修改”事件。使用“MFC ClassWizard”中的“Member Variables”选项卡,向类中添加成员变量: CComboBox m_id:标准编号 CString m_name:标准名称 CString m_area:客房面积 CString m_bedno:床位数量 CString m_price:住房单价 int m_isaircon:是否有空调 int m_istel:是否有电话 int m_istv:是否有电视 int m_istoilet:是否有卫生间 int m_flag:对话框标志。M_flag=1为修改客房类型;M_flag=0 为删除客房类型(3) 在“ClassView”中右击类名“CStdroomDlg”,从快捷菜单中选择“Add Member Variables”项,添加成员变量:CStdroominfoSet m_stdroom:表stdroom的记录集类对象。(4) 在“ClassView”中双击“CUpdateStdroom”类中的“OnInitDialog()”函数,进行修改。修改后的代码如下:BOOL CUpdateRoomType:OnInitDialog() CDialog:OnInitDialog();m_stdroom.Open();while(!m_stdroom.IsEOF()m_id.AddString(m_stdroom.m_roomid);m_stdroom.MoveNext();if(m_id.GetCount()=0)AfxMessageBox(_T(现在没有客房标准!);CDialog:OnOK();return FALSE;m_id.SetCurSel(0);m_id.GetLBText(0,m_roomid);m_stdroom.m_strFilter=roomid = +m_roomid+;if(!m_stdroom.IsOpen()m_stdroom.Open();elsem_stdroom.Requery();/AfxMessageBox(m_stdroom.GetSQL();m_name=m_stdroom.m_roomname;m_area.Format(%.2f,m_stdroom.m_area);m_bedno.Format(%d,m_stdroom.m_bednum);m_isaircon=m_stdroom.m_aircondition;m_istel=m_stdroom.m_telephone;m_istv=m_stdroom.m_television;m_istoilet=m_stdroom.m_htoilet;m_price.Format(%.2f,m_stdroom.m_price);UpdateData(FALSE);m_stdro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法学习课件
- 北京舞蹈考试题库及答案
- 结核病治疗方案
- 人工智能:新质生产力的技术引擎
- 打造新质生产力的人才磁场
- 乡镇过去五年进展工作总结及将来五年工作方案
- 新质生产力本质属性
- 幼儿园班级疫情防控活动方案
- 干部如何服务新质生产力发展
- 新质生产力看莞深智造
- 2024-2030年中国电解二氧化锰(EMD)行业市场发展趋势与前景展望战略分析报告
- 初中+物理运动的描述++人教版八年级物理上册+
- 计算机科学实习合同模板
- 人身损害三期评定规范
- 《我与地坛》教学设计 统编版高中语文必修上册
- 工业固废运输处置投标方案(技术标)
- 上海市语文新初一均衡分班试卷
- 中医培训课件:《放血疗法》
- KA-T 20.1-2024 非煤矿山建设项目安全设施设计编写提纲 第1部分:金属非金属地下矿山建设项目安全设施设计编写提纲
- 医务人员职业暴露的预防与处理应急预案
- 《古建筑构件制作(榫卯、斗拱)》课程标准
评论
0/150
提交评论