数据库课程设计.docx

上传人:b****5 文档编号:28540117 上传时间:2023-07-18 格式:DOCX 页数:30 大小:1.31MB
下载 相关 举报
数据库课程设计.docx_第1页
第1页 / 共30页
数据库课程设计.docx_第2页
第2页 / 共30页
数据库课程设计.docx_第3页
第3页 / 共30页
数据库课程设计.docx_第4页
第4页 / 共30页
数据库课程设计.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据库课程设计.docx

《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(30页珍藏版)》请在冰豆网上搜索。

数据库课程设计.docx

数据库课程设计

摘要

本系统的主要功能是客房信息的管理及对各种信息的查询,增加,修改,更新。

本系统的数据库是用SQLserver2000软件进行创建与设计,分别包括客房信息,客户信息,职工信息和系统信息四个表。

通过系统ODBC数据源管理工具把已创建的数据源与系统数据库相连。

利用VB软件对系统的窗口进行设计,包括欢迎界面、登陆界面、注册新用户界面、主菜单界面、浏览窗体和查询窗体等,可以通过这些窗体进行登陆操作,对输入的用户信息进行验证,和注册新用户操作,以及最重要的操作是对数据库中信息进行浏览与查询。

并可以对数据进行添加与删除,做到及时更新。

 

关键词:

客房信息管理SQLserver2000VB

 

目录

第1章系统功能概述2

1.1系统功能2

1.2系统结构总图3

第2章数据库设计3

2.1需求分析3

2.2E-R模型4

2.3关系模型6

2.4表结构设计6

第3章系统各功能模块的详细设计8

3.1封面8

3.2登录窗体9

3.3主菜单10

3.4注册新用户窗体12

3.5客户信息查询窗体14

3.6客房信息查询窗体16

3.7客户信息录入窗体16

3.8退房信息处理窗体19

3.9职工信息查询窗体21

总结24

参考文献25

 

第1章系统功能概述

1.1系统功能

(1).客户住宿记录的管理

(2).退房管理

(3).客户综合查询

(4).显示打印报表

1.2系统结构总图

图1.1 客房信息管理系统的总体结构

第2章数据库设计

2.1需求分析

建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。

从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。

因而程序需要实现的功能有如下:

1.客房信息管理:

客房登记,入住情况查询,客房状态查看,退房处理。

2.客户信息管理:

客户信息登记,查询入住情况。

3.职工信息管理:

增加员工,删除员工。

4.系统管理:

注册用户信息。

2.2E-R模型

客户信息实体属性图2.1

客房信息实体属性图2.2

职工信息实体属性图2.3

系统信息实体属性图2.4

全局E-R图2.5

2.3关系模型

一个实体型转换为一个关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

根据E-R图向关系模型转换的原则,把E-R图转换为关系模型。

关系的码用下横线标出。

(1)客户信息(顾客编号、姓名、性别、年龄、国籍、身份证号、房号、住店天数、住店日期、离店日期)

(2)客房信息(房号、客房级别、可住人数、用房状态)

(3)职工信息(服务员编号,服务员姓名,性别,级别,工资,服务客房号,服务日期)

(4)系统信息(用户名、密码)

2.4表结构设计

本系统需在SQLServer中建立四个表,分别为客房信息,客户信息,职工信息和系统信息。

(1)客户信息表的建立与基本数据:

SQL语句如下:

createtable客户信息

(顾客信息varchar(50)primarykey,

姓名varchar(50),

性别varchar(50),

年龄varchar(50),

国籍varchar(50),

身份证号varchar(50),

房号varchar(50),

住店日期varchar(50),

离店日期varchar(50),

foreignkey(房号)references客房信息(房号)

);

客户信息表图2.6

(2)客房信息表的建立与基本数据:

SQL语句如下:

createtable客房信息

(房号varchar(50)primarykey,

客房级别varchar(50),

用房状态varchar(50),

国籍varchar(50),

可住人数varchar(50),

);

客房信息表图2.7

(3)职工信息表的建立与基本数据:

SQL语句如下:

createtable职工信息

(服务员编号varchar(50),

姓名varchar(50),

性别varchar(50),

级别varchar(50),

工资varchar(50),

服务客房号varchar(50),

服务日期varchar(50),

foreignkey(服务客房号)references客房信息(房号)

);

职工信息表图2.8

(4)系统信息表的建立与基本数据:

