《大学计算机系实训案例集》_第1页
《大学计算机系实训案例集》_第2页
《大学计算机系实训案例集》_第3页
《大学计算机系实训案例集》_第4页
已阅读5页,还剩263页未读 继续免费阅读

下载本文档

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

文档简介

新疆大学计算机系

实训案例集(内部使用)TOC\o"1-5"\h\z目 录案例1.宾馆管理信息系统 3 32案例2.计算机机房管理系统 35 42案例3.人事管理管理系统 43 234案例4.企业软件联盟网站 235 269宾馆管理信息系统系统平台:Windows2000数据库服务器:MicrosoftSQLServer2000开发工具:VisualBasic6.0系统开发人员:.编写目的宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。.系统功能分析系统开发的总体任务是实现宾馆各种信息的系统化、规范化和自动化。主要完成功能:有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。客房标准信息的修改、查询等。客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。剩余客房信息的查询等。订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。.系统功能模块设计

按结构化程序设计思想,分析得出如下系统功能模块图宾馆管理信息系统系统管理系统管理图I系统功能模块图.数据库设计数据库设计步骤:数据库需求分析数据库概念结构设计数据库逻辑结构设计①数据库需求分析分析调查有关宾馆管理信息需求的基础上得本系统所处理的数据流程

图n宾馆管理信息系统数据流程图针对一般宾馆管理信息系统的需求,通过对宾馆管理过程的内容和流程分析,设计如下面所示的数据项和数据结构:客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等。客房信息,包括的数据项有:客房编号、客房种类、客房位置、客房单价、备注结〇订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。②数据库概念结构设计本系统根据以上的设计规划出的实体有:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。各个实体具体的描述E-R图如下:

客房标准信息实体E-R图订房信息实体E-R图

