图书馆信息管理系统 数据库课程设计VB SQLWord格式.docx
《图书馆信息管理系统 数据库课程设计VB SQLWord格式.docx》由会员分享,可在线阅读,更多相关《图书馆信息管理系统 数据库课程设计VB SQLWord格式.docx(25页珍藏版)》请在冰豆网上搜索。
(3)图书入库信息(图书编号、库存量、单价、入库日期)
(4)图书出库信息(借书证号、书名、借阅日期、还书日期)
(5)图书库存信息(图书编号、书名、库存量、单价)
(6)读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)
(7)系统信息(用户名、密码)
1.2系统结构总图
根据功能画出图书馆信息管理系统结构图,如图1.1所示。
图1.1 图书馆信息管理系统的总体结构
2数据库设计
2.1需求分析
面对大量繁杂的图书信息管理、分类、查询与借还工作,迫切需要通过计算机来帮助解决,减少图书馆管理人员的工作量。
随着办公自动化的深入及普及和网络技术的不断发展,图书馆信息管理系统越来越被社会所需要,本图书馆信息管理系统具有界面友好、使用方便等优点。
1、图书信息查询。
当需要从数据库中查找满足查询条件的图书时,可以使用该功能。
选择查询条件填入对应的功能,点击“查询”完成查询操作。
2、借阅管理。
借阅管理分为借阅和归还两部分。
点击“借阅”单选按钮,这时扫入图书相关信息就可以借阅了。
3、注册新用户。
注册新用户是用来注册能使用该软件的用户名和密码。
当注册完用户之后,退出该软件重新进入,会要求选择用户名和密码,此时如果不能正确输入密码,则不能进入该软件。
2.2E-R模型
图书馆信息管理系统E-R图,如图2.1所示。
图2.1图书馆信息管理系统E-R图
2.3关系模型
一个实体型转换为一个关系模式[1]。
实体的属性就是关系的属性,实体的码就是关系的码。
根据E-R图向关系模型转换的原则,把图2.2中的E-R图转换为关系模型。
(1)图书信息(图书编号、书名、作者、版次、出版社、出版日期、类别、借阅次数、借阅状态)
图2.2图书信息关系模型图
(2)读者信息(借书证号、姓名、性别、年龄、单位、联系电话、读者类别、是否超期)
图2.3读者信息关系模型图
(3)图书入库信息(图书编号、库存量、单价、入库日期)
图2.4图书入库信息关系模型图
(4)图书出库信息(借书证号、书名、借阅日期、还书日期)
图2.5图书出库信息关系模型图
(5)图书库存信息(图书编号、书名、库存量、单价)
图2.6图书库存信息关系模型图
(6)读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)
图2.7读者罚款信息关系模型图
2.4表结构设计
本系统需在SQLServer中建立七个表,分别为图书信息,读者信息,图书入库信息、图书出库信息、图书库存信息、读者借书信息和系统信息。
(1)图书信息表的结构与基本数据:
表结构:
图2.8图书信息表结构
基本数据如下:
图2.9图书信息数据
(2)读者信息表的结构与基本数据:
图2.10读者信息表结构
图2.11读者信息基础数据
(3)图书入库信息表的结构与基本数据:
图2.12图书入库表结构
图2.13图书入库基础数据
(4)图书出库信息表的结构与基本数据:
图2.14图书出库表结构
图2.15图书出库基础数据
(5)图书库存信息表的结构与基本数据:
图2.16图书库存表结构
图2.17图书库存基础数据
(6)读者借书信息表的结构与基本数据:
图2.18读者借书表结构
图2.19读者借书基础数据
(7)系统信息表的结构与基本数据:
图2.20系统信息表结构
图2.21系统信息基础数据
3系统各功能模块的详细设计
本图书馆信息管理系统共包括11个窗体,分别为欢迎,登录,注册新用户,图书信息浏览,读者信息浏览,图书出库信息,图书入库信息,图书信息查询,读者信息查询,图书库存信息查询和主窗体。
其中主窗体为MDI窗体[2]。
下面介绍各个窗体的设计语句及实现功能。
3.1封面
封面,如图3.1所示,标题为“欢迎进入图书馆管理系统”,点击“进入系统”按钮,就可以关闭本窗体并打开登录窗体。
图3.1封面
封面代码如下:
PrivateSubCommand1_Click()
登录窗体.Show
UnloadMe
EndSub
PrivateSubTimer1_Timer()
StaticnAsInteger
n=n+1
Ifn>
15Then
n=0
EndIf
Label1.ForeColor=QBColor(n)
3.2登录
登录,如图3.2所示,若已经有账号,只需输入正确的用户名和密码,点击“登陆”按钮就可以打开MDI主窗体,如图3.4所示;
若没有账号,点击“注册”按钮,就可以打开注册新用户窗体,如图3.5所示。
图3.2登录
登录代码如下:
注册用户.Show
PrivateSubCommand2_Click()
DimmicountAsInteger
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
IfTrim(Adodc1.Recordset.Fields("
密码"
))=Trim(Text2.Text)Then
MDIForm1.Show
MsgBox"
密码错误,请重新输入"
Text2.SetFocus
micount=micount+1
Ifmicount>
=3ThenUnloadMe
PrivateSubCommand3_Click()
封面.Show
3.3主菜单
主窗体,如图3.3所示,设计为MDI窗体,含有主菜单:
[系统管理]、[数据管理]、[数据查询]。
[系统管理]菜单包含[注册新用户]菜单和[退出]菜单。
[数据管理]包含[图书出库管理]菜单,[图书入库管理]菜单,[读者罚款管理]菜单和[读者信息管理]菜单。
[数据查询]包含[查询图书信息]菜单,[查询图书库存信息]菜单和[查询读者信息]菜单。
图3.3主窗体
主菜单代码如下:
PrivateSub图书信息浏览_Click()
图书信息浏览.Show
PrivateSubmFExit_Click()
PrivateSub查询读者信息_Click()
读者信息查询.Show
PrivateSub查询图书库存信息_Click()
图书库存信息查询.Show
PrivateSub查询图书信息_Click()
图书信息查询.Show
PrivateSub读者罚款管理_Click()
读者罚款.Show
PrivateSub图书出库信息_Click()
图书出库.Show
PrivateSub读者信息管理_Click()
读者信息.Show
PrivateSub新用户注册_Click()
PrivateSub图书信息查询_Click()
PrivateSub读者信息查询_Click()
PrivateSub图书入库信息_Click()
图书入库.Show
3.4注册新用户
注册新用户窗体可用于添加新的用户名和密码。
可以通过单击“注册新用户”菜单,打开对话框;
也可以在登录窗体,点击“注册”按钮,进行注册。
若输入正确,则将新的用户名和密码保存到“系统信息”表中,并提示“注册完成”,关闭本窗体,如图3.4所示。
图3.4注册成功
注册新用户代码如下:
Dimstr1AsString
str1="
select*from系统信息"
Adodc1.RecordSource=str1
IfText3.Text<
>
Text2.TextThen
密码不相同,请重新输入!
Text3.Text="
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("
用户名"
)=Text1
)=Text2
Adodc1.Recordset.Update
注册完成!
3.5读者信息管理
读者信息管理窗体用于浏览和录入读者信息[4]。
该窗体以文本框显示当前记录,用按钮[首记录]、[末记录]、[前移]、[后移],控制记录指针的移动;
用一个标签Label显示:
当前记录号/记录总数;
单击[返回]按钮,可以关闭本窗体,返回主窗体。
可以对记录进行添加、确认、删除、取消操作,如图3.5所示。
其余信息管理窗体与代码均与此类似,不作说明。
图3.5读者信息浏览窗体
读者信息代码如下:
PrivateSubcmdadd_Click()
cmdadd.Enabled=False
cmddel.Enabled=False
cmdok.Enabled=True
cmdCancel.Enabled=True
Label5.Caption="
记录:
Adodc1.Recordset.AbsolutePosition&
/"
Adodc1.Recordset.RecordCount
PrivateSubcmdCancel_Click()
PrivateSubcmddel_Click()
x=MsgBox("
确实要删除当前记录吗?
vbYesNo+vbQuestion)
Ifx=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
Adodc1.Recordset.MoveLast
PrivateSubcmdfirst_Click()
Adodc1.Recordset.MoveFirst
cmdfirst.Enabled=False
cmdpre.Enabled=False
cmdnext.Enabled=True
cmdlast.Enabled=True
PrivateSubcmdlast_Click()
cmdfirst.Enabled=True
cmdpre.Enabled=True
cmdnext.Enabled=False
cmdlast.Enabled=False
PrivateSubcmdnext_Click()
PrivateSubcmdok_Click()
cmdadd.Enabled=True
cmddel.Enabled=True
cmdok.Enabled=False
cmdCancel.Enabled=False
PrivateSubcmdpre_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOF=TrueThen
PrivateSubForm_Load()
3.6图书库存信息查询
图书库存信息查询窗体可以满足按各种条件的查找[5],这些条件放在组合列表框Combo中,供用户选择。
在文本框中输入要查询的内容,如图3.6所示,单击[查询]按钮,查询结果用网格控件显示如3.7所示。
其余查询窗体与代码均与此类似,不作另行说明。
图3.6图书库存信息查询窗体
图3.7查询结果
图书库存信息查询代码如下:
Select*From图书库存"
str=str&
Where图书库存."
Combo1.Text&
Like'
Text1&
%'
Adodc1.RecordSource=str
Adodc1.Refresh
Combo1.AddItem"
图书编号"
书名"
库存量"
单价"
Combo1.Text="
PrivateSubDataGrid1_Click()
图书名"
Text6.Text="
总结
通过这次数据库课程设计,我学会了如何利用MicrosoftSQLServer2005软件建立相关信息的数据库,并通过MicrosoftVisualBasic6.0实现对相关信息的查询,将所学知识都运用到实践中去,增加了我对数据库的兴趣,让我能更清楚地了解到数据库在现实生活中为我们带来的极大便利,方便我们将所需要的信息进行规划和管理,将信息集中管理也为我们查询我们所需要的信息带来了简易的途经。
但是,这个图书馆信息管理系统并不是很完善,还有需改进之处。
最后,感谢数据库课程设计老师对我耐心的教导和帮助,为我解决了许多在课堂上没弄懂的问题,让我对数据库有了更进一步的认识和了解。
今后我会更加努力学习数据库的相关知识,相信能为我以后带来很大的帮助。
参考文献
[1]王珊.数据库系统简明教程.北京:
高等教育出版社.2004,9
[2]赛奎春.VisualBasic信息系统开发实例精选.北京:
高等教育出版社.2004,9
[3]刘韬,何旭洪.VisualBASIC数据库系统开发实例导航.北京:
人民邮电出版社.2002,10
[4]张海潘.软件工程导论.北京:
清华大学出版社.1999,19
(2);
138~143
[5]闫宏印.VB程序设计.北京:
电子工业出版社.2002;
1~20