数据库课程设计 图书音像管理系统.docx

上传人:b****6 文档编号:7074123 上传时间:2023-01-17 格式:DOCX 页数:36 大小:1.33MB
下载 相关 举报
数据库课程设计 图书音像管理系统.docx_第1页
第1页 / 共36页
数据库课程设计 图书音像管理系统.docx_第2页
第2页 / 共36页
数据库课程设计 图书音像管理系统.docx_第3页
第3页 / 共36页
数据库课程设计 图书音像管理系统.docx_第4页
第4页 / 共36页
数据库课程设计 图书音像管理系统.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

数据库课程设计 图书音像管理系统.docx

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

数据库课程设计 图书音像管理系统.docx

数据库课程设计图书音像管理系统

第一章系统功能概述

1.1系统功能

每个人都有一些书、光盘、磁带、影碟等,这些东西信息量也不少。

现在建立一个管理系统对个人的图书音像资料进行管理,主要包括图书信息的管理、光盘信息的管理以及磁带信息的管理。

个人图书音像管理系统主要有以下功能:

(1)图书信息的管理:

对个人图书的管理,主要包括信息的浏览、查询和修改。

浏览时可以逐条显示每个图书的信息;查询时可以按照图书所有的属性进行查询,并且都支持模糊查询,按照作者查询时可以统计查询到信息的数量,按照类别查询时可以统计信息的数量以及同一类别图书的总价格;修改主要包括删除、添加和修改某条信息。

(2)音像信息的管理,包括光盘和磁带:

①光盘信息的管理:

对个人光盘的管理,主要包括信息的浏览、查询和修改。

浏览时可以逐条全属性的显示详细的光盘信息;查询可以按照光盘所有的属性进行查询,并且支持模糊查询,可以统计查询到的信息的数量;修改包括记录的删除、添加以及修改。

②磁带信息的管理:

对个人磁带的管理,同样主要包括信息的浏览、查询和修改。

浏览时可以逐条全属性显示磁带详细的信息;查询时可以按照不同的属性进行查询,并且支持模糊查询,统计查询到的记录的数量;修改包括记录的添加、修改和修改。

 

1.2系统功能模块图

 

第二章数据库设计

2.1需求分析

该系统主要实现对个人的大量的图书音像资料进行规范化的管理,通过辅助数据库的使用来完成一系列的功能。

首先根据需要在数据库中建立以下表:

密码表(用户名,密码),图书(书名,作者,价格,购买日期,类别,状态),光盘(光盘名,出版社,价格,购买时间,类别,状态),磁带(供磁带名,磁带作者,价格,购买时间,类别,状态)。

启动欢迎窗体时显示背景和欢迎文字,点击文字可以显示MDI主控窗体,利用主控窗体管理所有图书音像信息。

主控窗体主要包含文件、图书管理、音像管理和系统四个部分,起初只有文件和系统可用,图书管理和音像管理两部分不可用。

(1)打开系统下的“登录”子菜单会打开登录界面,需要正确填写用户名和密码才可以使用图书管理和音像管理,假如3次输入的用户名或密码有误,系统关闭。

从登录界面点击“注册”按钮可以打开注册界面进行新用户的注册。

(2)图书管理:

主要包含对图书信息的浏览、查询、修改,浏览时显示详细信息可以逐条浏览,查询可以根据图书的不同属性进行查询,并且支持模糊查询,查询完可以统计查询到记录的数量可总价格,修改包括单个记录的添加、删除以及属性的修改。

(3)音像管理:

包括音像信息的浏览、查询和修改。

音像信息的浏览分为光盘信息的浏览和磁带信息的浏览;音像信息的查询分为光盘信息的查询和磁带信息的查询,查询时都可以进行模糊查询;修改同样包含光盘信息的修改和磁带信息的修改。

(4)系统菜单只包含“退出”子菜单,点击可以结束程序。

2.2E-R模型

该管理系统中主要包含4个实体:

密码表、图书信息、光盘信息和磁带信息。

由于所有的实体之间不存在明显的联系,所以在这里只给出了单个实体及其属性图,没有完整的实体联系图。

单个实体及其属性图如下:

图a:

密码表及其属性图图b:

图书实体及其属性图

图c:

光盘实体及其属性图图d:

磁带实体及其属性图

2.3关系模型

(1)密码表(用户名,密码)

(2)图书信息(书名,作者,价格,购买日期,类别,状态)

(3)光盘信息(光盘名,出版社,价格,购买时间,类别,状态)

(4)磁带信息(磁带名,磁带作者,价格,购买时间,类别,状态)

2.4表结构设计

启动SQLServer2000建立数据库课程设计,在该数据库中,用可视化的方法进行建表,要建的表有密码表、图书信息、光盘信息和磁带信息四个表,所建各表的表信息如下:

表1:

密码表:

表2:

图书信息:

表3:

光盘信息:

表4:

磁带信息:

 

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

3.1欢迎界面的设计

点击欢迎界面上的欢迎词“欢迎进入个人图书音像管理系统”时即可跳转到MDIForm1主界面,欢迎词用Label控件进行添加,程序运行时欢迎界面最大化。

