基于VB图书管理系统论文.docx
《基于VB图书管理系统论文.docx》由会员分享,可在线阅读,更多相关《基于VB图书管理系统论文.docx(86页珍藏版)》请在冰点文库上搜索。
基于VB图书管理系统论文
(此文档为word格式,下载后您可任意编辑修改!
)
图书管理系统
摘要
在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
关键字:
图书,面向对象,软件工程
Abstract
Inthelibrarymanagementsystemwithcomputermanagementbooksisacomputerapplicationtechnologyinnovation,notonthecomputerbeforethepopularityofmanagementbooksarebooksofaccountmanagementmanualapproachtotheoperation.LibrariesarenowgenerallyusedasatoolforcomputerThepracticalproceduresforthemanagementofcomputerbookstosystem(MIS),includingthedevelopmentofitsbackgroundoftheestablishmentandmaintenanceofthedatabasefront-endapplications,aswellasthedevelopmentofboth.Theformersetuptherequirementsfordataintegrityandconsistencyofstrongdatasecurityagoodlibrary.Forthelatterapplicationsrequirefull-featuredandeasytouseandsoon.
Keywords:
books,Object-OrientedSoftwareEngineering
第一章概述1
1.1开发背景1
1.2管理信息系统产生的背景1
1.3系统功能要求的分析2
第二章开发环境及实现技术介绍3
2.1开发环境3
2.2开发工具简介3
第三章图书管理系统的设计和实现5
3.1系统的设计5
3.1.1概要设计5
3.1.2详细设计7
3.2系统的实现9
3.2.1主界面的设计与实现12
3.2.2图书管理模块的设计与实现15
3.2.3读者管理模块的设计与实现19
3.2.4图书借阅管理模块的实现22
3.2.5系统管理模块的设计与实现25
第四章图书管理系统的运行说明40
4.1运行环境40
致谢42
参考文献43
第一章概述
1.1开发背景
在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。
1.2图书管理系统产生的背景
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
1.3系统功能要求的分析
图书管理系统主要服务与图书管理人员,包含的功能模块主要有:
一.图书管理:
图书类别管理,图书信息管理
二.读者管理:
读者管理,读者信息管理.
三.图书借阅管理:
借书管理,还书管理.
四.系统管理:
添加管理员,修改密码,退出系统
第二章开发环境及实现技术介绍
2.1开发环境
2.2开发软件介绍
本系统所采用的编程语言为visualbasic2005与微软的sql作为操作数据库.
现分别对其简单介绍:
VisualBasic6.0是Micrsoft公司出品的开发工具,VisualBasic是一种可视化的,面向对象的Windows开发语言,它具有易用,通用和开发效率高的特点。
随着微软对它不断地改进以及计算机本身性能的提高,使得VisualBasic越来越适合一般的应用程序开发。
正如BillGate所说,世界上绝大多数的Windows应用程序是用VisualBasic编写的。
在众多的开发工具中,我们为什么要选择VisualBasic2005呢?
因为VB具有众多其它开发工具所没有的优点!
具体介绍如下:
◆开发的高效
◆语言的高效
◆编译的高效
◆执行的高效
◆维护的高效
基于以上理由,我们毫不忧郁的选择了VB2005做为我们的开发工具!
!
主要的控件及其基本属性,事件简介
1)Caption属性:
用来显示在控件上的标题。
2)Enable属性:
控制控件的激活状态灰色或可用。
3)Appearance属性:
值为1时,则以3D效果显示该控件,0则不然。
4)Backcolor属性:
用来改变在按钮上显示图像的背景色。
5)Cancel属性:
该属性决定按钮是否为一个”取消”按钮。
6)Default属性:
决定哪一个命令按钮控件是窗体的缺省命令按钮.
7)Font属性:
控制各种文字字体类型.
1)Left,top,属性值设置为True
8)Caption属性:
显示在控件上的文本,是单选按钮的标题。
9)Alignment属性:
决定单选按钮的标题在控件上的位置。
10)Enable属性:
该控件为灰色时为false,表示运行时不可用。
11)Index属性:
属性值表示为单选按钮组成的控件中某个按钮的索引值。
12)Tabindex属性:
建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点。
13)Value属性:
反映控件状态的属性,返回true表示已选择了该按钮。
14)Appearance属性:
设置返回一个对象在运行时是否以3D效果显示。
15)BackColor属性:
设置返回背景色。
16)Container属性:
设置返回Form上的控件属性。
17)DataField属性:
设置返回数据使用者将被绑定到的字段名。
18)DataFormat属性:
设置返回DataFormat对象,一个绑定对象将附加到它。
19)DisabledPicture属性:
设置返回一个对图像的引用,该图片在控件无效时显示在控件中。
20)DownPicture属性:
设置返回一个对图片的引用,该图片在控件单击下处于压下状态时显示。
21)DragMode属性:
设置返回一个值,确定在拖放操作中所用的方式。
22)Font属性:
设置返回字体属性。
23)FontBold属性:
设置返回字体粗体样式。
24)FontItalic属性:
设置返回字体斜体样式。
25)FontStrikethru属性:
设置返回字体删除线样式。
26)FontUnderLine属性:
设置返回字体下划线样式。
27)FontName属性:
设置返回控件中显示文本所用的字体大小。
28)FontSize属性:
设置返回控件中显示文本所用的字体大小
29)Height属性:
设置返回控件的高度。
30)MaskColor属性:
设置返回一个在控件的图片中作为掩码的颜色。
31)MousePointer属性:
设置返回一个值,该值指示在运行时当鼠标移动到对象上时显示的指针类型。
32)Caption属性:
缺省为check1…。
33)Index属性:
该属性值为复选框控件数组的下标.
34)Value属性:
value为0表空白,为1表勾号,为2表示灰色勾号.
35)Container属性:
Form控件上的容器。
36)DataChangeed属性:
设置返回一个值,指出被绑定的控件中的数据已经被某进程修改。
37)DataField属性:
设置或返回数据使用者将被绑定到的字段名。
38)DataFormat属性:
设置或返回DataFormat对象,用于数据绑定。
39)Datasource属性:
设置或返回控件绑定的一个数据源。
40)DisabledPicture属性:
设置或返回一个对图片的引用,该图片在控件无效时显示在控件中。
41)DownPicture属性:
设置或返回一个对图片的引用,该图片在控件被单击处于压下状态时显示。
42)DragIcon属性:
设置或返回图标,它将在拖放操作中做为指针显示。
43)DragMode属性:
设置返回一个值,确定在拖放操作中所用方式。
44)Font属性:
设置或返回字体的属性。
45)Name属性:
设置或返回控件的标识名。
46)Value属性:
设置或返回控件的状态。
1)List属性:
列表框控件的表项是使用数组的方式保存,数组的每一个元素存储列表控件的一个表项
47)Listcount属性:
控件列表部分项目的个数。
48)Mutselect属性:
可以设置列表框为单选或允许多选属性.
49)Selectd属性:
标示一个数组,数组各元素为:
50)Selected(0),selected
(1)…
51)Value属性:
滚动条上滑块所在位置由value值所决定。
52)Max和min属性:
对value值的最大,最小进行限制。
53)Largechange属性:
用户点击滚动条与键头之间的区域时,value的改变量。
54)Interval属性:
表示定时的时间间隔,以毫秒为单位。
55)Enable属性:
为true时(缺省值),激活定时器开始计时;为false时处于休眠状态.
数据库连接方式选择
Visualbasic2005连接数据库的主要方式以下几种方式:
一是:
用data控件进行数据库链接,二是利用adodc(ADODataControl)进行数据库链接。
三是:
利用DataEnvironment进行数据库链接.四是利用ADO(ActiveXDataObjects)进行编程
:
现在我们来大致对这几种技术应用介绍:
一、用data控件进行数据库链接.
第一步:
给窗体添加一个Data控件。
第二步:
用Access建立一个名为Pad的数据库,在库中建立一个表Myset,给表添加四个字段:
backcolor(数据),forecolor(文本),fontname(文本),fontsize(文本)。
注意:
请将库文件存入程序所在目录。
二、利用adodc(ADODataControl)进行数据库链接:
使用adodata控件访问数据库可以完全不用编写代码,只需要通过简单的设置和操作其属性就可以实现与数据库的连接,通过绑定数据感知控件,就能提供一个访问数据库的界面,用来实现对数据库的浏览,贴加,删除,修改等操作.
三、利用DAO对数据库进行操纵:
在visualbasic中提供了两种与jet数据引擎接口的方法:
data控件与数据访问对象(DAO)DAO是databaseobject的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.
DAO模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.
关系数据库介绍:
关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。
20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。
在数据库发展的历史上,最重要的成就就是关系模型。
关系数据库系统与非关系数据库系统的区别是:
关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。
结构化查询语言SQL(StructuredQueryLanguage)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。
目前已成为关系数据库的标准语言
Microsoft SQL介绍:
使用 Microsoft SQL,可以在单一的数据库文件中管理所有的信息。
在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
如果要保存数据,请为每一种类型的信息创建一个表。
如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。
查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。
在打开一个窗体时,Microsoft SQL将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。
例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
第三章图书管理系统的设计与实现
3.1系统的设计
3.1.1系统的概要设计
该系统考虑将整个系统分解成如下模块:
3.2系统的设计与实现
3.2.1系统的主界面的设计与实现
主界面代码:
_
PartialClass主¡Â界?
面?
InheritsSystem.Windows.Forms.Form
'Form重?
写¡äDispose,ê?
以°?
清?
理¤¨ª组Á¨¦件t列¢D表À¨ª。
¡ê
_
ProtectedOverridesSubDispose(ByValdisposingAsBoolean)
IfdisposingAndAlsocomponentsIsNotNothingThen
components.Dispose()
EndIf
MyBase.Dispose(disposing)
EndSub
'Windows窗ä¡ã体¬?
设¦¨¨计?
器¡Â所¨´必À?
需¨¨的Ì?
PrivatecomponentsAsSystemponentModel.IContainer
'注Á¡é意°a:
以°?
下?
过y程¨¬是º?
Windows窗ä¡ã体¬?
设¦¨¨计?
器¡Â所¨´必À?
需¨¨的Ì?
'可¨¦以°?
使º1用®?
Windows窗ä¡ã体¬?
设¦¨¨计?
器¡Â修T改?
它¨¹。
¡ê
'不?
要°a使º1用®?
代䨲码?
编À¨¤辑-器¡Â修T改?
它¨¹。
¡ê
_
PrivateSubInitializeComponent()
Me.MenuStrip1=NewSystem.Windows.Forms.MenuStrip()
Me.修T改?
密¨¹码?
ToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.图ª?
书º¨¦管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.借¨¨阅?
者?
管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.借¨¨阅?
管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.借¨¨书º¨¦管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.还1书º¨¦管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.预¡è定¡§管¨¹理¤¨ªToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.退ª?
出?
ToolStripMenuItem=NewSystem.Windows.Forms.ToolStripMenuItem()
Me.TabControl1=NewSystem.Windows.Forms.TabControl()
Me.TabPage1=NewSystem.Windows.Forms.TabPage()
Me.Label14=NewSystem.Windows.Forms.Label()
Me.Label13=NewSystem.Windows.Forms.Label()
Me.Label12=NewSystem.Windows.Forms.Label()
Me.Label11=NewSystem.Windows.Forms.Label()
Me.Label10=NewSystem.Windows.Forms.Label()
Me.Label9=NewSystem.Windows.Forms.Label()
Me.Label8=NewSystem.Windows.Forms.Label()
Me.Label7=NewSystem.Windows.Forms.Label()
Me.Label6=NewSystem.Windows.Forms.Label()
Me.Label5=NewSystem.Windows.Forms.Label()
Me.Label4=NewSystem.Windows.Forms.Label()
Me.Label3=NewSystem.Windows.Forms.Label()
Me.TabPage2=NewSystem.Windows.Forms.TabPage()
Me.GroupBox1=NewSystem.Windows.Forms.GroupBox()
Me.Button2=NewSystem.Windows.Forms.Button()
Me.Label1=NewSystem.Windows.Forms.Label()
Me.TextBox1=NewSystem.Windows.Forms.TextBox()
MeboBox1=NewSystem.Windows.FormsboBox()
Me.Label2=NewSystem.Windows.Forms.Label()
Me.Button1=NewSystem.Windows.Forms.Button()
Me.DataGridView1=NewSystem.Windows.Forms.DataGridView()
Me.MenuStrip1.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.TabPage2.SuspendLayout()
Me.GroupBox1.SuspendLayout()
CType(Me.DataGridView1,SystemponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'MenuStrip1
'
Me.MenuStrip1.Items.AddRange(NewSystem.Windows.Forms.ToolStripItem(){Me.修T改?
密¨¹码?
ToolStripMenuItem,Me.图ª?
书º¨¦管¨¹理¤¨ªToolStripMenuItem,Me.借¨¨阅?
者?
管¨¹理¤¨ªToolStripMenuItem,Me.借¨¨阅?
管¨¹理¤¨ªToolStripMenuItem,Me.退ª?
出?
ToolStripMenuItem})
Me.MenuStrip1.Location=NewSystem.Drawing.Point(0,0)
Me.MenuStrip1.Name="MenuStrip1"
Me.MenuStrip1.RenderMode=System.Windows.Forms.ToolStripRenderMode.Professional
Me.MenuStrip1.Size=NewSystem.Drawing.Size(733,24)
Me.MenuStrip1.TabIndex=0
Me.MenuStrip1.Text="MenuStrip1"
'
'修T改?
密¨¹码?
ToolStripMenuItem
'
Me.修T改?
密¨¹码?
ToolStripMenuItem.Font=NewSystem.Drawing.Font("宋?
体¬?
",12.0!
System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,CType(134,Byte))
Me.修T改?
密¨¹码?
ToolStripMenuItem.Name="修T改?
密¨¹码?
ToolStripMenuItem"
Me.修T改?
密¨¹码?
ToolStripMenuItem.Size=NewSystem.Drawing.Size(84,20)
Me.修T改?
密¨¹码?
ToolStripMenuItem.Text="修T改?
密¨¹码?
"
'
'图ª?
书º¨¦管¨¹理¤¨ªToolStripM