某宾馆管理信息系统操作手册.doc_第1页
某宾馆管理信息系统操作手册.doc_第2页
某宾馆管理信息系统操作手册.doc_第3页
某宾馆管理信息系统操作手册.doc_第4页
某宾馆管理信息系统操作手册.doc_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

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

文档简介

宾馆管理信息系统系统平台:Windows2000数据库服务器:MicrosoftSQLServer2000开发工具:VisualBasic6.0系统开发人员:编写目的宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。系统功能分析系统开发的总体任务是实现宾馆各种信息的系统化、规范化和自动化。主要完成功能:有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。客房标准信息的修改、查询等。客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。剩余客房信息的查询等。订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。系统功能模块设计按结构化程序设计思想,分析得出如下系统功能模块图图系统功能模块图数据库设计数据库设计步骤: 数据库需求分析 数据库概念结构设计 数据库逻辑结构设计数据库需求分析分析调查有关宾馆管理信息需求的基础上得本系统所处理的数据流程图宾馆管理信息系统数据流程图针对一般宾馆管理信息系统的需求,通过对宾馆管理过程的内容和流程分析,设计如下面所示的数据项和数据结构: 客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等。 客房信息,包括的数据项有:客房编号、客房种类、客房位置、客房单价、备注等。 订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。 结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。数据库概念结构设计本系统根据以上的设计规划出的实体有:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。各个实体具体的描述-图如下:客房标准信息实体-图客房信息实体-图订房信息实体-图结算信息实体-图实体之间关系-图数据库逻辑结构设计首先将宾馆管理信息系统的数据库概念结构转化为SQL2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。其各个表格的设计结果如下列名 数据类型 可否为空说明Typeid Varchar NOTNULL标准编号TypenameVarchar NOTNULL标准名称Area Numeric NULL房间面积Bednum Numeric NULL床位数量HairconditionVarchar NULL是否有空调HtelephoneVarchar NULL是否有电话HtelevisionVarchar NULL是否有电视Htoilet Varchar NULL是否有单独卫生间PriceNumeric NULL单价Roomtype客房标准信息表列名 数据类型 可否为空 说明roomNO Varchar NOTNULL客房编号RoomtypeVarchar NOTNULL客房种类RoompositionVarchar NULL 客房位置RoompriceNumeric NULL 单价PutupVarchar NOTNULL是否被预定RoommemoText NULL备注Rooms客房信息表列名 数据类型 可否为空 说明Bookno Varchar NOTNULL订房编号CustomnameVarchar NOTNULL顾客姓名CustomIDVarchar NOTNULL身份证号码Roomno Varchar NOTNULL客房编号Indate Datetime NULL 入住日期Discount Numeric NULL 折扣Inmeno Text NULL 备注CheckdateDatetime NULL 结算日期AmountNumeric NULL 金额Bookin订房信息表数据库结构的实现利用SQL2000数据库系统中的查询分析实现数据库的逻辑结构,其表格如下:创建系统用户表格user_InfoCREATETABLEdbo.user_Info1(user_IDchar(10)COLLATEChinese_PRC_CI_ASNOTNULL,user_PWDchar(10)COLLATEChinese_PRC_CI_ASNULL,user_Deschar(10)COLLATEChinese_PRC_CI_ASNULL)ONPRIMARY创建客房标准信息表格roomtypeCREATETABLEdbo.roomtype(typeidchar(10)COLLATEChinese_PRC_CI_ASNOTNULL,typenamechar(10)COLLATEChinese_PRC_CI_ASNOTNULL,areanumeric(5,0)NULL,bednumnumeric(2,0)NULL,hairconditionchar(2)COLLATEChinese_PRC_CI_ASNULL,htelephonechar(2)COLLATEChinese_PRC_CI_ASNULL,htelevisionchar(2)COLLATEChinese_PRC_CI_ASNULL,htoiletchar(2)COLLATEChinese_PRC_CI_ASNULL,pricenumeric(10,2)NULL)ONPRIMARY创建客房信息表格roomsCREATETABLEdbo.rooms(roomNOchar(10)COLLATEChinese_PRC_CI_ASNOTNULL,roomtypechar(10)COLLATEChinese_PRC_CI_ASNOTNULL,roompositionchar(20)COLLATEChinese_PRC_CI_ASNULL,roompricenumeric(10,2)NULL,putupchar(2)COLLATEChinese_PRC_CI_ASNOTNULL,roommemotextCOLLATEChinese_PRC_CI_ASNULL)ONPRIMARYTEXTIMAGE_ONPRIMARY创建订房信息表bookinCREATETABLEdbo.bookin(booknochar(14)COLLATEChinese_PRC_CI_ASNOTNULL,customnamechar(10)COLLATEChinese_PRC_CI_ASNOTNULL,customIDchar(18)COLLATEChinese_PRC_CI_ASNOTNULL,roomnochar(10)COLLATEChinese_PRC_CI_ASNOTNULL,indatedatetimeNULL,discountnumeric(2,0)NULL,inmemotextCOLLATEChinese_PRC_CI_ASNULL,checkdatedatetimeNULL,ammountnumeric(10,2)NULL)ONPRIMARYTEXTIMAGE_ONPRIMARY宾馆管理信息系统具体程序实现创建公用模块Module1.bas添加公共数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL,代码如下:PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)_AsADODB.Recordset执行SQL语句,并返回记录集对象DimcnnAsADODB.ConnectionDimrstAsADODB.RecordsetDimsTokens()AsString异常处理OnErrorGoToExecuteSQL_Error用Split函数产生一个包含各个子串的数组sTokens=Split(SQL)Setcnn=NEWADODB.Connection打开连接cnn.OpenConnectStringIfInStr(“INSERT,DELETE,UPDATE”,UCase$(sTokens(0)ThenCnn.ExecuteSQLMsgString=sTokens(0)&”querysuccessful”ElseSetrst=NEWADODO.Recordsetrst.OpenTrim$(SQL),cnn,adOpenKeyset,adLockOptimisticrst.MoveLastgetRecordCount返回记录集对象SetExecuteSQL=rstMsgString=”查询到”&rst.RecordCount&”条记录”EndIfExecuteSQL_Exit:Setrst=NothingSetcnn=NothingExitFunctionExecuteSQL_Error:MsgString=”查询错误:”&Err.DescriptionResumeExecuteSQL_ExitEndFunctionPublicSubEnterToTab(KeyascAsInteger)判断是否为回车键IfKeyasc=13ThenKeyasc用来保存当前按键转换成Tab键SendKeys”TAB”EndIfEndsub添加全局变量,用来记录各个窗口的读写状态,代码如下:PublicflagTeditAsBoolean标示是否进入修改的窗体PublicflagReditAsBooleanPublicflagBeditAsBooleanPublicflagCeditAsBooleanPublicgintCmodeAsIntegerPublicgintTmodeAsInteger记录是添加还是修改状态,1为添加,2为修改PublicgintRmodeAsIntegerPublicgintBmodeAsIntegerPublicflagSeditAsBoolean系统用户管理模块的创建用户管理模块主要实现:用户登陆。添加用户。修改用户具体客房标准添加代码:PrivateSubForm_Load()载入窗体后,判断所处状态DimintCountAsIntegerDimMsgTextAsStringDimiAsIntegerIfgintTmode=1Then判断是否属于添加状态Me.Caption=Me.Caption&”添加”Fori=0To3Combo1(i).AddItem”否”Combo1(i).AddItem”是”Combo1(i).ListIndex=0NextiElseIfgintTmode=2Then判断是否处于修改状态Setmrc=ExecuteSql(txtSQL,MsgText)Ifmrc.EOF=falseThenWithmrcForintCount=0To3txtItem(intCount)=.Fields(intCount)NextintCounttxtItem(4)=.Fileds(8)Fori=0To3Combo1(i).Additem”否”Combo1(i).Additem”是”Combo1(i).ListIndex=0NextiEndWithtxtItem(0).Enabled=FalseEndIfMe.Caption=Me.caption&”修改”EndIfmblChang=FalseEndSubPrivateSubcmd_Click()用户输入内容完毕后,单击cmdSave按钮触发Click事件DimintCountAsIntegerDimsMegAsStringDimMsgTextAsStringForintCount=0To4判断是否输入内容IfTrim(txtItem(intCount)&”)=”ThenSelectCaseintCountCase0sMeg=”标准编号”Case1sMeg=”标准名称”Case2sMeg=”房间面积”Case3sMeg=”床位数量”Case4sMeg=”床位单价”EndSelectsMeg=sMeg&”不能为空!”MsgBoxsMeg,vbOkOnly+vbExclamation,”警告”txtItem(intCount).SetFocusExitSubEndifNextintCount判断输入内容是否为数字ForintCount=2To4IfNotIsNumeric(Trim(txtItem(intCount)ThenSelectCaseintCountCase2sMeg=”房间面积”Case3sMeg=”床位数量”Case4sMeg=”床位单价”EndSelectsMeg=sMeg&”请输入数字!”MsgBoxsMeg,vbOKOnly+vbExclamation,”警告”txtItem(intCount).SeFocusExitSubEndIfNextintCountIfgintTmode=1Then判断是否有相同ID记录txtSQL=”select*fromroomtypewheretypeid_=”&Trim(txtItem(0)&”Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.EOF=FalseThenMsgBox“已经存在此标准编号的记录!”,vbOKOnly+vbExclamation,”警告”txtItem(0).SetFocusExitSubEndIfMrc.CloseEndIftxtSQL=”select*fromroomtypewheretypeid”&Trim(txtItem(0)&”andtypename=”&Trim(txtItem(1)&”Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.EOF=FalseThenMsgBox”已经存在相同客房标准的记录!”,vbOKOnly+vbExclamation,“警告”txtItem(1).SetfocusExitSubEndIftxtSQL=”deletefromroomtypewheretypeid=”&Trim(txtItem(0)&”删除已有记录Setmrc=ExecuteSQL(txtSQL,MsgText)txtSQL=”select*fromroottype”添加新记录Setmrc=ExecuteSQL(txtSQL,MsgText)mrc.AddNewForintCount=0To3mrc.Fields(intCount)=Trim(txtItem(intCount)NextintCountForintCount=0To3mrc.Fields(intCount+4)=Trim(Combo1(intCount)NextintCountmrc.Fields(8)=Trim(txtItem(4)mrc.Update更新数据库mrc.CloseifgintTmode=1Then判断是否属于添加状态MsgBox“添加纪录成功!”,vbOKOnly+vbExclamtion,“添加记录”ForintCount=0To4txtItem(intCount)=”清除已经输入的内容NextintCountForintCount=0To3Combo1(intCount).ListIndex=0NextintCountmblChange=False判断是否打开窗口ifflagTeditThenUnloadfrmRoomtypefrmRoomtype.txtSQL=“select*fromroomtype”frmRoomtype.ShowEndIfElseIfgintTmode=2Then判断是否处于修改状态UnloadMeIfflagTeditThenUnloadfrmRoomtypeEndIffrmRoomtype.txtSQL=”select*fromroomtype”frmRoomtype.ShowEndIfEndSubPrivateSubtxtItem_GotFocus(IndexAsInteger)文本框获得焦点时触发该事件,即自动选中输入的内容,便于修改txtItem(Index).SelStart=0txtItem(Index).SelLength=Len(txtItem(Index)EndSubPrivateSubcmdExit_Click()单击按钮cmdExit取消添加信息IfmblChangeAndcmdSave.EnabledThenIfMsgBox(“保存当前记录的变化吗?”,vbOKCancel+vbExclamation,”警告”)=vbOKThen保存CallcmdSave_ClickEndIfEndIfUnloadMeEndSubPrivateSubtxtItem_KeyDown(IndexAsInteger,KeyCodeAsInteger,Shift_AsInteger)输入完内容,单击回车键将自动进入下一个文本框,触发文本框的Keydown事件EnterToTabKeyCodeEndSub修改客房标准窗体的创建PrivateSubFrom_Load()ShowTitleShowDataflagTedit=TrueEndSubPrivateSubShowTitle()调用showTitle函数,显示表头DimiAsIntegerWithmsgList.Cols=10.TextMatrix(0,1)=”标准编号”.TextMatrix(0,2)=”标准名称”.TextMatrix(0,3)=”房间面积”.TextMatrix(0,4)=”床位数量”.TextMatrix(0,5)=”是否有空调”.TextMatrix(0,6)=”是否有电话”.TextMatrix(0,7)=”是否有电视”.TextMatrix(0,8)=”是否有卫生间”.TextMatrix(0,9)=”房间单价”.FixedRows=1固定表头Fori=0To9设置各列的对齐方式.ColAlignment(i)=0Nexti.FillStyle=flexFillRepeat表头项居中.Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4.ColWidth(0)=300设置单元大小.ColWidth(1)=1000.ColWidth(2)=2000.ColWidth(3)=2000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000.ColWidth(7)=1000.ColWidth(8)=1000.ColWidth(9)=1000.Row=1EndWithEndSubPrivateSubShowData()调用showData函数,显示记录列表DimiAsIntegerSetmrc=ExecuteSQL(txtSQL,MsgText)根据需要设置SQL语句,显示需要的记录WithmsgList.Rows=1DoWhileNotmrc.EOF.Rows=Rows+1Fori=1Tomrc.Fields.CountSelectCasemrc.Fields(i-1).TypeCaseadDBDate.TextMatrix(.Rows-1,i)=Format(mrc.Fields(i-1)&”,”yyyy-mm-dd”)CaseElse.TextMatrix(.Rows-1,i)=mrc.Fields(i-1)&”EndSelectNextiMrc.MoveNextLoopEndWithmrc.CloseEndSubPrivateSubmsgList_MouseUp(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)选择记录,然后单击鼠标右键,触发MouseUp事件IfButton=2AndShift=0ThenPopupMenufMainFrom.menuRoomtypeEndIfEndSubPrivateSubmenuModifyroomtype_Click()DimintCountAsIntegerIfflagTeditThen判断是否打开记录窗体IffrmRoomtype.msgList.Rows1ThenfintTmode=2设置为修改状态intCount=frmRoomtype.msgList.Row记下选择记录frmRoomtype1.txtSQL=”select*fromroomtypewheretypeid”&Trim(frmRoomtype.msgList.TextMatrix(intCount,1)&”frmRoomtype1.ShowElseCallmenuAddroomtype_ClickEndIfElsefrmRoomtype.txtSQL=”select*fromroomtype”frmRoomtype.ShowEndIfEndSubPrivateSubFrom_Resize()窗体变化时,调整标签和表格位置,使标签处于窗体的最上方,而表格始终处于标签下方IfMe.WindowStatevbMinimizedAndfMainFrom.WindowStatevbMinimizedThen边界处理IfMe.Scaleheight10*lblTitle.HeightThenExitSubEndIfIfMe.ScaleWidth1ThenIfMsgBox(“真的要删除这条文件记录么?”,vbOKCancel+vbExclamation,”警告”)=vbOKThenintCount=frmRoomtype.msgList.RowtxtSQL=”deletefromroomtypewheretypeid”&Trim(frmRoomtype.msgList.TextMatrix(intCount,1)&”Setmrc=ExecuteSQL(txtSQL,MsgText)UnloadfrmRoomtype关闭记录窗体frmRoomtype.txtSQL=”select*fromroomtype”重新选择所有记录frmRoomtype.ShowEndIfEndIfEndIfEndSub客房信息管理模块的创建客房信息管理模块主要实现如下功能:添加客房信息修改客房信息删除客房信息查询客房信息具体实现代码如下:PrivateSubFrom_Load()载入窗体时,自动添加客房信息种类DimsSqlAsStringDimintCountAsIntegerDimMsgTextAsStringDimmrccAsADODB.RecordsetIfgintRmode=1Then判断是否处于添加状态Me.Caption=me.Caption&“添加”txtSQL=”selectDISTINCTtypenamefromroomtype”Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFcboItem(0).AddItemTrim(mrc.Fields(0)mrc.MoveNextLoopcboItem(0).ListIndex=0显示记录内容ElseMsgBox“请先进行客房标准设置!”,vbOKOnly+vbExclamation,“警告”cmdSave.Enabled=FalseExitSubEndIfmrc.CloseElseIfgintRmode=2Then判断是否处于修改状态Setmrcc=ExecuteSQL(txtSQL,MsgText)设置SQL语句显示当前选择记录Ifmrcc.EOF=FalseThenWithmrcctxtItem(0)=.Fields(0)ForintCount=1To2IfNotIsNull(.Fields(intCount+1)Then判断内容是否为空txtItem(intCount)=.Fields(intCount+1)EndIfNextintCounttxtItem(3)=.Fields(5)txtSQL=”selectDISTINCTtypenamefromroomtype”Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFcboItem(0).AddItemTrim(mrc.Fields(0)mrc.MoveNextLoopcboItem(0).ListIndex=0ElseMsgBox“请先进行客房标准设置!”,vbOKOnly+vbExclamation,“警告”cmdSave.Enabled=FalseExitSubEndIfmrc.CloseEndWithEndIfmrcc.CloseMe.Caption=Me.Caption&“修改”EndIfmblChange=FalseEndSubPrivateSubcmdSave_Click()单击保存按钮触发事件DimintCountAsIntegerDimsMegAsStringDimmrccAsADODB.RecordsetDimMsgtextAsStringForintCount=0To3IfTrim(TxtItem(intCount)&”)=”ThenSelectCaseintCountCase0sMeg=“客房编号”Case1sMeg=“客房位置”EndSelectsMeg=sMeg&“不能为空!”MsgBoxsMeg,vbOKOnly+vbExclamation,“警告”txtItem(intCount).SetFocusExitSubEndIfNextintCountIfgintRmode=1Then判断是否有重复记录txtSQL=”select*fromroomswhereroomNO=”&Trim(txtItem(0)&”Setmrc=ExecuteSQL(txtSQL,msgText)Ifmrc.EOF=FalseThenMsgBox“已经存在此客房编号的记录!”,vbOKOnly+vbExclamation,“警告”txtItem(0).SetFocusExitSubEndIfmrc.CloseEndIfIfgintRmode=2Then判断是否处于修改状态txtSQL=”deletefromroomswhereroomNO=”&Trim(txtItem(0)&”Setmrc=ExecuteSQL(txtSQL,MsgText)EndIftxtSQL=”select*fromrooms”再加入新记录Setmrc=ExecuteSQL(txtSQL,MsgText)mrc.AddNew为数据库对象添加记录mrc.Fields(0)=Trim(txtItem(0)mrc.Fields(1)=Trim(txtItem(0)ForintCount=1To2IfTrim(txtItem(intCount)&”)=”Thenmrc.Fields(intCount+1)=NullElsemrc.Fields(intCount+1)=Trim(txtItem(intCount)EndIfNextintCountmrc.Fields(4)=”mrc.Fields(5)=Trim(txtItem(3)mrc.Updatemrc.CloseIfgintRmode=1ThenForintCount=0To3txtItem(intCount)=”NextintCountmblChange=FalseIfflagReditThenUnloadfrmRoomfrmRoom.txtSQL=”select*fromrooms”重新显示数据frmRoo

温馨提示

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

评论

0/150

提交评论