结算信息实体E-R图实体之间关系E-R图③数据库逻辑结构设计首先将宾馆管理信息系统的数据库概念结构转化为SQL2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。其各个表格的设计结果如下列名数据类型可否为空说明TypeidVarcharNOTNULL标准编号TypenameVarcharNOTNULL标准名称AreaNumericNULL房间面积BednumNumericNULL床位数量HairconditionVarcharNULL是否有空调HtelephoneVarcharNULL是否有电话HtelevisionVarcharNULL是否有电视HtoiletVarcharNULL是否有单独卫生间PriceNumericNULL单价Roomtype客房标准信息表列名数据类型可否为空说明roomNOVarcharNOTNULL客房编号RoomtypeVarcharNOTNULL客房种类RoompositionVarcharNULL客房位置RoompriceNumericNULL单价PutupVarcharNOTNULL是否被预定RoommemoTextNULL备注Rooms客房信息表列名数据类型可否为空说明BooknoVarcharNOTNULL订房编号CustomnameVarcharNOTNULL顾客姓名CustomIDVarcharNOTNULL身份证号码RoomnoVarcharNOTNULL客房编号IndateDatetimeNULL入住日期DiscountNumericNULL折扣InmenoTextNULL备注CheckdateDatetimeNULL结算日期AmountNumericNULL金额Bookin订房信息表.数据库结构的实现利用SQL2000数据库系统中的查询分析实现数据库的逻辑结构,其表格如下:创建系统用户表格user_InfoCREATETABLE[dbo].[user_Infol]([user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,[user_Des][char](10)COLLATEChinese一PRC_CI_ASNULL)ON[PRIMARY]创建客房标准信息表格roomtypeCREATETABLE[dbo].[roomtype]([typeid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[typename][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[area][numeric](5,0)NULL,[bednum][numeric](2,0)NULL,[haircondition][char](2)COLLATEChinese_PRC_CI_ASNULL,[htelephone][char](2)COLLATEChinese_PRC_CI_ASNULL,[htelevision][char](2)COLLATEChinese_PRC_CI_ASNULL,[htoilet][char](2)COLLATEChinese_PRC_CI_ASNULL,[price][numeric](10,2)NULL)ON[PRIMARY]创建客房信息表格roomsCREATETABLE[dbo],[rooms]([roomNO][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[roomtype][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[roomposition][char](20)COLLATEChinesePRCCIASNULL,[roomprice][numeric](10,2)NULL,[putup][char](2)COLLATEChinese_PRC_CI_ASNOTNULL,[roommemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_0N[PRIMARY]创建订房信息表bookinCREATETABLE[dbo].[bookin]([bookno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,[customname][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,[customID][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,[roomno][char](10)COLLATEChinese.PRC_CI_ASNOTNULL,[indate][datetime]NULL,[discount][numeric](2,0)NULL,[inmemo][text]COLLATEChinese_PRC_CI_ASNULL,[checkdate][datetime]NULL,[ammount][numeric](10,2)NULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY].宾馆管理信息系统具体程序实现⑴创建公用模块Modulel.bas添加公共数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL,代码如下:PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.Recordset’执行SQL语句,并返回记录集对象DimcnnAsADODB.ConnectionDimrstAsADODB.RecordsetDimsTokens()AsString’异常处理OnErrorGoToExecuteSQL_Error'’用Split函数产生一个包含2个子串的数组sTokens=Split(SQL)Setcnn二NEWADODB.Connection’打开连接cnn.OpenConnectStringIfInStr(aINSERT,DELETE,UPDATEw,UCase$(sTokens(0)))ThenCnn.ExecuteSQLMsgString=sTokens(0)&"querysuccessfulElseSetrst=NEWADODO.Recordsetrst.OpenTrim$(SQL),cnn,adOpenKeyset,adLockOptimisticrst.MoveLastgetRecordCount’返回记录集对象SetExecuteSQL=rstMsgString=w查询到"&rst.RecordCount&w条记录”EndIfExecuteSQL_Exit:Setrst=NothingSetcnn=NothingExitFunctionExecuteSQL_Error:MsgString=w查询错误:"&Err.DescriptionResumeExecuteSQLExitEndFunctionPublicSubEnterToTab(KeyascAsInteger)’判断是否为回车键IfKeyasc=13Then'Keyasc用来保存当前按键’转换成Tab键SendKeys”{TAB}”EndIfEndsub’添加全局变量,用来记录各个窗口的读写状态,代码如下:Public flagTedit As Boolean<标示是否进入修改的窗体Public flagRedit As BooleanPublic flagBedit As BooleanPublic flagCedit As BooleanPublic gintCmode As IntegerPublicgintTmodeAsInteger'记录是添加还是修改状态,1为添加,2为修改PublicgintRmodeAsIntegerPublicgintBmodeAsIntegerPublicflagSeditAsBoolean⑵系统用户管理模块的创建用户管理模块主要实现:用户登陆。添加用户。修改用户具体客房标准添加代码:PrivateSubForm_Load()’载入窗体后,判断所处状态DimintCountAsIntegerDimMsgTextAsStringDimiAsIntegerIfgintTmode=lThen'判断是否属于添加状态Me.Caption=Me.Caption&”添加”Fori=0To3Combol(i).Additem”否”Combo1(i).Additem"是"Combo1(i).ListIndex=ONextiElselfgintTmode=2Then’判断是否处于修改状态Setmrc=ExecuteSql(txtSQL,MsgText)Ifmrc.EOF二falseThenWithmrcForintCount二〇To3txtitem(intCount)=.Fields(intCount)NextintCounttxtltem(4)=.Fileds(8)Fori二〇To3Combol(i).Additem"否"Combol(i).Additem"是"Combol(i).ListIndex=ONextiEndWithtxtltem(O).Enabled=FalseEndIfMe.Caption=Me.caption&"修改”EndIfmblChang=FalseEndSubPrivateSubcmd_Click()"用户输入内容完毕后,单击cmdSave按钮触发Click事件DimintCountAsIntegerDimsMegAsStringDimMsgTextAsStringForintCount=0To4’判断是否输入内容IfTrim(txtItem(intCount)&"”)二””ThenSelectCaseintCountCase0sMeg二"标准编号”sMeg二”标准名称”sMeg二"房间面积”sMeg=w床位数量”sMeg二”床位单价”EndSelectsMeg=sMeg&"不能为空!"MsgBoxsMeg,vbOkOnly+vbExclamation,警告”txtltem(intCount).SetFocusExitSubEndifNextintCount’判断输入内容是否为数字ForintCount=2To4IfNotIsNumeric(Trim(txtItem(intCount)))ThenSelectCaseintCountsMeg="房间面积”sMeg="床位数量”sMeg="床位单价”EndSelectsMeg=sMeg&”请输入数字!”MsgBoxsMeg,vbOKOnly+vbExclamation,w警告”txtltem(intCount).SeFocusExitSubEndIfNextintCountIfgintTmode=lThen’判断是否有相同ID记录txtSQL="select*from roomtypewheretypeid_二’”&Trim(txtItem(O))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.E0F=FalseThenMsgBox"已经存在此标准编号的记录!”,vbOKOnly+vbExcIamation,”警告”txtltem(O).SetFocusExitSubEndIfMrc.CloseEndIftxtSQL二”select * from roomtype wheretypeidO'”&Trim(txtItem(〇))&”'andtypename二’”&Trim(txtItem(l))&"'”Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.E0F=FalseThenMsgBox"已经存在相同客房标准的记录!”,vbOKOnly+vbExcIamation,“磐生”txtltem(l).SetfocusExitSubEndIftxtSQL二”delete from roomtype wheretypeid='”&Trim(txtItem(O))&"'”'删除已有记录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(Combol(intCount))NextintCountmrc.Fields(8)=Trim(txtItem(4))mrc.Update’更新数据库mrc.CloseifgintTmode=lThen’判断是否属于添加状态MsgBox”添加纪录成功!”,vbOKOnly+vbExclamtion,“添加记录”ForintCount=0To4txtltem(intCount)=””“清除已经输入的内容NextintCountForintCount=0To3Combol(intCount).ListIndex=ONextintCountmblChange二False’判断是否打开窗口ifflagTeditThenUnloadfrmRoomtypefrmRoomtype.txtSQL="select*fromroomtype"frmRoomtype.ShowEndIfElselfgintTmode二2Then,判断是否处于修改状态UnloadMeIfflagTeditThenUnloadfrmRoomtypeEndlffrmRoomtype.txtSQL="select*fromroomtype"frmRoomtype.ShowEndIfEndSubPrivateSubtxtltemGotFocus(IndexAsInteger),文本框获得焦点时触发该事件,即自动选中输入的内容,便于修改txtltem(Index).SelStart=Otxtltem(Index).SelLength=Len(txtItem(Index))EndSubPrivateSubcmdExit_Click(),单击按钮cmdExit取消添加信息IfmblChangeAndcmdSave.EnabledThenIfMsgBox(“保存当前记录的变化

吗?99,vbOKCancel+vbExclamation,n警告")=vbOKThen’保存CallcmdSave_ClickEndIfEndIfUnloadMeEndSubPrivateSubtxtitemKeyDown(IndexAsInteger,KeyCodeAsInteger,Shift_AsInteger)’输ズ完内容,单击回车键将自动进入下一个文本框,触发文本框的Keydown事件EnterToTabKeyCodeEndSub⑶修改客房标准窗体的创建PrivateSubFromLoad()ShowTitleShowDataflagTedit=TrueEndSubPrivateSubShowTitle()’调用showTitle函数,显示表头DimiAsIntegerWithmsgList,Cols=10,TextMatrix(O,1)=“标准编号”.TextMatrix(O,2)=w标准名称”,TextMatrix(O,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ニ〇,Row=0.RowSel=l.ColSel=.Cols-1.CellAlignment二4.ColWidth(0)=300"设置单元大小.ColWidth(l)=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=lEndWithEndSubPrivateSubShowData()"调用showData函数,显示记录列表DimiAsIntegerSetmrc=ExecuteSQL(txtSQL,MsgText),根据需要设置SQL语句,显示需要的记录WithmsgList.Rows=lDoWhileNotmrc.EOF.Rows=Rows+lFori=lTomrc.Fields.CountSelectCasemrc.Fields(i-l).TypeCaseadDBDate.TextMatrixCRows-1,i)=Format(mrc.Fields(i-1)&“,,,"yyyy-mm-dd”)CaseElse.TextMatrix(.Rows-l,i)=mrc.Fields(iT)&”"EndSelectNextiMrc.MoveNextLoopEndWithmrc.CloseEndSubPrivateSubmsgList_MouseUp(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)’选择记录,然后单击鼠标右键,触发MouseUp事件IfButton=2AndShift二〇ThenPopupMenufMainFrom.menuRoomtypeEndIfEndSubPrivateSubmenuModifyroomtypeClick()DimintCountAsIntegerIfflagTeditThen’判断是否打开记录窗体IffrmRoomtype.msgList.Rows>lThenfintTmode=2,设置为修改状态intCount=frmRoomtype.msgList.Row’记下选择记求frmRoomtypel.txtSQL="select*from roomtypewheretypeid'"&Trim(frmRoomtype.msgList.TextMatrix(intCount,1))&"'”frmRoomtypel.ShowElseCal1menuAddroomtype_ClickEndIfElsefrmRoomtype.txtSQL="select*fromroomtype"frmRoomtype.ShowEndIfEndSubPrivateSubFromResize。’窗体变化时,调整标签和表格位置,使标签处于窗体的最上方,而表格始终处于标签下方If Me.WindowStateOvbMinimized AndfMainFrom.WindowState<>vbMinimizedThen’边界处理IfMe.Scaleheight<10*lblTitle.HeightThenExitSubEndIfIfMe.ScaleWidth<lblTitle.Width+lblTitle.Width/2ThenExitSubEndIfIblTitle.Top=lblTitle.Height"控制控件的位置IblTitle.Left=(Me.Width-lblTitle.Width)/2msgList.Top=lblTitle.Top+lblTitle.Height+lblTitle.Height/2msgList.Width=Me.ScaleWidth-200msgList.Left=Me.ScaleLeft+100msgList.Height=Me.ScaleHeight-msgList.Top-200EndIfEndSub⑷删除客房标准PrivateSubmenuDeleteroomtype_Click()DimtxtSQLAsStringDimintCountAsIntegerDimmrcAsADODB.RecordsetDimMsgTextAsStringIfflagTeditThen’判断是否打开记录窗体IffrmRoomtype.msgList.Rows>lThenIfMsgBox(“真的要删除这条文件记录么?",

vbOKCancel+vbExclamation,"警告")=vbOKThenintCount=frmRoomtype.msgList.RowtxtSQL="delete fromroomtypewheretypeid'"&Trim(frmRoomtype.msgList.TextMatrix(intCount,1))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)UnloadfrmRoomtype"关闭记录窗体frmRoomtype.txtSQL="select*fromroomtype”"重新选择所有记录frmRoomtype.ShowEndIfEndIfEndIfEndSub⑸客房信息管理模块的创建客房信息管理模块主要实现如下功能:添加客房信息修改客房信息删除客房信息查询客房信息具体实现代码如下:PrivateSubFrom_Load(),载入窗体时,自动添加客房信息种类DimsSqlAsStringDimintCountAsIntegerDimMsgTextAsStringDimmrccAsADODB.RecordsetIfgintRmode=lThen’判断是否处于添加状态Me.Caption=me.Caption&“添加”txtSQL="selectDISTINCTtypenamefromroomtype"Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFcboItem(O).AdditemTrim(mrc.Fields(0))mrc.MoveNextLoopcboItem(O).ListIndex=O'显示记录内容ElseMsgBox”请先进行客房标准设置!",vbOKOnly+vbExclamation,“磐士”cmdSave.Enabled=FalseExitSubEndIfmrc.CloseElselfgintRmode=2Then,判断是否处于修改状态Setmrcc=ExecuteSQL(txtSQL,MsgText)"设置SQL语句显示当前选择记录Ifmrcc.E0F=FalseThenWithmrcctxtItem(0)=.Fields(O)ForintCount=lTo2IfNotIsNull(.Fields(intCount+l))Then,判断内容是否为空txtItem(intCount)=.Fields(intCount+1)EndIfNextintCounttxtItem(3)=.Fields(5)txlSQL=''selectDISTINCTtypenamefromroomtype"Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFcboItem(O).AdditemTrim(mrc.Fields(0))mrc.MoveNextLoopcboItem(O).ListIndex=OElseMsgBox"请先进行客房标准设置!”,vbOKOnly+vbExclamation,“警告:,,cmdSave.Enabled=FalseExitSubEndIfmrc.CloseEndWithEndIfmrcc.CloseMe.Caption=Me.Caption&“修改”EndIfmblChange=FalseEndSubPrivateSubcmdSave_Click0"单击保存按钮触发事件DimintCountAsIntegerDimsMegAsStringDimmrccAsADODB.RecordsetDimMsgtextAsStringForintCount=0To3IfTrim(TxtItem(intCount)&"")=""ThenSelectCaseintCountCase0sMeg="客房编号''Case1sMeg="客房位置”EndSelectsMeg=sMeg&"不能为空!"MsgBoxsMeg,vbOKOnly+vbExcTarnation,"警告”txtltem(intCount).SetFocusExitSubEndIfNextintCountIfgintRmode=lThen’判断是否有重复记录txtSQL="select *fromroomswhereroomN0=&Trim(txtItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,msgText)Ifmrc.E0F=FalseThenMsgBox"已经存在此客房编号的记录!",vbOKOnly+vbExclamation,wロtxtltem(O).SetFocusExitSubEndIfmrc.CloseEndIfIfgintRmode=2Then’判断是否处于修改状态txtSQL="delete fromroomswhere roomNO二'"&Trim(txtitem(〇))&"‘"Setmrc=ExecuteSQL(txtSQL,MsgText)EndIftxtSQL="select*fromrooms"'再加入新记录Setmrc=ExecuteSQL(txtSQL,MsgText)mrc.AddNew'为数据库对象添加记录mrc.Fields(0)=Trim(txtItem(0))mrc.Fields(l)=Trim(txtItern(0))ForintCount=lTo2IfTrim(txtItern(intCount)“)二""Thenmrc.Fields(intCount+l)=Nul1Elsemrc.Fields(intCount+l)=Trim(txtItern(intCount))EndIfNextintCountmrc.Fields(4)=""mrc.Fields(5)=Trim(txtItern(3))mrc.Updatemrc.CloseIfgintRmode=lThenForintCount=0To3txtItem(intCount)=""NextintCountmb1Change=FaIseIfflagReditThenUnloadfrmRoomfrmRoom.txtSQL=wselect*fromrooms”,重新显示数据frmRoom.ShowEndIfElselfgintRmode=2ThenUnloadMeIfflagReditThenUnloadfrmRoomEndIffrmRoom.txtSQL=''select*fromrooms"frmRoom.ShowEndIfEndSub・修改客房信息PrivateSubmenuModifyroom_Click(),选择修改房间信息,触menuModifyroom的Click事件,程序判断为修改状态后,首先删除原有记录,然后把新内容加入到数据库中DimintCountAsIntegerIfflagReditThen’判断记录窗体是否打开IffrmRoom.msgList.Rows>lThen,判断客房信息列表内容是否为空gintRmode=2'设置为修改状态intCount=frmRoom.msgList.Row"纪录当前记录位置frmRooml.txtSQL="select*from rooms whereroomN0='"&Trim(frmRoom.msgList.TextMatrix(intCount,1))&"'"frmRooml.ShowElseCallmenuAddroomClick’添加记录EndIfElsefrmRoom.txtSQL="select*fromrooms"frmRoom.ShowEndIfEndSub删除客房信息PrivateSubmenuDeleteroom_Click()DimtxtSQLAsStringDimintCountAsIntegerDimmrcAsADODB.RecordsetDimMsgTextAsStringIfflagTeditThenIffrmRoom.msgList.Rows>lThen/判断客房信息列表内容是否为空IfMsgBox("真的要删除这条文件记录么?”,vbOKCancel+vbExcIamation,“警告")=vbOKThenintCount=frmRoom.msgList.Row’记载当前记录位置txtSQL=''delete fromroomswhereroomN0=&Trim(frmRoom.msgList.TextMatrix(intCount,1)&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)’执行删除操作UnloadfrmRoomfrmRoom.txtSQL="select*fromrooms"frmRoom.ShowEndIfEndIfEndIfEndSub查询客房信息PrivateSubFromLoad()’载入窗体时,将自动加入所有记录的入库时间DimiAsIntegerDimjAsIntegerDimsSqlAsStringDimtxtSQLAsStringDimMsgTextAsStringDimmrcAsADODB.RecordsettxtSQL="selectDISTINCTtypenamefromroomtypew"初始化客房种类Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFCombo1.AdditemTrim(mrc.Fields(0))Mrc.MoveNextLoopCombo1.ListIndex=0ElseMsgBox”请先进行客房标准设置!”,vbOKOnly+vbExclamation,"警告”ExitSubEndIfmrc.CloseEndSubPrivateSubcmdOK_Click()’设置完查询内容和方式后,单击cmdOk按钮查询DimsQSqlAsStringIfchkltem(O).Value=vbCheckedThensQSql="roomN0='”&Trim(txtItem(0)&””)&”'”EndIfIfchkltem(l).Value=vbCheckedThenIfTrim(sQSql&"")=""ThensQSql二”roomtype二’”&Trim(Combol&””)&”'”ElsesQSql二sQSql&”androomtype二'”&Trim(Combo1&””)&”'”EndIfEndIfIfTrim(sQSql)=w99ThenMsgBox“请设置查询条件!”,vbOKOnly+vbExclamation,“警告”ExitSubElseIfflagReditThenUnloadfrmRoomEndIffrmRoom.txtSQL=”select*fromroomswhereM&sQSqlfrmRoom.ShowEndIfMe.HideEndSub⑹订房信息管理模块的创建订房信息管理模块主要实现如下功能:查询剩余客房信息添加订房信息修改订房信息删除订房信息查询订房库信息具体实现代码如下:PrivateSubFrom_Load()’载入窗体时,程序将自动加入客房种类和客房单价DimtxtSQLAsStringDimMsgTextAsStringDimmrcAsADODB.RecordsettxtSQL二”selectdistincttypenamefromroomtypew"选择所有客房种类Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFCombol(0).Additemmrc.Fields(0)mrc.MoveNextLoopEndIfmrc.ClosetxtSQL=”selectdistinctpricefromroomtype”Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFCombol(1).Additemmrc.Fields(0)Combol(2).Additemmrc.Fields(0)mrc.MoveNextLoopEndIfmrc.CloseEndSubPrivateSubcmdOKClick()DimsQSqlAsStringIfchkltem(0).Value=vbCheckedThensQSql="roomtype=’"&Trim(Combol(0)&"” ”EndifIfchkltem(1).Value=vbCheckedThenIfTrim(sQSqI&"“)二”“ThenIfTrim(Conibol(l)&”“)く》""AndTrim(Combo1(2)”)くゾ”ThensQSql="roompriceくニ’"&Trim(Combol(1)&”")&Androomprice>='"&Trim(Combo1(2)&w"ジー”Elself Trim(Combol(1)&"“)二”“AndTrim(Combol(2)&,'")0""ThensQSql=wroomprice>二’”&Trim(Combol(2)”Elself Trim(Combol(l)&"w)0"wAndTrim(Combol(2)&"w二””ThensQSql="roompriceくニ'"&Trim(Combol(1)&”“'”EndIfElseIf Trim(Combol(l)&””)く》””AndTrim(Combol(2)&"")く〉""ThensQSql=sQSql&”androomprice〉二’"&Trim(Combo1(1)&"”)&”'and roomprice〉二'"&Trim(Combol(2)&””)&“'”Elself Trim(Combol(l)&”“)二”"AndTrim(Combol(2)&,'")く〉"”ThensQSql=sQSql&"and roomprice〉二’”&Trim(Combol(2)&” ”Elself Trim(Combol(l)&””)く〉""AndTrim(Combol(2)&"")=ff"ThensQSql=sQSql&wandroompriceくニ’"&Trim(Combol⑴"EndIfEndIfIfTrim(sQSql)=”"ThenMsgBox“请设置查询条件!”,vbOKOnly+vbExcIamation,“警告”ExitSubElseIfflagReditThenUnloadfrmRoomEndIfroomswherewroomswherew&sQSql&”andputup"く〉'yfrmRoom.ShowflagSedit=TrueEndIfMe.HideEndSubPrivateSubFrom_Load()‘添加订房信息,载入窗体时把所有未预定的客房信息加入其中DimsSqlAsStringDimintCountAsIntegerDimMsgTextAsStringIfflagSeditThen,判断打开方式Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenForintCount=0To3cboItem(intCount).Additemmrc.Fields(intCount)cboltem(intCount).ListIndex=0NextintCounttxtltem(5)z:mrc.Fields(5)EndIfmrc.ClosetxtNo=GetRkno()gintBmode=lElseIfgintBmode=lThenMe.Caption=Me.Caption&“添加”txtSQL="selectDISTINCTroomNOfromroomswhereputupO'y'"Setmrc=ExecuteSQL(txtSQL.MsgText)IfNotmrc.EOFThenDoWhileNotmrc.EOFcboltem(0).AdditemTrim(mrc.Fields(O))mrc.MoveNextLoopElseMsgBox”请先进行客房登记!”,vbOKOnly+vbExclamation,"警告”cmdSave.Enabled=FalseExitSubEndIfmrc.ClosetxtNo=GetRknoElselfgintBmode=2ThenSetmrc.ExecuteSQL(txtSQL,MsgText)Ifmrc.EOFThenWithmrctxtNO=!booknoForintCount=0To1IfNotIsNull(.Fields(intCount+1))Thentxt!tem(intCount)=.Fields(intCount+1)EndIfNextintCountcboltem(0).Additem!roomnocboltem(0).ListIndex=0ForintCount=2To4IfNotIsNull(.Fields(intCount+2))ThentxtItem(intCount)=.Fields(intCount+2)EndIfNextintCountEndWithEndIfmrc.CloseMe.Caption=Me.Caption&“修改”txtSQL="select*from rooms whereroomNO=’"&Trim(cboItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)IfN

温馨提示

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

评论

0/150

提交评论