数据库课程设计宾馆客房信息管理系统样本_第1页
数据库课程设计宾馆客房信息管理系统样本_第2页
数据库课程设计宾馆客房信息管理系统样本_第3页
数据库课程设计宾馆客房信息管理系统样本_第4页
数据库课程设计宾馆客房信息管理系统样本_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

一、设计内容与设计规定1.设计内容:数据库系统原理课程设计规定学生综合运用本课程关于知识,在教师指引下,运用特定数据库设计环境,针对详细问题,完毕从系统需求分析、数据库概念设计、数据库逻辑设计,到数据库实现等设计过程,最后实现一种较为完整反映应用需求数据库系统。因而,在设计中,规定学生应当全面考虑各个设计环节以及它们之间互相联系。下面是各个设计阶段详细内容。⒈系统需求分析需求分析是数据库系统设计一种重要环节。本阶段应当对整个应用状况作全面、详细调查,拟定特定数据库应用环境下设计目的,收集该应用环境下针对系统设计所需要基本数据以及对这些数据详细存储规定,从而拟定顾客需求。顾客对数据库需求涉及:⑴解决需求。即顾客要完毕什么解决功能等。学生在设计中应依照详细课题规定拟定系统应当实现功能,某些基本功能普通是必要具备,如顾客管理与维护,基本数据维护,灵活信息查询等。⑵信息需求。即在数据库中需要存储哪些数据。学生应当依照详细课题,认真分析关于规定,拟定本设计信息需求。⑶安全性和完整性功能。实践中这是一种需要与顾客不断交流才干逐渐拟定需求。本课程设计规定学生在自己设计中能反映出基本安全性和完整性功能。本阶段设计成果(即系统需求分析)应当在课程设计报告中进行详细描述,画出系统数据流图,写出较为详细数据字典,作为本课程设计验收根据之一。⒉数据库概念设计数据库概念设计是在需求分析基本上,运用与顾客双方都能理解形式,设计出数据库概念模型。本课程设计规定学生采用E-R办法进行数据库概念设计。本设计阶段可分为:●数据抽象。即依照需求分析成果,抽取出与本课程设计有关特性。设计局部概念模式。运用E-R办法,设计出系统各个局部ER模型。●设计全局概念模式。通过对局部E-R模型操作,解决各个E-R模型关于对象定义不一致问题,以及对各个E-R模型进行合并优化等,最后形成数据库全局概念模式。本阶段设计成果(局部和全局E-R图、详细数据库设计工具中概念构造设计图)应当在课程设计报告中进行详细描述,应当可以反映该设计对的性,作为本课程设计验收根据之一。⒊数据库逻辑设计数据库逻辑设计目是将概念设计阶段设计好E-R图转换成与详细机器上DBMS(如Oracle)所支持数据模型(如关系模型)相符合逻辑构造。鉴于本课程设计详细环境规定,学生在进行数据库逻辑构造设计时应当充分考虑特定数据库环境。规定学生在本阶段设计中分两步进行:●形成初始关系模式。将概念设计阶段产生全局概念模式(E-R图)转换成初始关系模式。●关系模式规范化解决。为了减少或消除关系模式中存在数据冗余和操作异常,依照设计所规定规范级别,按照本课程所学知识,逐个分析各个关系模式与否满足规定范式。在课程设计报告中应当提供本设计阶段有关内容,作为本课程设计验收根据之一。⒋创立数据库在某一数据库管理系统环境中创立数据库,依照需要也可建立有关数据视图和存储过程。在课程设计报告中应当提供有关内容,涉及数据库及各个数据库对象定义SQL语句,作为本课程设计验收根据之一。2.设计规定:鉴于数据库选题原理课程设计详细内容,对课程设计提出如下规定:⒈选题原则课程设计题目以选用学生相对比较熟悉业务模型为宜,规定通过本实践性教学环节,能较好地巩固数据库基本概念、基本原理、关系数据库设计理论、设计办法等重要有关知识点,针对实际问题设计概念模型,并应用既有工具完毕小型数据库设计与实现。⒉选题规定在背面课题表中列出了几种设计课题,每个课题均有相应规定或阐明。各课题难易度有一定差别,因而,参加课程设计学生一方面要理解设计任务,仔细阅读各个课题设计规定,3人一组(按学号顺序分组),为了避免多组选同一题,所做课题限组号相应课题。普通来说,选取课题应以在规定期间内能完毕,并能得到应有锻炼为原则。若学生对课题表以外有关课题较感兴趣,但愿选作课程设计课题时,应征得指引教师承认,并写出明确设计规定和阐明。设计时要严格按照题意规定进行设计,不能随意更改。若确因条件所限,必要要变化课题规定期,应在征得指引教师批准前提下进行。3.参照选题