控件属性值表:

控件名

属性名

属性值

Label1

Caption

欢迎进入个人图书音像管理系统

Font

宋体、二号

ForeColor

红色

欢迎界面如下图所示:

对应代码如下:

PrivateSubLabel1_Click()

MDIForm1.Show

EndSub

 

3.2主控界面

主控界面是MDI窗体,含有的主菜单包含:

文件、图书管理、音像管理和系统。

在未登录之前只有文件和系统两菜单可用,成功登录之后图书管理和音像管理两个主菜单变为可用的。

主控界面的详细情况如下:

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

[登录]菜单:

打开登录界面

[图书管理]菜单包含以下子菜单和功能:

[图书信息的浏览]菜单:

显示图书信息的浏览窗体

[图书信息的查询]菜单:

显示图书信息的查询窗体

[图书信息的修改]菜单:

显示图书信息的修改窗体

[音像管理]菜单包含以下子菜单和功能:

[音像信息的浏览]菜单:

包括[光盘信息的浏览]和[磁带信息的浏览]两个子菜单

[光盘信息的浏览]菜单:

显示光盘信息的浏览窗体

[磁带信息的浏览]菜单:

显示磁带信息的浏览窗体

[音像信息的查询]菜单:

包括[光盘信息的查询]和[磁带信息的查询]两个子菜单

[光盘信息的查询]菜单:

显示光盘信息的查询窗体

[磁带信息的查询]菜单:

显示图书信息的查询窗体

[音像信息的修改]菜单:

包括[光盘信息的修改]和[磁带信息的修改]两个子菜单

[光盘信息的修改]菜单:

显示光盘信息的修改窗体

[磁带信息的修改]菜单:

显示磁带信息的修改窗体

[系统]菜单包含以下子菜单和功能:

[退出]菜单:

关闭程序

主控界面的设计如下图所示:

对应代码如下:

PrivateSubCchaxun_Click()

fcchaxun.Show

EndSub

PrivateSubCliulan_Click()

fcliulan.Show

EndSub

PrivateSubCxiugai_Click()

fcxiugai.Show

EndSub

PrivateSubdenglu_Click()

fdenglu.Show

EndSub

PrivateSubGchaxun_Click()

fgchaxun.Show

EndSub

PrivateSubGliulan_Click()

fgliulan.Show

EndSub

PrivateSubGxiugai_Click()

fgxiugai.Show

EndSub

PrivateSubMDIForm_Load()

tushuguanli.Enabled=False

yinxiangguanli.Enabled=False

EndSub

PrivateSubTchazhao_Click()

ftchaxun.Show

EndSub

PrivateSubTchaxun_Click()

ftchaxun.Show

EndSub

PrivateSubTliulan_Click()

ftliulan.Show

EndSub

PrivateSubtuichu_Click()

End

EndSub

PrivateSubTxiugai_Click()

ftxiugai.Show

EndSub

3.3登录和注册界面

(1)登录界面的设计

用Label控件添加“用户名”和“密码”显示在界面上,并在后面用TextBox控件添加练个输入区,三个按钮则由CommandButton控件进行添加,最后由Adodc控件与数据库相连。

控件属性值表:

控件名

属性名

属性值

控件名

属性名

属性值

Label1

Caption

用户名

Command2

Caption

取消

Font

楷体、小四

Font

楷体、小四

Label2

Caption

密码

Command3

Caption

注册

Font

楷体、小四

Font

楷体、小四

Command1

Caption

登录

Font

楷体、小四

 

登录界面如下:

当输入的用户名不存在或者密码错误时系统会给出警告:

对应的代码如下:

DimmiCountAsInteger

PrivateSubCommand1_Click()

StaticmiCountAsInteger

DimsqlstrAsString

sqlstr="Select*from密码表Where用户名='"&Text1&"'"

Adodc1.RecordSource=sqlstr

Adodc1.Refresh

IfAdodc1.Recordset.BOFThen

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

Text1.Text="":

Text1.SetFocus

Else

IfAdodc1.Recordset.Fields("密码")=Text2Then

MDIForm1.tushuguanli.Enabled=True

MDIForm1.yinxiangguanli.Enabled=True

UnloadMe

Else

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

Text2.Text="":

Text2.SetFocus

EndIf

EndIf

miCount=miCount+1

IfmiCount=3ThenUnloadMe

EndSub

PrivateSubCmdCancel_Click()

UnloadMe

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubCommand3_Click()

fzhuce.Show

EndSub

(2)注册界面的设计

该界面主要有CommandButton控件添加两个按钮“确认”和“取消”,Label控件添加的四个标签以及TextBox控件添加的三个输入区,最后由Adodc控件和“密码表”连接。

控件属性值表:

控件名

属性名

属性值

控件名

属性名

属性值

Label1

Caption

注册新用户

Label4

Caption

确认密码

Font

宋体、小四

Font

楷体、五号

Label2

Caption

输入用户名

Command1

Caption

确认

Font

楷体、五号

Font

楷体、小四

Label3

Caption

输入密码

Command2

Caption

取消

Font

楷体、五号

Font

楷体、小四

注册界面如下:

