版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书馆信息管理系统设计一、系统功能描述图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一样性和完整性强.数据平安性好的库。而对于后者则要求应用程序功能完备,易运用等特点。本图书管理系统的应用对象定位在小型图书馆的应用。依据要求本图书管理系统主要针对图书管理员进行添加新书、执行借书、还书、查看图书的操作,另外进入该系统的读者只能查看当前图书馆的藏书并能执行查询操作,读者还可以通过该系统注册成为会员。图书管理系统用来管理图书借还过程中的静态和动态信息。系统管理的信息主要包括图书基本信息、图书存储信息、借书和还书信息。系统的目的就是有效地处理这些信息,同时为图书管理员供应信息检索和信息统计功能。该图书管理系统主要实现管理员操作和读者操作。其中,管理员操作包括完成添加图书、借书、还书、查询图书功能;读者操作包括完成图书查询和读者注册功能。二、开发环境(VISUALBASIC)的简介
VISUALBASIC是微软公司出品的一个快速可视化程序开发工具软件。借助微软在操作系统和办公自动化软件的垄断/地位,VB在短短的几年内风靡全球。VB是极具特色和功能强大的软件,主要表现:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。同时众多的ACTIVE控件,提高了软件的运用效率。1VB应用程序语言的基本特点:可视化界面设计:VB为用户供应大量的界面元素(在VB中称为控件对象),这些控件对象如“窗体”,“菜单”,“吩咐按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形态、属性等,就可以设计出所需的应用程序界面。2事务驱动编程在运用VB设计应用程序是,必需首先确定应用程序如何同用户进行交互。例如发生鼠标单击、键盘输入等事务是,由用户编写代码限制这些事务的响应,这就是所谓的事务驱动编程。3与数据库的连接性
VISUALBASIC供应了与底层数据库系统紧密的连接。VISUALBASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。在开发该图书馆管理系统时,VISUALBASIC存取数据库的方式有两种:•通过运用的ODBC接口。(ODBC(开放数据库连接)是微软公司的数据库连接标准)•通过运用由VISUALBASIC供应的专用的干脆与数据库相连的接口该系统程序是在应用vb软件程序的过程中,通过声明和定义数据库变量和记录集变量将程序的实现与access数据库连接起来。三、系统开发过程(一)建立数据库Access数据库中包括member、book、loan、admin(读者表、图书表、借阅信息表、管理员表)四个数据表,分别存放读者信息、馆藏图书信息、读者借阅信息、管理员信息。Admin(管理员表)作为单独的一个表,与其他三个表没有干脆联系。book表中的isbn(图书编号)与loan(借书表)中的isbn(图书编号)具有一对多的关系,member(读者表)中的nomber(借书证编号)与loan表中的member(图书证编号)同样具有一对多的关系。Loan表中另外添加了out_data和due_data两个字段分别记录读者的借书时间和应还时间。数据库中表之间的联系如下图所示:
(二)vb程序中连接数据库在程序的设计过程中,干脆通过vb语句连接数据库,并没有运用控件连接。定义数据库变量的语句如下:Dimdb1AsDatabase
Dimdb2AsDatabase
Dimdb3AsDatabase定义数据记录集变量Dimrst1AsRecordset
Dimrst2AsRecordset
Dimrst3AsRecordset设置连接数据库并打开数据库中相应的记录表语句:Setdb1=Workspaces(0).OpenDatabase(App.Path&"\database\database.mdb",False)
Setrst1=db1.OpenRecordset("member",dbOpenTable)
‘打开member表Setdb2=Workspaces(0).OpenDatabase(App.Path&"\database\database.mdb",False)
Setrst2=db2.OpenRecordset("loan",dbOpenTable)
‘打开loan表Setdb3=Workspaces(0).OpenDatabase(App.Path&"\database\database.mdb",False)
Setrst3=db3.OpenRecordset("book",dbOpenTable)
‘打开book表在连接数据库中数据表的过程中,通过索引,以便以后在数据表中查找数据。设定索引语句:rst1.index="nomber"
rst2.index="isbn"
rst3.index="isbn"(三)设定管理员的操作:管理员进入系统后,首先能够看到当前图书馆的存书状况以及借书状况,在该界面下进行添加图书、还书、借书和查询操作。显示当前馆藏图书状况的代码实现为:LV2.View=lvwReport
LV2.ColumnHeaders.Add,,"图书编号"
LV2.ColumnHeaders.Add,,"书名"
LV2.ColumnHeaders.Add,,"作者"
LV2.ColumnHeaders.Add,,"价格"
LV2.ColumnHeaders.Add,,"数量"
LV2.ColumnHeaders.Add,,"出版社"LV2.ColumnHeaders.Add,,"出版日期"
total=rst3.RecordCount
LV2.ListItems.Clear
rst3.MoveFirst
Fori=1Tototal
LV2.ListItems.Addi,,rst3.Fields("isbn")&vbNullString
WithLV2.ListItems(i)
.SubItems(1)=rst3.Fields("bname")&vbNullString
.SubItems(2)=rst3.Fields("author")&vbNullString
.SubItems(3)="¥"&rst3.Fields("price")
.SubItems(4)=rst3.Fields("total")&vbNullString
.SubItems(5)=rst3.Fields("publish")&vbNullString
.SubItems(6)=rst3.Fields("pdata")&vbNullString
EndWith
rst3.MoveNext
Ifrst3.EOFThenExitFor
Nexti
借书状况的代码实现同馆藏图书的代码实现类似,在此不再重复给出。
1添加新书管理员点击“添加新书”按钮后,系统弹出添加新书的窗口添加图书。将新添加的图书记录在数据库中,新进图书可能图书馆中已有,也可能没有,系统要能分别处理。若新添加的图书在图书馆中已有记录,则在图书表中将总数增加,通过以下语句实现:
rst.Edit
rst.Fields("total")=rst.Fields("total")+Val(total.Text)
rst.Update
假如图书馆中没有相应记录,则在图书表中增加一条记录,写入其相关信息。通过以下语句实现:
rst.Seek"=",isbn.Text
Ifrst.NoMatchThen
rst.AddNew
rst.Fields("isbn")=isbn.Text
rst.Fields("bname")=b_name.Text
rst.Fields("author")=author.Text
rst.Fields("price")=Val(price.Text)
rst.Fields("total")=Val(total.Text)
rst.Fields("publish")=publish.Text
rst.Fields("pdata")=pdata.Text
rst.Fields("class")=class.Text
rst.Update2查询图书管理员通过输入图书编号查询相关图书,管理员窗口图书管理界面显示所查询图书的具体信息在程序实现过程中,用BookId作为全局变量,存放图书的编号信息,具体由以下语句实现:
rst.Seek"=",BookId
txtBookHao.Text=BookId
txtBookName.Text=rst.Fields("bname")&vbNullString
txtChuBan.Text=rst.Fields("publish")&vbNullString
txtCost.Text=rst.Fields("price")&Empty
txtLentDate=rst.Fields("pdata")&vbNullString
txtType.Text=rst.Fields("class")&vbNullString
author.Text=rst.Fields("author")&vbNullString3还书操作:管理员在实现还书操作的过程中,分别输入所借图书编号和借书证号进行借书操作。在还书过程中涉及到对book表、loan表、member表的同时修改,首先在book表中对所还图书的相应图书的数量(total字段)进行加1操作,然后在member表中对应借书证号的借书数量(total字段)进行减1操作,最终将loan表中对应的借书记录删除掉。删除loan表中相应记录:
rst.Delet修改book表中的记录:
rst2.Seek"=",BookId
rst2.Edit
rst2.Fields("total")=rst2.Fields("total")+1
rst2.Update修改member表
rst1.Seek"=",mAddEditId
rst1.Edit
rst1.Fields("total")=rst1.Fields("total")–1
rst1.Update4借书操作:工作人员通过此模块来进行借阅记录的查询。该模块供应了包括读者编号、图书编号两种查询条件,管理员依据这个查询条件来进行查询,既可以查询出某本书。执行结束操作过程中,管理员首先输入借书证号,查询是否存在该借书证号,若存在则显示对应的读者信息,并执行借书操作,否则弹出提示信息要求重新输入正确的借书证号。借书过程中也涉及到对book表、member表、loan表的同时操作。在book表中相应图书的数量(total字段)减1,member表中相应读者的借书量(total字段)加1,loan表中增加一条借书记录。同时借书过程中系统自动检查该用户借书是否已达到六本,若已达到六本则不允许接着借书。正确输入借书证后进入借书窗口,系统通过查询member表的相应记录,自动显示当前读者的具体信息,同时显示当前图书馆的藏书状况。读者所能进行的操作只有依据相应的图书编号查看图书,同时系统会将读者查看的图书的具体信息显示出来。具体代码实现为:
rst1.Seek"=",mAddEditId
'显示当前读者的信息
nomber.Text=mAddEditId
txtname.Text=rst1.Fields("name")&vbNullString
txtage.Text=rst1.Fields("age")&vbNullString
txtphone.Text=rst1.Fields("telephone")&vbNullString
txtaddress.Text=rst1.Fields("address")&vbNullString
txtfa.Text=rst1.Fields("fa")&Empty查看相应图书编号图书的具体信息通过以下代码实现:
PrivateSubisbn_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
rst3.Seek"=",isbn.Text
Ifrst3.NoMatchThen
MsgBox"没有此图书编号,请重新填写",0+48,"填写错误"
isbn.SetFocus
Frame4.Visible=False
ExitSub
EndIf
Frame4.Visible=True
txtBookHao.Text=isbn.Text
txtBookName.Text=rst3.Fields("bname")&vbNullString
txtChuBan.Text=rst3.Fields("publish")&vbNullString
txtCost.Text=rst3.Fields("price")&Empty
txtLentDate=rst3.Fields("pdata")&vbNullString
txtType.Text=rst3.Fields("class")&vbNullString
author.Text=rst3.Fields("author")&vbNullString
EndIf
EndSub单击“借出图书”按钮后系统执行借书操作。首先查看该图书是否被全部借出,然后确定该读者借书总数没有超过六本,否则不允许借出。具体通过一下操作实现
Ifrst3.Fields("total")<=0Then
MsgBox"此书已被全部借出!",0+48,"提示"
isbn.Text=""
isbn.SetFocus
Frame4.Visible=False
ExitSub
EndIf
‘限制每人所借图书不能超过六本
rst1.Seek"=",mAddEditId
Ifrst1.Fields("total")>=6Then
MsgBox"该用户借书已达到六本,不能再借!",0+48,"提示"
ExitSub
EndIfLoan表中添加一条记录的代码实现:rst2.AddNew
rst2.Fields("isbn")=txtBookHao.Text
rst2.Fields("member")=nomber.Text
rst2.Fields("uname")=txtname.Text
rst2.Fields("bname")=txtBookName.Text
rst2.Fields("price")=txtCost.Text
rst2.Fields("publish")=txtChuBan.Text
rst2.Fields("class")=txtType.Text
rst2.Fields("author")=author.Text
rst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛版小学三年级数学下册表格教案 全册
- 苏教版小学语文四年级上册教案 全册
- 初中+物理神奇的物理学+(沪粤版)八年级物理上册
- 教师专业发展规划
- 保育员培训-关于保育工作的内容与实施
- 充分条件与必要条件+同步练习 高一上学期数学人教A版(2019)必修第一册
- 《2024年 上市公司资本结构主要影响因素之实证研究》范文
- 小学语文教师读书笔记范文(5篇)
- 四有教师演讲稿幼儿园(3篇)
- 英语教师岗位竞聘演讲稿
- WS/T 512-2016医疗机构环境表面清洁与消毒管理规范
- GB/T 22153-2008国际货运代理通用交易条件
- 巡察组巡察工作总结
- 公司职业经理人管理制度
- 《观察种子的结构》实验教学导学案
- 照度计算分解课件
- 煤矿总工程师技术手册V1
- 二氧化碳跨临界循环在热泵热水机组应用研究
- 《煤矿安全规程》专家解读(详细版)
- 网络舆情课程教学大纲
- 膝关节阶梯治疗课件
评论
0/150
提交评论