工资管理系统

人事管理系统

仓库管理系统学生管理系统

图书馆管理信息系统

宾馆客房管理信息系统学籍管理系统机票预定系统学生成绩管理系统

课程管理子系统

通讯录子系统

教室管理子系统

宿舍管理子系统

个人事务管理子系统

库房管理系统

小商店销售管理系统

其他管理子系统数据库设计.4.课程设计报告规定课程设计设计报告是学生对本次课程设计全面总结,应当反映每个设计阶段设计思路和设计内容。该设计报告,应作为整个课程设计评分书面根据和存档材料。设计报告普通要以固定规格纸张(如A4)书写或打印(双面)并装订,笔迹及图形要清晰,工整,规范。内容及规定如下:⑴设计任务、规定及所用软件环境或工具简介。⑵课程设计内容中规定设计成果。⑶总结⑷验收状况二、进度安排第16周完毕数据库设计第17周完毕系统功能模块第18周完毕系统测试并能运营、答辩(18周周日上机时间)、提交设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小图纸及程序清单)。正文格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文内容:一、课题重要功能;二、课题功能模块划分(规定画出模块图);三、重要功能实现(至少要有一种重要模块流程图);四、程序调试;五、总结;六、附件(所有程序原代码,规定对程序写出必要注释)。正文总字数规定在3000字以上(不含程序原代码)。

目录TOC\o"1-3"\h\u一.系统需求分析 61.1设计前调查 61.2顾客需求分析 61.3核心数据流图 71.4核心数据字典 8二、概念设计 92.1局部E-R图 92.2全局E-R图 10三、逻辑设计 113.1开发环境 113.2关系模式形成以及规范 113.2.1有如下关系模式: 113.2.2分解分析: 11四、创立数据库 11五、程序以及调试和使用阐明 125.1程序登陆界面 125.2主面板 135.3详细简介 145.3.1房态查看 145.3.2入住登记和预定房间 145.3.3调房,住宿、退宿查询 155.3.4挂帐,结帐,日报表,追加押金 165.3.5报修和维修 165.3.6添加顾客,添加员工,修改密码 17六、总结 18七、某些代码 197.1模块 197.2添加员工 197.3宾客入住 21参照文献 26附录:计算机与信息工程学院课程设计评分表 27

一.系统需求分析1.1设计前调查近年来,宾馆业迅猛发展,市场竞争日趋激烈,全面提高宾馆软件管理水准,已成为宾馆业发展当务之急。特别是对于星级宾馆,既需要完毕前台某些服务工作,还需要完毕后台管理工作。然而,老式人工管理模式已经远远不能满足有效、快捷地解决经营中产生大量信息数据需要,从而使得公司决策层无法及时、精确地掌握一线资料,继而影响对市场进行对的地分析和预测。像沿海都市三星级以上宾馆引进外方管理,使小某些宾馆管理水准几乎接近或达到国际水平。但对占80%以上广大中小型宾馆来说,是难以做到。因而,欲在竞争中甩开对手,获得优势,必要在经营、管理、产品、服务等方面具备独到之处。而对宾馆经营状况起决定作用是客房管理。简朴服务原则已不是制胜锦囊,只有管理做到最细微之处,才干让顾客体会到宾馆服务高原则、高质量,而精确、迅速、周全往往就是最基本成功要素。老式管理办法已经不能适应当代社会需要,因而采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用一种管理系统。1.2顾客需求分析建立一套功能完善管理信息系统,既能满足业务人员寻常解决需要,增强公司经营全过程数字化管理水平;又能满足管理人员决策分析需要,提高公司管理层对公司经营反馈信息响应速度。从而大幅度提高工作效率,提高实行管理精确性、科学性,使肩负管理工作人员从繁杂手工劳作中解脱出来。因而程序需要实现功能有如下重要六大功能:客房管理:客房登记,入住状况查询,客房状态查看。宾客入住管理:客房预定,登记入住,房间调节,退房结帐物资管理:物品登记,物品查询,报修和维修,定期提示。财务管理:追加押金,增删财务,日报表员工管理:增改员工,查删员工系统管理:增删管理员,修改密码,以及预留基于SQL数据库管理(该程序考虑到作为课程设计和信息系统不是很大,使用了单机版ACCESS,以求以便写程序)其她功能:界面管理(提供两套外观:典型外观和春天里)