当两次输入的密码不同和注册成功时都会给出提示:

对应代码如下:

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,"添加用户"

EndIf

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

3.4浏览界面

(1)图书信息浏览界面

该界面浏览时支持向前或者向后逐条浏览记录,但是到达首记录时“前移”按钮失效,到达末记录时“后移”按钮失效。

另外,还可以根据需求进行跳跃式浏览,在界面上还可以显示你当前浏览的记录在表中的位置。

控件属性值表:

控件名

属性名

属性值

控件名

属性名

属性值

Text1

DataSource

Adodc1

Text4

DataSource

Adodc1

DataField

书名

DataField

购买日期

Locked

True

Locked

True

Text2

DataSource

Adodc1

Text5

DataSource

Adodc1

DataField

作者

DataField

类别

Locked

True

Locked

True

Text3

DataSource

Adodc1

Text6

DataSource

Adodc1

DataField

价格

DataField

状态

Locked

True

Locked

True

控件名

属性名

属性值

作用

CmdFirst

Caption

首记录

将指针移动到第一条记录

CmdPre

Caption

前移

指针向前移动一个记录

CmdNext

Caption

后移

指针向后移动一条记录

CmdLast

Caption

末记录

指针移动到最后一条记录

CmdN

Caption

移动记录数

一次移动n条记录

Text7

Text

输入要移动的记录数

Label7

Caption

显示当前记录数和记录总数

 

图书浏览界面如下(首记录):

输入移动记录数:

对应的代码如下:

PrivateSubCmdFirst_Click()

Adodc1.Recordset.MoveFirst

CmdFirst.Enabled=False

CmdPre.Enabled=False

CmdNext.Enabled=True

CmdLast.Enabled=True

Label7.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

Label7.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

Label7.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

Label7.Caption="记录:

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

EndSub

PrivateSubCmdN_Click()

DimnAsInteger

n=Text7.Text

Adodc1.Recordset.Moven

Label7.Caption="记录:

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

EndSub

PrivateSubForm1_Load()

CmdFirst.Enabled=False

CmdPre.Enabled=False

CmdNext.Enabled=True

CmdLast.Enabled=True

Label7.Caption="记录:

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

EndSub

(2)光盘信息浏览界面

由于光盘信息的浏览和图书信息的浏览及其类似,所以在这里不再赘述。

(3)磁带信息浏览界面和图书浏览的功能和界面都类似,所以也不再给出。

3.5查询界面

(1)图书信息查询界面

查询时分为两种情况的查询,一种是按“书名”、“作者”、“价格”查询,由Combo控件控制,可以按需求选择,查询时都可以进行模糊查询,并可以显示出查询到的记录的数量。

第二种,按“购买日期”、“状态”和“类别”查询,此时添加了一个“统计”按钮,可以把查询到的所有记录的总价格统计出来。

①第一种查询条件

控件属性值表:

控件名

属性名

属性值

控件名

属性名

属性值

Label1

Caption

查询条件

Command2

Caption

统计

Font

宋体、小四

Font

宋体、小四

Label2

Caption

查询信息

Command3

Caption

其他条件查询

Font

宋体、小四

Font

宋体、小四

Command1

Caption

查询

DataGrid1

DataSource

Adodc1

Font

宋体、小四

 

图书查询界面如下:

对应的代码如下:

PrivateSubCommand1_Click()

DimstrAsString

str="Select*From图书信息"

str=str&"Where图书信息."&Combo1.Text&"Like'"&Text1&"%'"

Adodc1.RecordSource=str

Adodc1.Refresh

EndSub

PrivateSubCommand2_Click()

Label3.Caption="找到相关信息的数量:

"&Adodc1.Recordset.RecordCount

EndSub

PrivateSubCommand3_Click()

fttongji.Show

EndSub

PrivateSubForm_Load()

Combo1.AddItem"书名"

Combo1.AddItem"作者"

Combo1.AddItem"价格"

Text1.Text=""

EndSub

 

②第二种查询条件

控件属性值表:

控件名

属性名

属性值

控件名

属性名

属性值

Label1

Caption

按购买日期查询

Command1

Caption

查询

Font

宋体、小四

Font

宋体、小四

Label2

Caption

按类别查询

Command2

Caption

统计

Font

宋体、小四

Font

宋体、小四

Label3

Caption

按状态查询

DataGrid1

DataSource

Adodc1

Font

宋体、小四

Text1

DataSource

Adodc2

查询界面如下:

对应代码如下:

PrivateSubCommand1_Click()

IfOption1=TrueThen

DimstrAsString

str="Select*From图书信息"

str=str&"Where图书信息.购买日期like'"&Combo1.Text&"%'"

Adodc1.RecordSource=str

Adodc1.Refresh

EndIf

IfOption2=TrueThen

Dimstr1AsString

str1="Select*From图书信息"

str1=str1&"Where图书信息.类别like'"&Combo2.Text&"%'"

Adodc1.RecordSource=str1

Adodc1.Refresh

EndIf

IfOption4=TrueThen

Dimstr2AsString

str2="Select*From图书信息"

str2=str2&"Where图书信息.状态like'"&Combo3.Text&"%'"

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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