VB和数据库课程设计.docx
《VB和数据库课程设计.docx》由会员分享,可在线阅读,更多相关《VB和数据库课程设计.docx(23页珍藏版)》请在冰豆网上搜索。
VB和数据库课程设计
课程设计(论文)
题目
宾馆管理信息系统
姓名
学号
指导老师
指导教师职称
年级专业班级
所在学院
2015年1月1日
目录
目录I
摘要II
前言III
1需求分析1
2数据库概念结构设计1
2.1功能模块分析1
2.2系统模块设计2
3数据库设计3
3.1数据库概念结构设计3
3.2数据库逻辑结构设计7
4详细设计8
4.1数据库的基本表建立8
4.2SqlServer与VisualBasic的连接9
4.3客房标准信息管理设计9
4.4客房基本信息管理设计15
4.5订房管理设计16
4.6结算管理设计17
5程序运行与测试19
5.1测试结果19
6总结24
参考文献25
摘要
宾馆管理信息系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。
本文完成了宾馆管理信息系统的各个功能模块的分析、设计以及系统的实
现。
该系统运用VisualBasic6.0体系结构为框架,利用 SQL Server 2008作为数据库服务器,采用DataGrid控件对数据库进行访问操作。
在本文的最后,对系统的测试的流程和实现做了描述说明。
关键词:
客房基本信息管理、订房管理、结算管理
前言
本文详细介绍了客房管理信息系统程序的设计与开发,全文共6章。
第1章介绍了客房管理信息系统程序在现代社会的需求分析。
第2章主要介绍了客房管理信息系统程序中各功能模块的总体框图,给出了功能模块分析,系统模块分析。
第3章主要介绍了客房管理信息系统程序中数据库概念结构设计和数据库逻辑结构设计。
在数据库概念结构设计中,给出客房标准信信管理E-R图,客房基本信息管理E-R图,订房管理E-R图,结算管理E-R图。
第4章是客房管理信息系统程序的详细设计,包括数据库基本表的建立,sqlserver与visualbasic的链接。
客房基本信息管理设计,订房管理设计,结算管理设计。
第5章是对所开发的客房管理信息系统的运行测试。
通过我们所设计的部分测试数据,检验程序是否达到了预定的设计要求。
第6章是对客房管理信息系统程序开发过程的总结。
总结了本次课程设计的意义,以及测试中所发现的一些问题,有待进一步改进的地方。
重点还谈到了我在本次课程设计中的收获与感想。
全文的最后是参考文献。
XX
2015-1-1于武汉工程大学理学院
1需求分析
随着外出人流因为生活,商业等方面的增多,宾馆的发展也日益的迅猛,由于顾客量的增多,客户登记时间的广泛,宾馆收益的日益增多,仅仅依靠手写的老式输入记账法,是无法满足宾馆的需求的,同时这也是浪费人力和时间的。
开发这个数据库,目的就在于能够更好的对客房的预订情况,空余情况,顾客信息,顾客住宿时间和所用费用,客房房态等进行精确的查询,以便更好的完善和更新宾馆信息系统。
2数据库概念结构设计
2.1功能模块分析
根据宾馆的具体情况,系统主要功能如下:
1.客房标准信息管理:
有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话及单独卫生间等,其中含有新增、修改、删除、查询功能。
2.客房基本信息管理:
客房基本信息的输入,包括客房编号、客房类型、客房单价、客房位置、备注等,其中含有修改、删除、查询功能。
3.订房管理:
订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等,其中包括订房、剩余客房信息查询功能。
4.结算管理:
结算信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等,其中包括删除、修改、查询、退房等主要功能。
2.2系统模块设计
根据以上对系统的功能需求的分析,将系统的功能划分为二大模块:
1.客房管理 :
包括客房标准信息管理、客房基本信息管理。
2.前台操作:
包括各种信息的查询,订房和结算的管理。
系统功能模块图如下:
3数据库设计
3.1数据库概念结构设计
通过以上对数据库的设计,可得到几个数据库实体,其E-R图如下:
1.客房标准信息管理E-R图
2.客房基本信息管理E-R图
3.订房管理E-R图
4.结算管理E-R图
3.2数据库逻辑结构设计
客房标准信息管理(标准编号标准名称房间面积床位数量住房单价空调电视机电话单独卫生间)
客房基本信息管理(客房编号客房类型客房单价客房位置备注)
订房管理(客房编号客房种类客房位置客房单价顾客姓名顾客身份证号码入住日期折扣备注信息)
结算管理(客房编号客房种类客房位置客房单价顾客姓名顾客身份证号码入住日期折扣结算日期备注信息)
4详细设计
4.1数据库的基本表建立
在已建好的数据库宾“管信息管理系统”中创建四个基本表:
Rooms、Standard_Rooms、Living、Reservation。
图4.1-1程序运行后显示的结果
4.2SqlServer与VisualBasic的连接
利用VisualBasic中“工程”里“部件”和计算机系统中的ODBC进行相应的链接。
我们利用Adodc、DataGrid去访问数据库中的数据源和连接。
4.3客房标准信息管理设计
主要功能介绍及代码编辑:
新增:
添加一行数据元组到表Standard_Rooms。
Adodc1.RecordSource="select*fromStandard_RoomswhereRno='"+txtRno.Text+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount=1Then
MsgBox("客房存在,不可新增!
")
Else
IfLen(Trim(txtRno.Text))=0Then
MsgBox("请输入标准编号进行新增!
")
ExitSub
Else
IfLen(Trim(txtRstyle.Text))=0Then
MsgBox("请输入标准名称进行新增!
")
ExitSub
Else
IfLen(Trim(txtRarea.Text))=0Then
MsgBox("请输入房间面积进行新增!
")
ExitSub
Else
IfLen(Trim(txtRbno.Text))=0Then
MsgBox("请输入床位数量进行新增!
")
ExitSub
Else
IfLen(Trim(txtRprice.Text))=0Then
MsgBox("请输入住房单价进行新增!
")
ExitSub
Else
IfLen(Trim(txtRaircondition.Text))=0Then
MsgBox("请输入空调进行新增!
")
ExitSub
Else
IfLen(Trim(txtRtv.Text))=0Then
MsgBox("请输入电视进行新增!
")
ExitSub
Else
IfLen(Trim(txtRtelephone.Text))=0Then
MsgBox("请输入电话进行新增!
")
ExitSub
Else
IfLen(Trim(txtRwashroom.Text))=0Then
MsgBox("请输入单独卫生间进行新增!
")
ExitSub
Else
DimstrsqlAsString
strsql="insertintoStandard_Rooms(Rno,Rstyle,Rarea,Rbno,Rprice,Raircondition,Rtv,Rtelephone,Rwashroom)values('"+txtRno.Text+"','"+txtRstyle.Text+"','"+txtRarea.Text+"','"+txtRbno.Text+"','"+txtRprice.Text+"','"+txtRaircondition.Text+"','"+txtRtv.Text+"','"+txtRtelephone.Text+"','"+txtRwashroom.Text+"')"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("新增成功!
")
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
删除:
删除表Standard_Rooms中的一行数据元组。
DimstrsqlAsString
strsql="deletefromStandard_RoomswhereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("删除成功!
")
修改:
修改表Standard_Rooms一行数据元组的属性。
DimstrsqlAsString
strsql="updateStandard_RoomssetRstyle='"+txtRstyle.Text+"',Rarea='"+txtRarea.Text+"',Rbno='"+txtRbno.Text+"',Rprice='"+txtRprice.Text+"',Raircondition='"+txtRaircondition.Text+"',Rtv='"+txtRtv.Text+"',Rtelephone='"+txtRtelephone.Text+"',Rwashroom='"+txtRwashroom.Text+"'whereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("修改成功!
")
查询:
根据一个属性条件查询满足条件的数据。
Adodc1.RecordSource="select*fromStandard_RoomswhereRno='"+txtRno.Text+"'orRstyle='"+txtRstyle.Text+"'orRarea='"+txtRarea.Text+"'orRbno='"+txtRbno.Text+"'orRprice='"+txtRprice.Text+"'orRaircondition='"+txtRaircondition.Text+"'orRtv='"+txtRtv.Text+"'orRtelephone='"+txtRtelephone.Text+"'orRwashroom='"+txtRwashroom.Text+"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount=0Then
MsgBox("客房不存在!
")
Else
IfTrim(txtRno.Text)=Trim(Adodc1.Recordset.Fields("Rno"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRno='"+txtRno.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRstyle.Text)=Trim(Adodc1.Recordset.Fields("Rstyle"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRstyle='"+txtRstyle.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRarea.Text)=Trim(Adodc1.Recordset.Fields("Rarea"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRarea='"+txtRarea.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRbno.Text)=Trim(Adodc1.Recordset.Fields("Rbno"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRbno='"+txtRbno.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRprice.Text)=Trim(Adodc1.Recordset.Fields("Rprice"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRprice='"+txtRprice.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRaircondition.Text)=Trim(Adodc1.Recordset.Fields("Raircondition"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRaircondition='"+txtRaircondition.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRtv.Text)=Trim(Adodc1.Recordset.Fields("Rtv"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRtv='"+txtRtv.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRtelephone.Text)=Trim(Adodc1.Recordset.Fields("Rtelephone"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRtelephone='"+txtRtelephone.Text+"'"
Adodc1.Refresh
EndIf
IfTrim(txtRtelephone.Text)=Trim(Adodc1.Recordset.Fields("Rtelephone"))Then
Adodc1.RecordSource="select*fromStandard_RoomswhereRtelephone='"+txtRtelephone.Text+"'"
Adodc1.Refresh
EndIf
EndIf
4.4客房基本信息管理设计
剩余客房信息表:
查询的是来自于表Standard_Rooms、Reservation中的部分属性所组合起来的数据表。
主要功能介绍及代码编辑:
插入:
将表Standard_Rooms中的客房编号Rno、客房类型Rstyle、客房单价Rprice数据插入到表Rooms中,由DataGrid访问数据源。
DimstrsqlAsString
strsql="insertintoRooms(Rno,Rstyle,Rprice)selectStandard_Rooms.Rno,Standard_Rooms.Rstyle,Standard_Rooms.RpricefromStandard_Rooms"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("表Standard_Rooms中的部分选取数据插入成功!
")
修改:
修改表Rooms一行数据元组的属性。
查询:
根据一个属性条件查询满足条件的数据。
删除:
删除表Rooms一行数据元组的属性。
DimstrsqlAsString
strsql="deletefromRoomswhereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("删除成功!
")
4.5订房管理设计
主要功能介绍及代码编辑:
插入:
将表Rooms中的客房编号Rno、客房类型Rstyle、客房单价Rprice、客房位置Rposition数据插入到表Living中,由DataGrid访问数据源。
DimstrsqlAsString
strsql="insertintoLiving(Rno,Rstyle,Rposition,Rprice)selectStandard_Rooms.Rno,Standard_Rooms.Rstyle,Rooms.Rposition,Standard_Rooms.RpricefromStandard_Rooms,RoomswhereStandard_Rooms.Rno=Rooms.Rno"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("表Rooms中的部分选取数据插入成功!
")
订房:
实现客户的入住信息登记。
DimstrsqlAsString
strsql="updateLivingsetRstyle='"+txtRstyle.Text+"',Rprice='"+txtRprice.Text+"',Rposition='"+txtRposition.Text+"',Tname='"+txtTname.Text+"',Tid='"+txtTid.Text+"',Rzdate='"+txtRzdate.Text+"',Discount='"+txtDiscount.Text+"',Rstate='"+txtRstate.Text+"'whereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
MsgBox("订房成功!
")
4.6结算管理设计
主要功能介绍及代码编辑:
修改:
修改表Reservation的数据属性,同时对表Living数据也进行修改。
DimstrsqlAsString
strsql="updateReservationsetRstyle='"+txtRstyle.Text+"',Rprice='"+txtRprice.Text+"',Rposition='"+txtRposition.Text+"',Tname='"+txtTname.Text+"',Tid='"+txtTid.Text+"',Rzdate='"+txtRzdate.Text+"',Discount='"+txtDiscount.Text+"',Jsdate='"+txtJsdate.Text+"',Rstate='"+txtRstate.Text+"'whereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
Dimstr2sqlAsString
str2sql="updateLivingsetRstyle='"+txtRstyle.Text+"',Rprice='"+txtRprice.Text+"',Rposition='"+txtRposition.Text+"',Tname='"+txtTname.Text+"',Tid='"+txtTid.Text+"',Rzdate='"+txtRzdate.Text+"',Discount='"+txtDiscount.Text+"',Rstate='"+txtRstate.Text+"'whereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=str2sql
Adodc1.Refresh
MsgBox("修改成功!
")
查询:
根据一个属性条件查询满足条件的数据。
退房:
实现客户的离开信息登记并显示居住天数和付款金额。
DimstrsqlAsString
strsql="updateReservationsetRstyle='"+txtRstyle.Text+"',Rprice='"+txtRprice.Text+"',Rposition='"+txtRposition.Text+"',Tname='"+txtTname.Text+"',Tid='"+txtTid.Text+"',Rzdate='"+txtRzdate.Text+"',Discount='"+txtDiscount.Text+"',Jsdate='"+txtJsdate.Text+"',Rstate='"+txtRstate.Text+"'whereRno='"+txtRno.Text+"'"
Adodc1.Recordset.ActiveConnection.Execute=strsql
Adodc1.Refresh
Dimstr2sqlAsString
str2sql="updateLivingsetRstyle='"+txtRstyle.Text+"',Rprice='"+txtRprice.Text+"',Rposition='"+txtRposition.Text+"',Tname='