SQL语句如下:

Createtable系统信息

(用户名varchar(50),

密码varchar(50));

系统信息表图2.9

第3章系统各功能模块的详细设计

3.1各窗体的设计

本图书馆信息管理系统共包括11个窗体,分别为欢迎界面,登录,注册新用户,客户信息查询,客房信息查询,客户信息录入,职工基本信息,客户信息表格形式,客房信息表格形式,职工信息表格形式,MDI窗体。

其中主窗体为MDI窗体。

下面介绍各个窗体的设计语句及实现功能。

3.2封面

封面,如图3.1,标题为“客房管理系统”,为此标题添加一个Timer,编辑代码使其可以定时变色。

点击“点击进入系统”就可以关闭本窗体并打开登录窗体。

封面代码如下:

PrivateSubCommand1_Click()

Me.Hide

登录.Show

UnloadMe

EndSub

PrivateSubForm_Load()

EndSub

PrivateSubTimer1_Timer()

StaticnAsInteger

n=n+1

Ifn>15Then

n=0

EndIf

Label1.ForeColor=QBColor(n)

EndSub

欢迎界面图3.1

3.3登录窗体

将打开“登录”对话框,用户输入用户名和密码,如图3.2,若正确则打开下面的主窗体,如图3.3。

登录代码如下:

DimmicountAsInteger'用于记录输入密码次数

PrivateSubCmdLand_Click()

DimstrAsString

str="select密码from系统信息where用户名='"&Text1.Text&"'"

Adodc1.RecordSource=str

Adodc1.Refresh

IfAdodc1.Recordset.EOF=TrueThen

MsgBox"用户名错误,请重新输入",vbExlamation,"警告"

Text1.Text=""

Text2.Text=""

Text1.SetFocus

Else

IfAdodc1.Recordset.Fields("密码")=Text2.TextThen

MDIForm1.Show

UnloadMe

Else

MsgBox"密码错误,请重新输入",vbExlamation,"警告"

Text2.Text=""

Text2.SetFocus

EndIf

EndIf

micount=micount+1

Ifmicount>=3ThenUnloadMe

EndSub

PrivateSubCmdCancel_Click()

UnloadMe

EndSub

登录图3.2

3.4主菜单

设计为MDI窗体如图3.3,含有主菜单:

[文件]、[数据管理]、[数据查询]。

[文件]菜单包含以下子菜单及其功能:

[注册新用户]菜单:

打开“注册新用户”窗体

[退出]:

回到程序最初状态即回到欢迎界面。

[数据管理]包含以下子菜单:

[客户信息登记]菜单:

显示客户信息录入窗体

[退房信息处理]菜单:

显示退房信息处理窗体

[数据查询]包含以下子菜单:

[查询客房信息]菜单:

显示客房信息查询窗体

[查询客户信息]菜单:

显示客户信息查询窗体

[查询职工信息]菜单:

显示职工基本信息窗体

代码如下:

PrivateSub查询职工信息_Click()

职工基本信息.Show

EndSub

PrivateSub客户信息_Click()

客户信息查询.Show

EndSub

PrivateSub客户登记_Click()

客户信息录入.Show

EndSub

PrivateSub浏览客房信息窗体_Click()

客房信息查询.Show

EndSub

PrivateSub退出_Click()

UnloadMe

欢迎界面.Show

EndSub

PrivateSub退房信息_Click()

退房信息处理.Show

EndSub

PrivateSub注册_Click()

注册新用户.Show

EndSub

主菜单图3.3

3.5注册新用户窗体

注册新用户窗体用于添加新的用户名和密码。

单击“注册新用户”菜单,打开对话框。

若输入正确,则将入的用户名保存到“系统信息”表,并提示“注册用户成功”,关闭本窗体,如图3.4,图3.5。

代码如下:

PrivateSubCommand1_Click()

DimsqlstrAsString

IfText1=""Then

MsgBox"请输入用户名!

",vbExclamation,"确认用户名"

Text1.SetFocus

ExitSub

Else

sqlstr="Select*from系统信息where用户名='"&Text1&"'"

Adodc1.RecordSource=sqlstr

Adodc1.Refresh

IfAdodc1.Recordset.EOF=FalseThen

MsgBox"用户名已存在,请重新输入!

",vbExclamation,"检验用户名"

Text1=""

Text1.SetFocus

ExitSub

