VF实践——酒店客房管理系统.doc_第1页
VF实践——酒店客房管理系统.doc_第2页
VF实践——酒店客房管理系统.doc_第3页
VF实践——酒店客房管理系统.doc_第4页
VF实践——酒店客房管理系统.doc_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

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

文档简介

Visual FoxPro课程设计酒店管理系统实习报告二O一一 年 九 月目录一、题目和要求3二、需求分析3三、功能分析3四、数据库设计4五、系统的具体实现4六、系统的运行过程17七、实习体会21一、题目和要求酒店管理系统1、 系统包括数据录入、数据修改、数据添加、数据查询、数据备份和报表生成;2、 数据库信息包括MIMA表,客房信息表,客户信息表 ;3、 查询应提供多种查询方式、汇总报表。 按照软件工程的方法,数据库应用系统的开发过程包括可行性分析、需求分析、系统设计、系统实现、系统测试和系统维护等几个阶段。各个阶段的主要任务如下:1、 行性分析(1)定义系统功能、性能、可靠性等要求;(2)探讨系统实现的关键技术和解决问题的技术路线;(3)进行系统开发的可行性分析论证,制定完成任务的实施计划。二、需求分析(1)确认用户需求;(2)收集和分析需求证据。3、系统设计(1)数据设计;(2)系统结构和功能设计。4、系统实现(1)数据库具体实现;(2)程序设计和各种数据对象设计。5、系统测试6、系统维护三、功能分析酒店管理系统的主要功能:可以录入客户住宿信息、修改信息和添加信息;可以实现数据查询;各类检索信息的显示和打印。结构图:酒店管理系统数据录入数据修改数据添加数据查询报表生成按客房信息查询客房信息报表按客人信息查询客人信息报表四、数据库设计(一)、数据库结构数据库:酒店管理系统.DBC表:客房信息表,客人信息表,MIMA表(二)、表单(1)登陆表单:登陆表单.SCX(2)登陆界面:登陆界面.SCX(3)主界面:主界面.SCX(4)数据录入:客人信息录入.SCX (5)数据维护:客户信息维护.SCX(6)数据查询:客房查询.SCX 客户查询.SCX 报表查询.SCX (7)数据备份:数据备份.SCX(三)、菜单菜单:酒店管理系统.MNX(四)、报表报表:报表.FRX(五)项目酒店管理系统.PJX五、系统的具体实现表单(1)登陆界面:登陆界面.SCX (2)登陆表单:登陆表单.SCX(3)主界面:主界面.SCX(4)数据录入:客人信息录入.SCX (5)数据维护:客户信息维护.SCX(6)数据查询:客房查询.SCX 客户查询.SCX 报表查询.SCX (7)数据备份:数据备份.SCX1、登陆界面 登陆界单的界面如下图。它的主要功能是用于欢迎使用者进入系统的功能。(1)进入系统按钮代码do form 登陆表单(2)退出按钮代码release thisform2、登陆表单登陆表单界面如下图。它的主要功能是通过用户输入正确的帐号和密码才能进入系统进行下一步操作。(1)确定按钮代码USE mima number1=alltrim(THISFORM.TEXT1.VALUE) password1=alltrim(THISFORM.TEXT2.VALUE) if number1=alltrim(mima.zh) password1=alltrim(mima.mm) thisform.label4.caption=登陆成功 wait timeout 1 DO FORM 主界面 ELSE MESSAGEBOX(用户名或用户密码不正确!) endif use(2)取消按钮代码release thisform3、主界面主界面是系统的工作界面,它被登陆表单调用并调用菜单 过程: (1)打开菜单; (2)新建主表单,设置表单的CAPTION属性为“酒店管理系统”; (3)设置表单的INIT事件代码,调用菜单的程序文件 酒店管理系统.MPR DO 酒店管理系统.mpr WITH THIS,.t.; (4)运行表单,如下图:4、客房查询表单: 客房查询表单主要用于管理员查询现有客房情况,主要包括已满、未满和维修,如下图:(1)查询按钮的事件代码为:price1=alltrim(bo1.value)style1=alltrim(bo2.value)depart=alltrim(bo3.value)zhekou=alltrim(bo3.value)flag1=thisform.check1.valueflag2=thisform.check2.valueflag3=thisform.check3.valueflag4=thisform.check4.valueif flag1=0 and flag2=0 and flag3=0 and flag4=0 messagebox(请输入查询条件,48,错误)endifif flag1=1 and flag2=0 and flag3=0 and flag4=0 select * from 客房信息表 where 客房价格=price1endifif flag1=0 and flag2=1 and flag3=0 and flag4=0 select * from 客房信息表 where 客房类型=style1endifif flag1=0 and flag2=0 and flag3=1 and flag4=0 select * from 客房信息表 where 客房状态=departendifif flag1=0 and flag2=0 and flag3=0 and flag4=1 select * from 客房信息表 where 折扣情况=zhekouendifif flag1=1 and flag2=1 and flag3=0 and flag4=0 select * from 客房信息表 where 客房价格=price1 and 客房类型=style1endifif flag1=1 and flag2=0 and flag3=1 and flag4=0 select * from 客房信息表 where 客房价格=price1 and 客房状态=departendifif flag1=1 and flag2=0 and flag3=0 and flag4=1 select * from 客房信息表 where 客房价格=price1 and 折扣情况=zhekouendifif flag1=0 and flag2=1 and flag3=1 and flag4=0 select * from 客房信息表 where 客房类型=style1 and 客房状态=departendifif flag1=0 and flag2=0 and flag3=1 and flag4=1 select * from 客房信息表 where 折扣情况=zhekou and 客房状态=departendifif flag1=0 and flag2=1 and flag3=0 and flag4=1 select * from 客房信息表 where 折扣情况=zhekou and 客房类型=style1endifif flag1=1 and flag2=1 and flag3=1 and flag4=0 select * from 客房信息表 where 客房价格=price1 and 客房类型=style1 and 客房状态=departendifif flag1=1 and flag2=1 and flag3=0 and flag4=1 select * from 客房信息表 where 客房价格=price1 and 客房类型=style1 and 折扣情况=zhekouendifif flag1=0 and flag2=1 and flag3=1 and flag4=1 select * from 客房信息表 where 客房状态=depart and 客房类型=style1 and 折扣情况=zhekouendifif flag1=1 and flag2=1 and flag3=1 and flag4=1 select * from 客房信息表 where 客房价格=price1 and 客房类型=style1 and 客房状态=depart and 折扣情况=zhekouendif5、客户查询表单该表单功能为管理员管理客户信息,通过姓名、客房号、入住时间帮助客户确定客房。(1)查询代码如下:getid=alltrim(thisform.text1.value)getname=alltrim(thisform.text2.value)getdepart=alltrim(thisform.text3.value)flag1=thisform.check1.valueflag2=thisform.check2.valueflag3=thisform.check3.valueif flag1=0 and flag2=0 and flag3=0 messagebox(请输入查询条件,48,错误)endifif flag1=1 and flag2=0 and flag3=0 select * from 客户信息表 where 客房号=getidendifif flag1=0 and flag2=1 and flag3=0 select * from 客户信息表 where 姓名=getnameendifif flag1=0 and flag2=0 and flag3=1 select * from 客户信息表 where 入住时间=getdepartendifif flag1=1 and flag2=1 and flag3=0 select * from 客户信息表 where 客房号=getid and 姓名=getnameendifif flag1=1 and flag2=0 and flag3=1 select * from 客户信息表 where 客房号=getid and 入住时间=getdepartendifif flag1=0 and flag2=1 and flag3=1 select * from 客户信息表 where 姓名=getname and 入住时间=getdepartendifif flag1=1 and flag2=1 and flag3=1 select * from 客户信息表 where 客房号=getid and 姓名=getname and 入住时间=getdepartendif (2)客房总体情况按钮代码如下:select * from 客户信息表6、客户信息维护表单客户信息维护表单主要用于酒店客户各类信息的更正或者修改。如下图(1)查找按钮代码:set order to 客房号seek alltrim(thisform.text1.value)if !found() messagebox(该客房号不存在,48,错误) go topendifthisform.text1.value=thisform.refresh(2)修改按钮代码messagebox(确定要修改这条信息吗?,12,信息) thisform.refresh thisform.grid1.recordsource=客户信息表(3)删除按钮代码nAnswer=messagebox(确定要删除吗?,36,信息)if nAnswer=6 thisform.dataenvironment.closetables(客户信息表) use 客户信息表 exclusive delete from 客户信息表 where 客户信息表.客房号=alltrim(thisform.txt客房号.value) pack use thisform.dataenvironment.opentables(客户信息表) thisform.refresh thisform.grid1.recordsource=客户信息表endif (4)导航条代码第一条记录代码goto topthis.parent.cmdFirst.enabled=.f.this.parent.cmdPrevious.enabled=.f.this.parent.cmdNext.enabled=.t.this.parent.cmdLast.enabled=.t.thisform.refresh上一条记录代码skip -1if bof() messagebox(已是第一条记录,48,信息窗口) this.parent.cmdFirst.enabled=.f. this.parent.cmdPrevious.enabled=.f.else this.parent.cmdFirst.enabled=.t. this.parent.cmdPrevious.enabled=.t.endifthis.parent.cmdNext.enabled=.t.this.parent.cmdLast.enabled=.t.thisform.refresh下一条记录代码skipif eof() messagebox(已是最后一条记录,48,信息窗口) skip -1 this.parent.cmdNext.enabled=.f. this.parent.cmdLast.enabled=.f.else this.parent.cmdNext.enabled=.t. this.parent.cmdLast.enabled=.t.endifthis.parent.cmdFirst.enabled=.t.this.parent.cmdPrevious.enabled=.t.thisform.refresh最后一条记录代码goto bottomthis.parent.cmdFirst.enabled=.t.this.parent.cmdPrevious.enabled=.t.this.parent.cmdNext.enabled=.f.this.parent.cmdLast.enabled=.f.thisform.refresh7、报表查询表单报表查询表单主要通过对当日或者当月的客户情况进行统计并打印。如下图。(1)COMBO1按钮代码if bo1.value=一月综合统计报表 thisform.text1.enabled=.t. thisform.text2.enabled=.t. else thisform.text1.enabled=.f. thisform.text2.enabled=.f. endif(2)打印报表按钮代码REPORT FORM 报表 preview8、数据备份表单数据备份表单主要功能就是做好酒店管理的数据备份工作,防止数据的丢失,如下图。(1)备份到按钮代码*让用户选择一个备份的目录*m.dir=GETDIR(,请输入文件要备份到的目录:)*确认选择了目录*DO WHILE EMPTY(m.dir) IF MESSAGEBOX(您没有选择要备份的目录。+CHR(13)+是否要取消备份?,4+32+256,取消)=7 m.dir=GETDIR(,请输入文件要备份到的目录:)ELSE RETURN ENDIFENDDO thisform.text1.value=m.dir(2)备份目录代码m.dir=GETDIR(,请输入备份的文件所在的目录:)DO WHILE EMPTY(m.dir) IF MESSAGEBOX(您没有选择目录。+CHR(13)+是否要取消恢复数据?,4+32+256,取消)=7 m.dir=GETDIR(,请输入备份的文件所在的目录:) ELSE RETURN ENDIFENDDO thisform.text2.value=m.dir(3)开始备份按钮代码if empty(alltrim(thisform.text1.value) thenMESSAGEBOX(没有选择目标路径!)elseCLOSE ALLDEFINE WINDOWS win1 FROM 1,1 TO 7,50 IN DESKTOP SYSTEM TITLE 数据备份 COLOR RGB(0,0,0,192,192,192)MOVE WINDOWS win1 CENTERACTIVATE WINDOWS win1 m.dir=thisform.text1.valueSET CONSOLE OFF 2,10 SAY 正在备份数据,请稍候COPY FILE mima.CDX TO (m.dir+mima.CDX)COPY FILE mima.dbf TO (m.dir+mima.dbf)COPY FILE 客户信息表.CDX TO (m.dir+客户信息表.CDX)COPY FILE 客户信息表.dbf TO (m.dir+客户信息表.dbf)COPY FILE 客房信息表.dbf TO (m.dir+客房信息表.dbf)COPY FILE 客房信息表.dbf TO (m.dir+客房信息表.dbf)DEACTIVATE WINDOWS win1RELEASE WINDOWS win1MESSAGEBOX(数据已成功备份。,64,完成)Endif(4)恢复数据按钮代码if empty(alltrim(thisform.text2.value) thenMESSAGEBOX(没有选择源目标路径!)elseset talk offCLOSE ALLDEFINE WINDOWS win1 FROM 1,1 TO 7,50 IN DESKTOP SYSTEM TITLE 数据恢复 COLOR RGB(0,0,0,192,192,192)MOVE WINDOWS win1 CENTERACTIVATE WINDOWS win1SET CONSOLE OFF m.dir=thisform.text2.value 2,10 SAY 正在恢复数据,请稍候COPY FILE (m.dir+mima.CDX) to mima.CDXCOPY FILE (m.dir+mima.dbf) to mima.dbfCOPY FILE (m.dir+客户信息表.CDX) to 客户信息表.CDXCOPY FILE (m.dir+客户信息表.CDX) to 客户信息表.dbfCOPY FILE (m.dir+客房信息表.CDX) to 客房信息表.CDXCOPY FILE (m.dir+客房信息表.CDX) to 客房信息表.dbfMESSAGEBOX(数据已恢复。,64,完成)Endif9、数据录入表单set century on set mark to if empty(alltrim(bo1.value) messagebox(客房号不能为空,48,错误) bo1.setfocuselse if empty(alltrim(bo2.value) messagebox(性别不能为空,48,错误) bo2.setfocus else if empty(alltrim(thisform.txt1.value) messagebox(姓名不能为空,48,错误) thisform.txt1.setfocus else if empty(alltrim(thisform.text2.value) messagebox(预计入住期不能为空,48,错误) thisform.text1.setfocus else if empty(alltrim(thisform.text4.value) messagebox(客房负责人不能为空,48,错误) thisform.text4.setfocus else if thisform.text3.value=未满 客房号=alltrim(bo1.value) 姓名=alltrim(thisform.txt1.value) 性别=alltrim(bo2.value) 入住时间=alltrim(thisform.text2.value) 预计入住时间=alltrim(ttoc(thisform.text1.value) 客房负责人=alltrim(thisform.text4.value) insert into 客户信息表 value(客房号,姓名,性别,入住时间,预计入住期,客房负责人) messagebox(添加成功!,48,信息) thisfo

温馨提示

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

评论

0/150

提交评论