JSJ06-226@vb宾馆管理信息系统(论文+源代码)
收藏
资源目录
压缩包内文档预览:(预览前20页/共32页)
编号:508482
类型:共享资源
大小:165.19KB
格式:ZIP
上传时间:2015-11-10
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
12
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
JSJ06-226@vb宾馆管理信息系统(论文+源代码),毕业设计论文
- 内容简介:
-
宾馆 管理 信息 系统 系统 平台: Windows 2000 数据库服务器: Microsoft SQL Server 2000 开发工具: Visual Basic 6.0 系统开发人员: 编写目的 宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。 系统功能分析 系统开发的总体任务是实现宾馆各种信息的系统化、规范化和自动化。 主要完成功能: 有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、 住房单价、是否有空调、电视机、电话以及单独卫生间等。 客房标准信息的修改、查询等。 客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。 客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。 剩余客房信息的查询等。 订房信息的输入,包括客房编号、客房种类、 客房 位置、 客房 单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。 订房信息的修改和查询,包括客房编号、客房种类、 客房 位置、 客房 单价、顾客姓名、顾客身份证号码、入住日期、折扣、备 注信息等。 结算信息的输入,包括客房编号、客房种类、位置、 客房 单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。 结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。 系统功能模块设计 按结构化程序设计思想,分析得出如下系统功能模块图 nts 图 系统功 能模块图 数据库设计 数据库设计步骤: 数据库需求分析 数据库概念结构设计 数据库逻辑结构设计 数据库 需求分析 分析调查有关宾馆管理信息需求的基础上得 本系统所处理的数据流程 宾馆管理信息系统 结算信息管理 订房信息管理 客房信息管理 系统管理 结算信息查询 结算信息修改 结算信息添加 订房信息查询 订房信息修改 订房信息添加 剩余客房信息查询 设置客房信息 设置客房标准 密码管理 用户管理 客房信息查询 客房信息修改 客房信息添加 客房标准修改 客房标准添加 nts 图 宾馆管理信息系统数据流程图 针对一般宾馆管理信息系统的需求,通过对宾馆管理过程的内容和流程分析,设计如下面所示的数据项和数据结构 : 客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等。 客房信息,包括的数据项有:客房编号、客房种类、客房位置、客房单价、备注等。 订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。 结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。 数据库概念结构设计 本 系统根据以上的设计规划出的实体有:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。 各 个实体具体的描述 -图如下: 客房标准设置 基本信息输入 客房登记 基本信息录入 客房信息管理 顾客登记 订房信息管理 订房信息管理 结算信息输入 结算信息管理 客房信息返回 nts 客房标准信息实体 - 图 客房信息实体 -图 订房信息实体 - 图 客房标准信息实体 标准编号 标准名称 床位数量 客房单价 客房信息实体 客房标准 客房编号 客房位置 客房单价 订房信息实体 客房信息 顾客信息 折 扣 入住时间 nts 结算信息实体 - 图 实体之间关系 -图 数据库逻辑结构设计 首先将 宾馆管理信息系统的数据库概念结构转化为 SQL 2000 数据库系统所支持的实际数 据模型,即:数据库的逻辑结构。其各个表格的设计结果如下 列名 数据类型 可否为空 说明 Typeid Varchar NOT NULL 标准编号 Typename Varchar NOT NULL 标准名称 Area Numeric NULL 房间面积 Bednum Numeric NULL 床位数量 Haircondition Varchar NULL 是否有空调 Htelephone Varchar NULL 是否有电话 Htelevision Varchar NULL 是否有电视 Htoilet Varchar NULL 是否有单独卫生间 Price Numeric NULL 单价 Roomtype 客房标准信息表 结算信息实体 客房信息 顾客 信息 结算时间 结算金额 客房标准信息 客房登记 客房信息管理 订 房 订房信息管理 结算信息管理 客房结算 nts列名 数据类型 可否为空 说明 roomNO Varchar NOT NULL 客房编号 Roomtype Varchar NOT NULL 客房种类 Roomposition Varchar NULL 客房位置 Roomprice Numeric NULL 单价 Putup Varchar NOT NULL 是否被预定 Roommemo Text NULL 备注 Rooms 客房信息 表 列名 数据类型 可否为空 说 明 Bookno Varchar NOT NULL 订房编号 Customname Varchar NOT NULL 顾客姓名 CustomID Varchar NOT NULL 身份证号码 Roomno Varchar NOT NULL 客房编号 Indate Datetime NULL 入住日期 Discount Numeric NULL 折扣 Inmeno Text NULL 备注 Checkdate Datetime NULL 结算日期 Amount Numeric NULL 金额 Bookin 订房信息表 数据库结构的实现 利用 SQL 2000 数据库系统中的查询分析实现数据库的逻辑结构,其表格如下: 创建系统用户表格 user_Info CREATE TABLE dbo.user_Info1( user_IDchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, user_PWD char (10) COLLATE Chinese_PRC_CI_AS NULL, user_Des char(10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY 创建客房标准信息表格 roomtype CREATE TABLE dbo.roomtype( typeidchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, typenamechar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, areanumeric(5,0) NULL, bednumnumeric(2,0) NULL, hairconditionchar(2) COLLATE Chinese_PRC_CI_AS NULL, htelephonechar(2) COLLATE Chinese_PRC_CI_AS NULL, htelevisionchar(2) COLLATE Chinese_PRC_CI_AS NULL, htoiletchar(2) COLLATE Chinese_PRC_CI_AS NULL, pricenumeric(10,2)NULL ) ON PRIMARY 创建客房信息表格 rooms CREATE TABLE dbo.rooms( roomNOchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, nts roomtypechar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, roompositionchar(20) COLLATE Chinese_PRC_CI_AS NULL, roompricenumeric(10,2) NULL, putupchar(2) COLLATE Chinese_PRC_CI_AS NOT NULL, roommemotext COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY 创建订房信息表 bookin CREATE TABLE dbo.bookin( booknochar(14) COLLATE Chinese_PRC_CI_AS NOT NULL, customnamechar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, customIDchar(18) COLLATE Chinese_PRC_CI_AS NOT NULL, roomnochar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, indatedatetime NULL, discountnumeric(2,0) NULL, inmemotext COLLATE Chinese_PRC_CI_AS NULL, checkdatedatetime NULL, ammountnumeric(10,2) NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY 宾馆管理信息系统 具体程序实现 创建公用模块 Module1.bas 添加公共数据操作函数,用以执行各种 SQL语句。添加函数 ExecuteSQL,代码如下: Public Function ExecuteSQL(ByValSQL As String,MsgString AsString)_ As ADODB.Recordset 执行 SQL语句,并返回记录集对象 Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String 异常处理 On Error GoTo ExecuteSQL_Error 用 Split函数产生一个包含各个子串的数组 sTokens=Split(SQL) Set cnn=NEW ADODB.Connection 打开连接 cnn.Open ConnectString If InStr(“INSERT,DELETE,UPDATE”,UCase$(sTokens(0) Then Cnn.Execute SQL MsgString=sTokens(0)&”query successful” Else Set rst=NEW ADODO.Recordset rst.Open Trim$(SQL),cnn,adOpenKeyset,adLockOptimistic rst.MoveLast get RecordCount nts 返回记录集对象 Set ExecuteSQL=rst MsgString=” 查询到 ”&rst.RecordCount&” 条 记录 ” End If ExecuteSQL_Exit: Set rst=Nothing Set cnn=Nothing Exit Function ExecuteSQL_Error: MsgString=” 查询错误 :”&Err.Description Resume ExecuteSQL_Exit End Function Public Sub EnterToTab(Keyasc As Integer) 判断是否为回车 键 If Keyasc=13 Then Keyasc用来保存当前按键 转换成 Tab 键 SendKeys”TAB” End If End sub 添加全局变量 ,用来 记录 各个窗口的读写状态,代码如下: Public flagTedit As Boolean 标示是否进入修改的窗体 Public flagRedit As Boolean Public flagBedit As Boolean Public flagCedit As Boolean Public gintCmode As Integer Public gintTmode As Integer 记录是添加还是修改状态 , 1为添加, 2为修改 Public gintRmode As Integer Public gintBmode As Integer Public flagSedit As Boolean 系统用户管理模块的创建 用户管理模块主要实现: 用户登陆。 添加用户。 修改用户 具体 客房标准添加代码 : Private Sub Form_Load() 载入窗体后,判断所处状态 Dim intCount As Integer Dim MsgText As String Dim i As Integer If gintTmode=1 Then 判断是否属于添加状态 Me.Caption=Me.Caption & ” 添加 ” For i=0 To 3 Combo1(i).AddItem ” 否 ” nts Combo1(i).AddItem ” 是 ” Combo1(i).ListIndex=0 Next i ElseIf gintTmode=2 Then 判断是否处于修改状态 Set mrc=ExecuteSql(txtSQL,MsgText) If mrc.EOF=false Then With mrc For intCount=0 To 3 txtItem(intCount)=.Fields(intCount) Next intCount txtItem(4)=.Fileds(8) For i=0 To 3 Combo1(i).Additem ” 否 ” Combo1(i).Additem ” 是 ” Combo1(i).ListIndex=0 Next i End With txtItem(0).Enabled=False End If Me.Caption=Me.caption&” 修改 ” End If mblChang=False End Sub Private Sub cmd_Click() 用户输入内容完毕后,单击 cmdSave按钮触发 Click事件 Dim intCount As Integer Dim sMeg As String Dim MsgText As String For intCount=0 To 4 判断是否输入内容 If Trim(txtItem(intCount)&” ”)=” Then Select Case intCount Case 0 sMeg=” 标准编号 ” Case 1 sMeg=” 标准名称 ” Case 2 sMeg=” 房间面积 ” Case 3 sMeg=” 床位数量 ” Case 4 sMeg=” 床位单价 ” End Select sMeg=sMeg&” 不能为空 !” MsgBox sMeg,vbOkOnly+vbExclamation,” 警告 ” nts txtItem(intCount).SetFocus Exit Sub End if Next intCount 判断输入内容是否为数字 For intCount=2 To 4 If Not IsNumeric(Trim(txtItem(intCount) Then Select Case intCount Case 2 sMeg=” 房间面积 ” Case 3 sMeg=” 床位数量 ” Case 4 sMeg=” 床位单价 ” End Select sMeg=sMeg&” 请输入数字 !” MsgBox sMeg,vbOKOnly+vbExclamation,” 警告 ” txtItem(intCount).SeFocus Exit Sub End If Next intCount If gintTmode=1 Then 判断是否有相同 ID记录 txtSQL=”select*from roomtype where typeid_ = ”&Trim(txtItem(0)&” ” Set mrc=ExecuteSQL(txtSQL,MsgText) If mrc.EOF=False Then MsgBox “ 已 经 存 在 此 标 准 编 号 的 记录 !”,vbOKOnly+vbExclamation,” 警告 ” txtItem(0).SetFocus Exit Sub End If Mrc.Close End If txtSQL=”select * from roomtype where typeid1 Then fintTmode=2设置为修改状态 intCount=frmRoomtype.msgList.Row记下选择记录 nts frmRoomtype1.txtSQL=”select*from roomtype where typeid”&Trim(frmRoomtype.msgList.TextMatrix(intCount,1)&” frmRoomtype1.Show Else Call menuAddroomtype_Click End If Else frmRoomtype.txtSQL=”select*from roomtype” frmRoomtype.Show End If End Sub Private Sub From_Resize()窗体变化时,调整标签和表格位置,使标签处于窗体的最上方,而表格始终处于标签下方 If Me.WindowStatevbMinimized Then边界处理 If Me.Scaleheight1 Then If MsgBox( “ 真 的 要 删 除 这 条 文 件 记 录 么 ? ” ,vbOKCancel+vbExclamation,” 警告 ”)=vbOK Then intCount=frmRoomtype.msgList.Row txtSQL=”delete from roomtype where typeid”&Trim(frmRoomt ype.msgList.TextMatrix(intCount,1)&” nts Set mrc=ExecuteSQL(txtSQL,MsgText) Unload frmRoomtype关闭记录窗体 frmRoomtype.txtSQL=”select*from roomtype” 重新选择所有记录 frmRoomtype.Show End If End If End If End Sub 客房信息管理模块的创建 客房信息管理模块主要实现如下功能: 添加客房信息 修改客房信息 删除客房信息 查询客房信息 具体实现代码如下: Private Sub From_Load()载入窗体时,自动添加客房信息种类 Dim sSql As String Dim intCount As Integer Dim MsgText As String Dim mrcc As ADODB.Recordset If gintRmode=1 Then 判断是否处于添加状态 Me.Caption=me.Caption&“添加 ” txtSQL=”select DISTINCT typename from roomtype” Set mrc=ExecuteSQL(txtSQL,MsgText) If Not mrc.EOF Then Do While Not mrc.EOF cboItem(0).AddItem Trim(mrc.Fields(0) mrc.MoveNext Loop cboItem(0).ListIndex=0显示记录内容 Else MsgBox “ 请先进行客房标准设置 !”,vbOKOnly+vbExclamation,“警告 ” cmdSave.Enabled=False Exit Sub End If mrc.Close ElseIf gintRmode=2 Then 判断是否处于修改状态 Set mrcc=ExecuteSQL(txtSQL,MsgText)设置 SQL语句显示当前选择记录 If mrcc.EOF=False Then With mrcc txtItem(0)=.Fields(0) nts For intCount=1 To 2 If Not IsNull(.Fields(intCount+1)Then判断内容是否为空 txtItem(intCount)=.Fields(intCount+1) End If Next intCount txtItem(3)=.Fields(5) txtSQL=”select DISTINCT typename from roomtype” Set mrc=ExecuteSQL(txtSQL,MsgText) If Not mrc.EOF Then Do While Not mrc.EOF cboItem(0).AddItem Trim(mrc.Fields(0) mrc.MoveNext Loop cboItem(0).ListIndex=0 Else MsgBox “请先进行客房标准设置 !”,vbOKOnly+vbExclamation, “警告 ” cmdSave.Enabled=False Exit Sub End If mrc.Close End With End If mrcc.Close Me.Caption=Me.Caption&“修改 ” End If mblChange=False End Sub Private Sub cmdSave_Click()单击保存按钮触发事件 Dim intCount As Integer Dim sMeg As String Dim mrcc As ADODB.Recordset Dim Msgtext As String For intCount=0 To 3 If Trim(TxtItem(intCount)&”)=” Then Select Case intCount Case 0 sMeg=“客房编号” Case 1 sMeg=“客房位置” End Select sMeg=sMeg&“不能为空!” nts MsgBox sMeg,vbOKOnly+vbExclamation,“警告” txtItem(intCount).SetFocus Exit Sub End If Next intCount If gintRmode=1 Then判断是否有重复记录 txtSQL=”select * from rooms where roomNO= ”&Trim(txtItem(0)&” ” Set mrc=ExecuteSQL(txtSQL,msgText) If mrc.EOF=False Then MsgBox “已经存在此客房编号的记录!” ,vbOKOnly+vbExclamation,“警告” txtItem(0).SetFocus Exit Sub End If mrc.Close End If If gintRmode=2 Then 判断是否处于修改状态 txtSQL=” delete from rooms where roomNO= ”& Trim(txtItem(0)&” Set mrc=ExecuteSQL(txtSQL,MsgText) End If txtSQL=”select*from rooms” 再加入新记录 Set mrc=ExecuteSQL(txtSQL,MsgText) mrc.AddNew为数据库对象添加记录 mrc.Fields(0)=Trim(txtItem(0) mrc.Fields(1)=Trim(txtItem(0) For intCount=1 To 2 If Trim(txtItem(intCount)&”)=” Then mrc.Fields(intCount+1)=Null Else mrc.Fields(intCount+1)=Trim(txtItem(intCount) End If Next intCount mrc.Fields(4)=” mrc.Fields(5)=Trim(txtItem(3) mrc.Update mrc.Close If gintRmode=1 Then For intCount=0 To 3 txtItem(intCount)=” Next intCount mblChange=False If flagRedit Then nts Unload frmRoom frmRoom.txtSQL=”select*from rooms” 重新显示数据 frmRoom.Show End If ElseIf gintRmode=2 Then Unload Me If flagRedit Then Unload frmRoom End If frmRoom.txtSQL=”select*from rooms” frmRoom.Show End If End Sub 修改客房信息 Private Sub menuModifyroom_Click()选择修改房间信息, 触 menuModifyroom的 Click 事件 ,程序判断为修改状态 后,首先删除原有记录,然后把新内容加入到数据库中 Dim intCount As Integer If flagRedit Then 判断记录窗体是 否打开 If frmRoom.msgList.Rows1 Then判断客房信息列表内容是否为空 gintRmode=2设置为修改状态 intCount=frmRoom.msgList.Row纪录当前记录位置 frmRoom1.txtSQL=”select*from rooms where roomNO=”&Trim(frmRoom.msgList.TextMatrix(intCount,1)&” frmRoom1.Show Else Call menuAddroom_Click添加记录 End If Else frmRoom.txtSQL=”select*from rooms” frmRoom.Show End If End Sub 删除客房信息 Private Sub menuDeleteroom_Click() Dim txtSQL As String Dim intCount As Integer Dim mrc As ADODB.Recordset Dim MsgText As String If flagTedit Then If frmRoom.msgList.Rows1 Then判断客房信息列表内容是否为空 If MsgBox(“ 真 的 要 删 除 这 条 文 件 记 录么? ”,vbOKCancel+vbExclamation ,“警告 ”)=vbOK Then nts intCount=frmRoom.msgList.Row记载当前记录位置 txtSQL=”delete from rooms where roomNO= ”&Trim (frmRoom.msgList.TextMatrix(intCount,1)&” Set mrc=ExecuteSQL(txtSQL,MsgText)执行删除操作 Unload frmRoom frmRoom.txtSQL=”select*from rooms” frmRoom.Show End If End If End If End Sub 查询客房信息 Private Sub From_Load()载入窗体时,将自动加入所有记录的入库时间 Dim i As Integer Dim j As Integer Dim sSql As String Dim txtSQL As String Dim MsgText As String Dim mrc As ADODB.Recordset txtSQL=”select DISTINCT typename from roomtype” 初始化客房 种类 Set mrc=ExecuteSQL(txtSQL,MsgText) If Not mrc.EOF Then Do While Not mrc.EOF Combo1.AddItem Trim(mrc.Fields(0) Mrc.MoveNext Loop Combo1.ListIndex=0 Else MsgBox “请先进行客房标准设置 !”,vbOKOnly+vbExclamation, ”警告 ” Exit Sub End If mrc.Close End Sub Private Sub cmdOK_Click()设置完查询内容和方式后,单击 cmdOk 按钮查询 Dim sQSql As String If chkItem(0).Value=vbChecked Then sQSql=”roomNO=”&Trim(txtItem(0)&”)&” End If If chkItem(1).Value=vbChecked Then If Trim(sQSql&”)=” Then sQSql=”roomtype=”&Trim(Combo1&”)&” Else sQSql=sQSql&”and roomtype=”&Trim(Combo1&”)&” End If nts End If If Trim(sQSql)=” Then MsgBox “请设置查询条件!” ,vbOKOnly+vbExclamation,“警告” Exit Sub Else If flagRedit Then Unload frmRoom End If frmRoom.txtSQL=”select*from rooms where”&sQS ql frmRoom.Show End If Me.Hide End Sub 订房信息管理模块的创建 订房信息管理模块主要实现如下功能: 查询剩余客房信息 添加订房信息 修改订房信息 删除订房信息 查询订房库信息 具体 实现代码如下: Private Sub From_Load()载入窗体时,程序将自动加入客房种类和客房单价 Dim txtSQL As String Dim MsgText As String Dim mrc As ADODB.Recordset txtSQL=”select distinct typename from roomtype” 选择所有客房种类 Set mrc=ExecuteSQL(txtSQL,MsgText) If Not mrc.EOF Then Do While Not mrc.EOF Combo1(0).AddItem mrc.Fields(0) mrc.MoveNext Loop End If mrc.Close txtSQL=”select distinct price from roomtype” Set mrc=ExecuteSQL(txtSQL,MsgText) If Not mrc.EOF Then Do While Not mrc.EOF Combo1(1).AddItem mrc.Fields(0) Combo1(2).Ad
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。