EndIf

EndIf

IfText2<>Text3Then

MsgBox"二次输入的密码不一致,请重新输入",vbExclamation,"检验密码"

Text2="":

Text3=""

Text2.SetFocus

ExitSub

ElseIfText2=""Then

MsgBox"密码不能为空!

",vbExclamation,"检验密码"

Text2.SetFocus

Else

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields("用户名")=Trim(Text1)

Adodc1.Recordset.Fields("密码")=Trim(Text2)

Adodc1.Recordset.Update

Me.Hide

MsgBox"成功注册新用户!

",vbInformation,"添加用户"

MDIForm1.Show

UnloadMe

EndIf

EndSub

PrivateSubCommand2_Click()'单击取消按钮

UnloadMe

MDIForm1.Show

EndSub

 

注册界面图3.4

注册成功图3.5

3.6客户信息查询窗体

可以按各种条件查找,且具有模糊查询功能,这些条件放在组合列表框Combo中,供用户选择。

在文本框中输入要查询的内容如图3.6所示,单击[查询]按钮,查询结果用网格控件显示如3.7所示。

代码如下:

PrivateSubCmd1_Click()

DimstrAsString

str="select*from客户信息"

str=str&"Where客户信息."&Combo1.Text&"Like'"&Text2&"%'"

Adodc1.RecordSource=str

Adodc1.Refresh

EndSub

PrivateSubCommand2_Click()

MDIForm1.Show

UnloadMe

EndSub

PrivateSubForm_Load()

Combo1.AddItem"顾客编号"'为组合列表框添加各选项

Combo1.AddItem"姓名"

Combo1.AddItem"性别"

Combo1.AddItem"年龄"

Combo1.AddItem"国籍"

Combo1.AddItem"身份证号"

Combo1.AddItem"房号"

Text2.Text=""'清空文本框

EndSub

客户查询界面图3.6

客户查询结果图3.7

3.7客房信息查询窗体

该窗体可以按各种条件查找,且具有模糊查询功能,这些条件放在组合列表框Combo中,供用户选择。

在文本框中输入要查询的内容如图3.8所示,单击[查询]按钮,查询结果用网格控件显示如图3.9所示。

代码如下:

客房查询窗体图3.8

客房查询结果图3.9

3.8客户信息录入窗体

客户信息录入窗体用于登记新的顾客及其基本信息。

单击“登记新用户”按钮,允许添加新的用户,,如图3.10,当单击确定时,同时更改住房状态,即打开客房信息表格形式窗体,首先要对所要登记的客房号进行查询,将“客房状态”查询结果显示在text文本框内,其次,单击登记按钮,即进行“客房状态”的修改,并将登记结果保存到“客户信息”及“客房信息”表,关闭窗体,图3.11.同时记录服务员服务日期,即打开服务时间信息录入窗体,同“客房状态”修改类似,如图3.12。

登记代码如下:

PrivateSubForm_Load()

CmdAdd.Enabled=True'[添加]按钮有效

CmdDel.Enabled=True'[删除]按钮有效

CmdOk.Enabled=False'[确定]按钮无效

CmdEsc.Enabled=False'[取消]按钮无效

Text1.Locked=True

Text2.Locked=True

Text3.Locked=True

Text4.Locked=True

Text5.Locked=True

Text6.Locked=True

Text8.Locked=True

Text9.Locked=True

Text10.Locked=True

Text11.Locked=True

EndSub

PrivateSubCmdAdd_Click()'[添加]按钮的单击事件

Text1.Locked=False

Text2.Locked=False

Text3.Locked=False

Text4.Locked=False

Text5.Locked=False

Text6.Locked=False

Text8.Locked=False

Text9.Locked=False

Text10.Locked=False

Text11.Locked=False

Adodc1.Recordset.AddNew

CmdAdd.Enabled=False

CmdDel.Enabled=False

CmdOk.Enabled=True

CmdEsc.Enabled=True

EndSub

PrivateSubCmdOk_Click()'单击[确认]按钮

Adodc1.Recordset.Update

CmdAdd.Enabled=True

CmdDel.Enabled=True

CmdOk.Enabled=False

CmdEsc.Enabled=False

客房信息表格形式.Show

EndSub

PrivateSubCmdDel_Click()'单击[删除]按钮