1.3核心数据流图维修信息调节房间维修/报修房间提示客房信息调节房间维修/报修房间提示预定预定客房信息客房状态退房退房入住客人客人信息入住登记入住客人帐务信息财务现开财务现开入住信息某些数据流图数据流名称:客人信息来源:客人去向:入住登记包括数据项:姓名、身份证号、性别、入住房间、房间类型、房间价格、入住状态等(宾馆客房管理系统数据流——客人信息)数据流名称:入住登记来源:客人产生入住登记去向:入住包括数据项:订单编号、姓名、性别、身份证号、客户编号、客房类型、抵房时间、入住人数、预定人、电话、住几天等信息(宾馆客房管理系统数据流——入住登记)数据流名称:客房信息来源:客人产生入住登记去向:入住包括数据项:客房编号、客房类型、客房价格、客房状态(宾馆客房管理系统数据流——客房信息)数据流名称:房间状态来源:退房去向:房间包括数据项:客房号码、房间状态(宾馆客房管理系统数据流——房间状态)数据流名称:帐务信息来源:退房去向:财务包括数据项:帐单编号、姓名、消费金额、入住时间、退房时间、押金(宾馆客房管理系统数据流——帐务信息)1.4核心数据字典[宾客入住信息表:Cmanage]数据项名称(库中字段名)数据类型及长度阐明客人电话(ctel)Char(20)客人姓名(cname)Char(12)Notnull客人性别(csex)Char(4)客人身份证号(cidnum)Char(20)客人住址(caddress)Char(50)订单编号(cnumber)Char(15)Notnull,primarykey入住人数(cmemeber)int客房编号(croom)Char(20)Notnull客房类型(ctype)Char(10)客房价格(cprice)money客房状态(cstatue)Char(2)Notnull抵店时间(cindate)短日期型date退房时间(coutdate)短日期型dateNotnull入住类别(cintype)Char(4)[预定/现开]押金(cya)money调节房间(cchange)Char(20)原由(creason)Char(80)应付款(cmshould)Money实收(cmpay)money[客房登记表:Roomlogin]数据项名称(库中字段名)数据类型及长度阐明房间编号(Rid)Char(12)Notnull房间名称(Rname)Char(20)Notnull,primarykey房间描述(Rdescribe)Char(100)房间价格(Rprice)moneyNotnull房间状态(Rstatue)Char(8)Notnull操作员(ruser)Char(12)Notnull[管理员表::pw]数据项名称(库中字段名)数据类型及长度阐明顾客(user)Char(12)Notnull,primarykey密码(pwd)Char(8)Notnull权限(power)Char(1)Notnull[财务管理表:Smanage]数据项名称(库中字段名)数据类型及长度阐明财务ID(Sid)Char(15)Notnull,primarykey事由(Sreason)Char(20)Notnull收入(Sin)money支出(Sout)moneyNotnull总收入(ssum)moneyNotnull操作时间(Sdate)dateNotnull结帐人(sman)Char(12)Notnull挂帐单位(scomp)Char(12)操作员(suser)Char(12)Notnull[维修/报修表:fix]数据项名称(库中字段名)数据类型及长度阐明登记ID(Fid)自动编号Notnull,primarykey登记日期(Fdate)dateNotnull物品名称(Fname)Char(50)Notnull所属房间(Froom)Char(20)Notnull维修状态(Fstatue)Char(8)Notnull维修日期(Ffdate)date登记操作员(Fman)Char(12)Notnull维修员(Ffman)Char(12)所需费用(Fpay)money[提示表:Reminder]数据项名称(库中字段名)数据类型及长度阐明提示ID(RemID)自动编号Notnull,primarykey提示日期(Remdate)dateNotnull提示类别(remtype)Char(20)Notnull提示状态(remstatue)Char(4)Notnull操作员(remuser)Char(12)Notnull价格编号名称二、概念设计价格编号名称状态2.1局部E-R图状态描述类型客房电话性别姓名描述类型客房电话性别姓名住址入职时间证件客人住址[客房E-R]住址入职时间证件客人住址职工电话职工电话密码职务[客人E-R][管理员E-R]密码职务顾客名管理员姓名工资顾客名管理员姓名工资权限年龄性别[职工E-R]权限年龄性别事由收入支出类别名称时间状态费用状态所属房间登记日期结帐预定维修时间总收入帐目管理维修表提示表顾客名管理员管理密码权限职工年龄性别入职时间电话职务住址工资姓名客房描述状态价格类型编号名称证件电话性别住址姓名客人2.2全局E-R图事由收入支出类别名称时间状态费用状态所属房间登记日期结帐预定维修时间总收入帐目管理维修表提示表顾客名管理员管理密码权限职工年龄性别入职时间电话职务住址工资姓名客房描述状态价格类型编号名称证件电话性别住址姓名客人入住入住n1111111nqpm11m[全局E-R图]三、逻辑设计3.1开发环境开发语言:VisualBasic开发平台:windowsxp,1G内存,集成显卡。开发工具:VisualBasic6.0公司版,SQLServer,Access3.2关系模式形成以及规范3.2.1有如下关系模式:PW(user,pwd,power);Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage);Fix(Fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);Gmanage(Gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);Roomlogin(Rid,rname,rtype,rdescribe,rprice,rstatue,ruser);Reminder(remid,remname,remdate,remtype,remstatue,remuser);Smanage(Sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);Cmanage(cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,cintype,coutdate,cya,cyaadd,cstatue,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,cmpay,cmback,cuser);3.2.2分解分析:各分量都是不可分割数据项。满足第一范式;每一种关系中非码属性都完全函数依赖于码,符合第二范式;每个关系中主属性不传递依赖关系中每个关系键,符合第三范式;关系中所有非主属性对每个码都是完全依赖,且所有主码对于每个不包括它码也是完全函数依赖,没有任何属性完全函数依赖非码任何一组属性四、创立数据库1)创立数据库,让数据库可以动态增长createdatabasehotelon(name=hotel_data,filename='E:\hotel.mdf',size=5mB,maxsize=20mb,filegrowth=10%)logon(name=hotel_log,filename='E:\hotel.ldf',size=2mb,maxsize=5mb,filegrowth=1mb)go2)创立PW顾客表usehotelgocreatetablepw(userchar(12)notnullprimarykey,Pwdchar(8)notnull,Powerchar(1)notnull)go3)创立客房登记表RoomLogincreatetableroomlogin(ridchar(12)notnull,Rnamechar(20)notnullprimarykey,Rtypechar(10)notnullRdescribechar(100),Rpricemoneynotnull,Rstatuechar(8)notnull,Ruserchar(12)notnull,)go4)同上创立提示表Reminder、物品表Gmanage、维修表fix、员工表Empl、帐务表Smanage、客户如住表Cmanage五、程序以及调试和使用阐明5.1程序登陆界面[阐明:进入登陆界面后,系统会自动加载已有顾客,让顾客选取自己帐户进行登陆,密码输入三次后关闭窗口;用控件属性设立来实现顾客定义完整性:密码最大长度为8。顾客名错误,或密码错误,系统都会对其进行提示,以达到对的输入,本程序设立一超级顾客:admin,权限为1,其她顾客权限均为0。超级顾客能对押金进行追加,其她顾客必要在超级顾客协助下才干完毕押金追加]5.2主面板[阐明:主界面用VB中MDIForm,多入口提供应顾客操作,涉及菜单栏、工具栏(可选取显示和不显示)、侧边栏(可隐藏)、主面板Panel(提供操作员最惯用操作,节约时间),在状态栏可以显示系统时间和当前顾客以及需要维修房间数。实现了所有规定功能][阐明:提供两种风格供顾客选取。在vb模块里有一函数change(),一变量保存当前风格类型,当每次show一窗口时,就会调用该函数通过变量判断是显示那种风格]5.3详细简介5.3.1房态查看[阐明:在主面板上迅速入口上点击房态查询,显示当前房间入住图形界面。直观、以便。点击房间能显示在该房间入住过客户。嵌入查询语句为:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanagewherecroom='"&Command1(Index).Caption&"'",Command1(Index).Caption为当前按下要查询房间按钮名称]5.3.2入住登记和预定房间[阐明:点"登记",系统自动在roomlogin表中rstatue='空闲'房间名字添加到房间号码下拉列表中,供客户选取房间,顾客可以选取"现开/预定"当顾客选取下拉列表中一种房间时,系统自动将roomlogin中该房间原则类型,价格自动加载显示,房间状况一目了然。其她顾客自定义完整性约束都通过对控件属性设立来完毕,当顾客输入数据破坏完整性时,系统会发出警告,以保持数据库完整性]5.3.3调房,住宿、退宿查询[阐明:通过入口可以打开窗体。当客户需要调节房间时,点登记后,系统自动加载已入住客户房间和空闲房间号码,当顾客选取要调房客户时,系统自动加载客户信息。选取目的房间时候,系统自动加载房间信息。顾客拟定调房后,系统修改数据库:原房间状态改为空闲,目的房间改为入住。原住房产生费用将加在新入住房间上,而提示表中原房间改为现房间。因而需要修改三个表:Cmanage,roomlogin,reminder.而查询入住信息嵌入sql语句为:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanage",其她查询语句雷同,此后不在赘述。在文本框里输入要查询姓名,MSFlexGrid空间将会显示查询成果,嵌入查询语句为:"selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatuefromcmanagewherecnamelike'"&Text1.Text&"*'"]5.3.4挂帐,结帐,日报表,追加押金[阐明:追加押金窗体.系统自动加载已入住客户号码,当顾客选取客户号码时候,系统自动加载客户信息,顾客添加押金后,保存时系统对cmanage表进行修改,保存数据;结帐窗体。系统自动加载已入住还没退房房间号,顾客选取要退房房间号,系统加载客户信息以需付款和明细供核对,拟定结帐后,系统将对cmanage表,smanage,reminder,roomlogin进行修改,以保持数据库参照完整性。如果是挂帐,顾客可以选取挂帐,在客户结帐时候,调出挂帐结帐窗体,系统自动加载挂帐单位,顾客选取挂帐单位,系统自动加载需还金额。挂帐结帐只对smanage表操作。而日报表显示smange里信息,提供按日期查找办法,打印当天帐务明细。查询嵌入sql语句为:"selectsreason,sin,sout,ssum,sdate,sman,scomp,suserfromsmanagewheresdate=#"&DTPicker1.Value&"#"。在该处开始始终调试不出,日后发当前sql语句中对日期要加"#"来格式阐明是日期型。5.3.5报修和维修[阐明:打开该窗体,左边有一组option选项。当选报修时候,系统自动加载空闲房间号。如果为入住房间报修,则需先调房退房后才干报修,总不能让客户住在需维修房间中吧。拟定报修后。系统将在reminder表中增长一条需提示事项,即需维修事项,传递房间号和维修状态给reminder表做为核心字。在主窗体中便会有提示需要维修房间,可以通过房态查询,查看需要维修房间号。维修完后要进行登记,选取登记后,系统加载当前状态为维修房间,记录维修费用和维修员,拟定后,系统将操作roomlogin和reminder表,保持数据库系统参照完整性]5.3.6添加顾客,添加员工,修改密码[阐明:只有管理员,即超级顾客才干添加操作员和员工,但是普通拥护可以修改自己密码。添加操作员代码为:IfText1.Text<>""AndText2.Text<>""AndText2.Text=Puser.Fields("pwd")ThenIfText3.Text<>""ThenPuser.EditPuser.Fields("pwd")=Text3.TextMsgBox("密码修改成功,退出操作员密码修改!")Puser.Updatemain.Enabled=TrueUnloadMeElseMsgBox("请输入新密码!!")EndIfElseIfText1.Text=""ThenMsgBox("请输入操作员!")Text1.SetFocusElseIfText1.Text<>Puser.Fields("user")ThenText1.SetFocusText1.Text=""MsgBox("无此操作员,请重新输入!")EndIfEndIfIfText2.Text=""ThenMsgBox("请输入操作员原密码!")Text2.SetFocusElseIfText2.Text<>Puser.Fields("pwd")ThenMsgBox("原密码错误,请重新输入原密码!")Text2.SetFocusEndIfEndIfEndIf这是才用DAO3.6对象来对数据库进行操作,这是另一种办法对数据库操作cr="insertintopwvalues('"&text1.text&"','"&text2.text&"','0')"mydb.Executecr这是直接用嵌入sql语句来插入记录。两种效果都同样]六、总结两周日日夜夜奋战,终于达到了预定效果,完毕了该信息系统设计和程序编写。前面学期曾学过VB语言,也开发过诸多程序,因此vb语言成为首选。虽然其编写应用程序在不同机器上需要解释器,需要随带诸多ocx控件和其她,但是在编写信息管理系统这方面还是很有优势。(1)可视画编程,丰富控件,随用随拖,对控件对象编程,很以便。(2)可以以便运用API函数实现窗体各种效果。有丰富api接口。(3)语言简朴,实现功能很以便。在对数据库操作方面,引用了DAO3.6对象,使用DAO编程连接和操作。因此很自然选取了VB语言。在数据库方面,考虑编程以便,采用从sql中导出成access文献来进行操作。选定课题后,开始收集有关资料和设计软件架构。到宾馆调查和到网上收集信息,以及参照了其她信息管理系统,心里就有了轮廓。设计好软件几大模块,采用自顶向下典型设计办法,拟定实现功能,开始设计数据库。运用有关数据库知识,设计好数据表,拟定字段。并通过模式分解,拟定其是无损连接。有了数据库作为整个设计底层,就好象盖房子有了骨架,而软件就象是砖瓦,只是将骨架填充完善,给客户一种好外观。因而数据库设计尤为重要,但是在设计之初,往往会有诸多状况不能考虑周全,再加之一种人编写,因此进度一度很慢,日后通过列出所有也许状况,以及同同窗教师等交流,总结并重新设计了数据库,终于是能有一种比较好效果。通过将所有和客户有关财务信息都加到客户信息里,避免了对多表操作,避免了有也许会浮现参照完整性不一致问题。继而是软件设计,由于对vb还是算比较熟悉,因而有了数据库支撑,就得心应手了。考虑到顾客使用以便性,软件主界面提供了诸多入口,以及直观图形显示,以便顾客操作,因而也给客户带来以便,免除了客户诸多等待时间,提高宾馆形象。同步提供了两套外观,春天里这套外观可以避免顾客审美疲劳。整个程序完毕了,又花了大量时间对其进行调试。通过白盒黑盒测试,程序能正常显示成果和精确报错,达到了单机运营效果。接着在不同机环境器上测试,有些控件由于没有带走,因此报错,日后带上控件后都能正常运营,在xp和win7上都能正常运营。由于公司规模和业务量大,因而信息系统不也许只在单机上运营,因此才用C/S,或B/S构造比较适当。因时间关系因此没能完毕,只预留了接口,供后来开发扩展用。固然这次课程设计由于是数据库课程设计,重点在数据库设计,因此对于软件体系构造风格,没有考虑,只求能达到目!在本次课程设计中,要感谢各位教师指引,也要感谢提供意见和建议同窗,才得以大体完毕该设计。本欲来让教师答辩,但因个人因素,在答辩那天赶回家了,因此没得完毕最后答辩。但这不要紧,编程最大喜事莫过于完毕所有程序那一刻,虽然后续尚有诸多维护和修改任务,但是心里突然轻松下来那一刻心情是无与伦比。再次感谢教师指引!七、某些代码7.1模块PublicNowUserAsString'当前顾客名PublicnowpowerAsString'当前顾客权限PublicmydbAsDAO.Database'定义数据库PublicbgiAsInteger'判断背景风格PublicSubLoadAccess()Setmydb=DAO.OpenDatabase(App.Path&"\hotel.mdb")EndSubPublicSubbground()Ifbgi=1Thenmain.Picture=panel.Image1.Picturepanel.Picture=panel.Image1.Picturepanel.Picture1.Picture=panel.Image1.Picturemain.Picture1.Picture=panel.Image1.Picturemain.Picture2.Picture=panel.Image1.PictureUnloadfindEm:Unloadfindlogin:UnloadfingG:UnloadInLogin:UnloadLogoutBG:Unloadmanagekf:Unloadpayoff:UnloadViewUnloadchangelogin:UnloadfindLogout:Unloadfind:panel.resizemeElseIfbgi=0Thenmain.Picture=Nothingpanel.Picture=Nothingpanel.Picture1.Picture=Nothingmain.Picture1.Picture=Nothingmain.Picture2.Picture=NothingUnloadfindEm:Unloadfindlogin:UnloadfingG:UnloadInLogin:UnloadLogoutBG:Unloadmanagekf:Unloadpayoff:UnloadViewUnloadchangelogin:UnloadfindLogout:Unloadfind:panel.resizemeEndIfEndIfEndSub7.2添加员工PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong'获取“变动”信息PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPrivateConstWM_SYSCOMMAND=&H112PrivateConstSC_MOVE=&HF010&PrivateConstHTCAPTION=2DimEmpAsRecordsetPrivateSubDTPicker1_Change()Text7.Text=Year(Date)-Year(DTPicker1.Value)EndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1Then'如果按下鼠标左键DimReturnValAsLongX=ReleaseCapture()ReturnVal=SendMessage(addEm.hwnd,WM_SYSCOMMAND,SC_MOVE+HTCAPTION,0)EndIfEndSubPrivateSubForm_Load()LoadAccessSetEmp=mydb.OpenRecordset("select*fromempl")Text1.Text=Year(Date)&Month(Date)&Day(Date)&Hour(Time)&Minute(Time)Text7.Text=Year(Date)-Year(DTPicker1.Value)EndSubPrivateSubCommand1_Click()'================================================!!!!!!!!!!!!!!!!!!!!!!!!!!!'缺少判断员工号与否存在信息IfText1.Text=""OrText2.Text=""OrText4.Text=""Thenmsg$=MsgBox("请确认员工号、员工姓名、职务已经输入",48,"Error")ElseEmp.AddNewEmp.Fields("emid")=Text1.TextEmp.Fields("ename")=Text2.TextEmp.Fields("esex")=Combo1.TextEmp.Fields("ejob")=Text4.TextEmp.Fields("eage")=Val(Text5.Text)Emp.Fields("etel")=Text6.TextEmp.Fields("ejtime")=DTPicker1.ValueEmp.Fields("ejage")=Text7.TextEmp.Update'更新记录Emp.Closemsg$=MsgBox("添加成功",64,"Success!")UnloadMeEndIfEndSubPrivateSubCommand2_Click()Text1.Text="":Text2.Text="":Combo1.Text=""Text4.Text="":Text5.Text="":Text6.Text=""EndSubPrivateSubCommand3_Click()main.Enabled=TrueUnloadMeEndSub7.3宾客入住DimiAsInteger'定义一种整型变量DimInLogAsRecordsetDimRoomAsRecordsetDimRemindAsRecordsetPrivateSubCombo4_Click()SetRoom=mydb.OpenRecordset("select*fromroomloginwherername='"&Combo4.Text&"'")ZSDJ(4).Text=Room.Fields("rtype"):ZSDJ(5).Text=Room.Fields("rprice")EndSubPrivateSubCombo5_click()Label11.Caption=Combo5.TextEndSubPrivateSubDTP3_Change()ZSDJ(6).Text=DTP3.Value-DTP1.ValueEndSubPrivateSubForm_Load()Ifbgi=1ThenMe.Picture=panel.Image1.PictureIfbgi=0ThenMe.Picture=NothingDTP1.Value=Date:DTP2.Value=Date:DTP3.Value=Date'初始化日期及时间czy.Text=NowUser'赋值给czyLoadAccessEndSubPrivateSubForm_Unload(CancelAsInteger)main.Enabled=True'设立主窗体有效EndSubPrivateSubCombo2_Click()IfCombo2.Text="折扣"ThenZSDJ(8).Enabled=True'设立ZSDJ(8)有效ZSDJ(8).SetFocus'ZSDJ(8)获得焦点EndIfIfCombo2.Text="招待"ThenZSDJ(8).Enabled=True'设立ZSDJ(8)有效ZSDJ(8).Text=0'赋值给ZSDJ(8)EndIfEndSubPrivateSubZSDJ_Change(IndexAsInteger)SelectCaseIndexCase6ZSDJ(7).Text=Format(Val(ZSDJ(6).Text)*Val(ZSDJ(5).Text),"0.00")'计算折前宿费ZSDJ(9).Text=ZSDJ(7).Text'赋值给ZSDJ(9)ZSDJ(8).Text=100DTP3.Value=DTP1.Value+Val(ZSDJ(6).Text)'计算退宿日期Case8ZSDJ(9).Text=Format(Val(ZSDJ(7).Text)*Val(ZSDJ(8).Text)/100,"0.00")'计算实际宿费Case10IfZSDJ(10).Text<>""ThenZSDJ(10).Text=Val(ZSDJ(10).Text)'用val函数将字符串转换为数字DTP2.Value=DTP1.Value+Int(Val(ZSDJ(10).Text)/Val(ZSDJ(5).Text))'计算提示日期EndIfEndSelectEndSubPrivateSubZSDJ_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)SelectCaseIndexCase0IfKeyCode=vbKeyReturnThenCombo1.SetFocus'按回车键Combo1获得焦点Case1IfKeyCode=vbKeyReturnThenZSDJ(2).SetFocus'按回车键ZSDJ(2)获得焦点Case2IfKeyCode=vbKeyReturnThenZSDJ(3).SetFocus'按回车键ZSDJ(3)获得焦点Case3IfKeyCode=vbKeyReturnThenDBCombo1.SetFocus'按回车键ZSDJ(2)获得焦点Case4IfKeyCode=vbKeyReturnThenZSDJ(5).SetFocus'按回车键ZSDJ(5)获得焦点Case5IfKeyCode=vbKeyReturnThenZSDJ(6).SetFocus'按回车键ZSDJ(6)获得焦点Case6IfKeyCode=vbKeyReturnThenZSDJ(10).SetFocusCase8IfKeyCode=vbKeyReturnThenZSDJ(10).SetFocus'按回车键ZSDJ(10)获得焦点Case10IfKeyCode=vbKeyReturnThenZSDJ(11).SetFocus'ZSDJ(11)获得焦点Case11IfKeyCode=vbKeyReturnThenComok.SetFocus'按回车键Comok获得焦点EndSelectEndSubPrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenZSDJ(1).SetFocus'按回车键ZSDJ(1)获得焦点EndSubPrivateSubDBCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenZSDJ(5).SetFocus'ZSDJ(5)获得焦点EndSubPrivateSubcomdj_Click()'查询空闲房间信息SetRoom=mydb.OpenRecordset("select*fromroomloginwhererstatue='空闲'")'OnErrorGoTouRoom.MoveFirstCombo4.Text=Room.Fields("rname")ZSDJ(4).Text=Room.Fields("rtype")ZSDJ(5).Text=Room.Fields("rprice")SetRoom=mydb.OpenRecordset("select*fromroomlogin")WhileNotRoom.EOFIfRoom.Fields("rstatue")="空闲"ThenCombo4.AddItemRoom.Fields("rname")Room.MoveNextWendbh.Text=Year(Date)&Month(Date)&Day(Date)&Hour(Time)&Minute(Time)&Second(Time)'设立编号ZSDJ(8).Text="":ZSDJ(10).Text=""'设立控件有效或无效Comok.Enabled=True:Comdj.Enabled=False:Comprint.Enabled=False:ZSDJ(8).Enabled=TrueZSDJ(10).Enabled=True:Combo1.Enabled=True:DTP3.Enabled=TrueCombo2.Enabled=True:ZSDJ(0).Enabled=True:ZSDJ(0).SetFocusLabel11.Caption=Combo5.TextExitSub'u:h$=MsgBox("没有空闲房间,客房已满",48,"Error"):Comok.Enabled=False:Comprint.Enabled=False:Comcancel.Enabled=False:Comend.Enabled=True:Comdj.Enabled=TrueEndSubPrivateSubcomok_Click()'===========================!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11SetInLog=mydb.OpenRecordset("select*fromcmanage")IfZSDJ(0).Text<>""AndZSDJ(1).Text<>""AndText1.Text<>""AndZSDJ(6).Text<>""ThenInLog.AddNewIfbh.Text<>""ThenInLog.Fields("cnumber")=bh.TextIfZSDJ(0).Text<>""ThenInLog.Fields("cname")=ZSDJ(0).TextIfCombo1.Text<>""ThenInLog.Fields("cictype")=Combo1.TextIfZSDJ(1).Text<>""ThenInLog.Fields("cicnum")=ZSDJ(1).TextIfZSDJ(2).Text<>""ThenInLog.Fields("caddress")=ZSDJ(2).TextIfText2.Text<>""ThenInLog.Fields("ctel")=Text2.TextIfCombo4.Text<>""ThenInLog.Fields("croom")=Combo4.TextIfCombo5.Text<>""ThenInLog.Fields("cintype")=Combo5.TextIfCombo3.Text<>""ThenInLog.Fields("csex")=Combo3.TextIfText1.Text<>""ThenInLog.Fields("cmember")=Text1.TextIfZSDJ(4).Text<>""ThenInLog.Fields("ctype")=ZSDJ(4).TextIfDTP1.Value<>""ThenInLog.Fields("cindate")=DTP1.ValueIfZSDJ(5).Text<>""ThenInLog

温馨提示

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

评论

0/150

提交评论