x=MsgBox("确实要删除当前记录吗?

",vbYesNo+vbQuestion,"确认")

Ifx=vbYesThen

Adodc1.Recordset.Delete

Adodc1.Recordset.MoveNext

IfAdodc1.Recordset.EOFThen

Adodc1.Recordset.MoveLast

EndIf

Else

Adodc1.Refresh

EndIf

EndSub

PrivateSubCmdEsc_Click()'取消按钮

Adodc1.Refresh

CmdAdd.Enabled=True

CmdDel.Enabled=True

CmdOk.Enabled=False

CmdEsc.Enabled=False

EndSub

客户登记图3.10

客房登记图3.11

服务信息登记图3.12

3.9退房信息处理窗体

退房信息处理窗体用于客户退房,当单击编辑按钮时,允许进行处理,首先查找将要退房的信息,当单击“查找房号”按钮时,将本房的“客房级别”“住房状态”显示如下图3.13所示,当单击“退房”按钮时,提示“确定要退房吗?

”,如确定,单击“确定”按钮时,将对“住房状态”进行修改,并保存到“客房信息”表,如图3.14,3.15所示。

退房查找图3.13

退房处理成功图3.14

退房处理窗体图3.15

3.10职工信息查询窗体

该窗体以文本框显示当前记录,用按钮[首记录]、[末记录]、[前移]、[后移],控制记录指针的移动;用一个标签Label显示:

当前记录号/记录总数;单击[返回]按钮,可以关闭本窗体,返回主窗体。

可以对记录进行添加、确认、删除、取消操作,具有职工信息表格显示功能的同时,也可在职工表格窗体中进行模糊查询。

如图3.16,3.17代码如下:

PrivateSubCmd1_Click()

职工信息表格形式.Show

UnloadMe

EndSub

PrivateSub职工信息_Load()

CmdFirst.Enabled=False

CmdPre.Enabled=False

CmdNext.Enble=True

CmdLast.Enabled=True

Label6.Caption="记录:

"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount

PrivateSubCmdFirst_Click()

Adodc1.Recordset.MoveFirst'记录指针移到首记录(显示首记录)

CmdFirst.Enabled=False'让[首记录]按钮无效

CmdPre.Enabled=False'让[前移]按钮无效

CmdNext.Enabled=True

CmdLast.Enabled=True'让[末记录]按钮有效

Label6.Caption="记录:

"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount

EndSub

PrivateSubCmdPre_Click()

Adodc1.Recordset.MovePrevious'记录指针移到前一条记录

CmdNext.Enabled=True

CmdLast.Enabled=True

IfAdodc1.Recordset.BOFThen

Adodc1.Recordset.MoveFirst'则记录指针移到首记录上

CmdFirst.Enabled=False

CmdPre.Enabled=False

EndIf

Label6.Caption="记录:

"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount

EndSub

PrivateSubCmdNext_Click()

Adodc1.Recordset.MoveNext'记录指针移到下一条记录

CmdFirst.Enabled=True

CmdPre.Enabled=True

IfAdodc1.Recordset.EOFThen'如果记录指针移到了末记录之后

Adodc1.Recordset.MoveLast'则记录指针移到末记录上

CmdNext.Enabled=False

CmdLast.Enabled=False

EndIf

Label6.Caption="记录:

"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount

EndSub

PrivateSubCmdLast_Click()

Adodc1.Recordset.MoveLast

CmdFirst.Enabled=True

CmdPre.Enabled=True

CmdNext.Enabled=False

CmdLast.Enabled=False

Label6.Caption="记录:

"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount

EndSub

PrivateSubCmdAdd_Click()

Adodc1.Recordset.AddNew

CmdAdd.Enabled=False

CmdDel.Enabled=False

CmdOk.Enabled=True

CmdEsc.Enabled=True

EndSub

PrivateSubCmdOk_Click()'单击[确认]按钮

Adodc1.Recordset.Update

CmdAdd.Enabled=True

CmdDel.Enabled=True

CmdOk.Enabled=False

CmdEsc.Enabled=False

EndSub

PrivateSubCmdDel_Click()'单击[删除]按钮

x=MsgBox("确实要删除当前记录吗?

",vbYesNo+vbQuestion,"确认")

Ifx=vbYesThen

Adodc1.Recordset.Delete

Adodc1.Recordset.MoveNext

IfAdodc1.Recordset.EOFThen

Adodc1.Recordset.MoveLast

E

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1