




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图书馆信息管理系统设计 一、系统功能描述图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本图书管理系统的应用对象定位在小型图书馆的应用。根据要求本图书管理系统主要针对图书管理员进行添加新书、执行借书、还书、查看图书的操作,另外进入该系统的读者只能查看当前图书馆的藏书并能执行查询操作,读者还可以通过该系统注册成为会员。图书管理系统用来管理图书借还过程中的静态和动态信息。系统管理的信息主要包括图书基本信息、图书存储信息、借书和还
2、书信息。系统的目的就是有效地处理这些信息,同时为图书管理员提供信息检索和信息统计功能。该图书管理系统主要实现管理员操作和读者操作。其中,管理员操作包括完成添加图书、借书、还书、查询图书功能;读者操作包括完成图书查询和读者注册功能。二、开发环境(VISUAL BASIC)的简介 VISUAL BASIC是微软公司出品的一个快速可视化程序开发工具软件。借助微软在操作系统和办公自动化软件的垄断/地位,VB在短短的几年内风靡全球。VB是极具特色和功能强大的软件,主要表现:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。同时众多的ACTIVE控件,提高了软件的使用效率。1
3、VB应用程序语言的基本特点:可视化界面设计:VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。2 事件驱动编程在使用VB设计应用程序是,必须首先确定应用程序如何同用户进行交互。例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。3 与数据库的连接性 VISUAL BASIC提供了与底层数据库系统紧密的连接。 VISUAL BASIC支持不同的关系数据库管理系统
4、并充分发挥每一个数据库的特长。在开发该图书馆管理系统时,VISUAL BASIC存取数据库的方式有两种:通过使用的ODBC接口。(ODBC(开放数据库连接)是微软公司的数据库连接标准)通过使用由VISUAL BASIC提供的专用的直接与数据库相连的接口该系统程序是在应用vb软件程序的过程中,通过声明和定义数据库变量和记录集变量将程序的实现与access数据库连接起来。三、系统开发过程(一)建立数据库Access数据库中包括member、book、loan、admin(读者表、图书表、借阅信息表、管理员表)四个数据表,分别存放读者信息、馆藏图书信息、读者借阅信息、管理员信息。Admin(管理员表
5、)作为单独的一个表,与其他三个表没有直接联系。book表中的isbn(图书编号)与loan(借书表)中的isbn(图书编号)具有一对多的关系,member(读者表)中的nomber(借书证编号)与loan表中的member(图书证编号)同样具有一对多的关系。Loan表中另外添加了out_data和due_data两个字段分别记录读者的借书时间和应还时间。数据库中表之间的联系如下图所示:(二)vb程序中连接数据库在程序的设计过程中,直接通过vb语句连接数据库,并没有使用控件连接。定义数据库变量的语句如下:Dim db1 As DatabaseDim db2 As DatabaseDim db3
6、As Database定义数据记录集变量Dim rst1 As RecordsetDim rst2 As RecordsetDim rst3 As Recordset设置连接数据库并打开数据库中相应的记录表语句:Set db1 = Workspaces(0).OpenDatabase(App.Path & databasedatabase.mdb, False)Set rst1 = db1.OpenRecordset(member, dbOpenTable)打开member表Set db2 = Workspaces(0).OpenDatabase(App.Path & databasedata
7、base.mdb, False)Set rst2 = db2.OpenRecordset(loan, dbOpenTable)打开loan表Set db3 = Workspaces(0).OpenDatabase(App.Path & databasedatabase.mdb, False)Set rst3 = db3.OpenRecordset(book, dbOpenTable)打开book表在连接数据库中数据表的过程中,通过索引,以便以后在数据表中查找数据。设定索引语句:rst1.index = nomberrst2.index = isbnrst3.index = isbn(三)设定管
8、理员的操作:管理员进入系统后,首先能够看到当前图书馆的存书情况以及借书情况,在该界面下进行添加图书、还书、借书和查询操作。显示当前馆藏图书情况的代码实现为:LV2.View = lvwReport LV2.ColumnHeaders.Add , , 图书编号 LV2.ColumnHeaders.Add , , 书名 LV2.ColumnHeaders.Add , , 作者 LV2.ColumnHeaders.Add , , 价格 LV2.ColumnHeaders.Add , , 数量 LV2.ColumnHeaders.Add , , 出版社LV2.ColumnHeaders.Add , ,
9、 出版日期 total = rst3.RecordCount LV2.ListItems.Clear rst3.MoveFirstFor i = 1 To total LV2.ListItems.Add i, , rst3.Fields(isbn) & vbNullString With LV2.ListItems(i) .SubItems(1) = rst3.Fields(bname) & vbNullString .SubItems(2) = rst3.Fields(author) & vbNullString .SubItems(3) = ¥ & rst3.Fields(price) .
10、SubItems(4) = rst3.Fields(total) & vbNullString .SubItems(5) = rst3.Fields(publish) & vbNullString .SubItems(6) = rst3.Fields(pdata) & vbNullString End Withrst3.MoveNextIf rst3.EOF Then Exit ForNext i借书情况的代码实现同馆藏图书的代码实现类似,在此不再重复给出。1 添加新书管理员点击“添加新书”按钮后,系统弹出添加新书的窗口添加图书。将新添加的图书记录在数据库中,新进图书可能图书馆中已有,也可能没
11、有,系统要能分别处理。若新添加的图书在图书馆中已有记录,则在图书表中将总数增加,通过以下语句实现:rst.Editrst.Fields(total) = rst.Fields(total) + Val(total.Text)rst.Update如果图书馆中没有相应记录,则在图书表中增加一条记录,写入其相关信息。通过以下语句实现:rst.Seek =, isbn.TextIf rst.NoMatch Thenrst.AddNewrst.Fields(isbn) = isbn.Textrst.Fields(bname) = b_name.Textrst.Fields(author) = autho
12、r.Textrst.Fields(price) = Val(price.Text)rst.Fields(total) = Val(total.Text)rst.Fields(publish) = publish.Textrst.Fields(pdata) = pdata.Textrst.Fields(class) = class.Textrst.Update2 查询图书管理员通过输入图书编号查询相关图书,管理员窗口图书管理界面显示所查询图书的详细信息在程序实现过程中,用BookId作为全局变量,存放图书的编号信息,具体由以下语句实现:rst.Seek =, BookIdtxtBookHao.T
13、ext = BookIdtxtBookName.Text = rst.Fields(bname) & vbNullStringtxtChuBan.Text = rst.Fields(publish) & vbNullStringtxtCost.Text = rst.Fields(price) & EmptytxtLentDate = rst.Fields(pdata) & vbNullStringtxtType.Text = rst.Fields(class) & vbNullStringauthor.Text = rst.Fields(author) & vbNullString3 还书操作
14、:管理员在实现还书操作的过程中,分别输入所借图书编号和借书证号进行借书操作。在还书过程中涉及到对book表、loan表、member表的同时修改,首先在book表中对所还图书的相应图书的数量(total字段)进行加1操作,然后在member表中对应借书证号的借书数量(total字段)进行减1操作,最后将loan表中对应的借书记录删除掉。删除loan表中相应记录:rst.Delet修改book表中的记录:rst2.Seek =, BookIdrst2.Editrst2.Fields(total) = rst2.Fields(total) + 1rst2.Update修改member表rst1.S
15、eek =, mAddEditIdrst1.Editrst1.Fields(total) = rst1.Fields(total) 1rst1.Update4 借书操作:工作人员通过此模块来进行借阅记录的查询。该模块提供了包括读者编号、图书编号两种查询条件,管理员根据这个查询条件来进行查询,既可以查询出某本书。执行结束操作过程中,管理员首先输入借书证号,查询是否存在该借书证号,若存在则显示对应的读者信息,并执行借书操作,否则弹出提示信息要求重新输入正确的借书证号。借书过程中也涉及到对book表、member表、loan表的同时操作。在book表中相应图书的数量(total字段)减1,membe
16、r表中相应读者的借书量(total字段)加1,loan表中增加一条借书记录。同时借书过程中系统自动检查该用户借书是否已达到六本,若已达到六本则不允许继续借书。正确输入借书证后进入借书窗口,系统通过查询member表的相应记录,自动显示当前读者的详细信息,同时显示当前图书馆的藏书情况。读者所能进行的操作只有根据相应的图书编号查看图书,同时系统会将读者查看的图书的详细信息显示出来。具体代码实现为:rst1.Seek =, mAddEditId显示当前读者的信息nomber.Text = mAddEditIdtxtname.Text = rst1.Fields(name) & vbNullStrin
17、gtxtage.Text = rst1.Fields(age) & vbNullStringtxtphone.Text = rst1.Fields(telephone) & vbNullStringtxtaddress.Text = rst1.Fields(address) & vbNullStringtxtfa.Text = rst1.Fields(fa) & Empty查看相应图书编号图书的详细信息通过以下代码实现:Private Sub isbn_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then rst3.Seek =, isbn.Te
18、xt If rst3.NoMatch Then MsgBox 没有此图书编号,请重新填写, 0 + 48, 填写错误 isbn.SetFocus Frame4.Visible = False Exit Sub End If Frame4.Visible = True txtBookHao.Text = isbn.Text txtBookName.Text = rst3.Fields(bname) & vbNullString txtChuBan.Text = rst3.Fields(publish) & vbNullString txtCost.Text = rst3.Fields(price
19、) & Empty txtLentDate = rst3.Fields(pdata) & vbNullString txtType.Text = rst3.Fields(class) & vbNullString author.Text = rst3.Fields(author) & vbNullStringEnd IfEnd Sub单击“借出图书”按钮后系统执行借书操作。首先查看该图书是否被全部借出,然后确定该读者借书总数没有超过六本,否则不允许借出。具体通过一下操作实现If rst3.Fields(total) = 6 Then MsgBox 该用户借书已达到六本,不能再借!, 0 + 4
20、8, 提示 Exit SubEnd IfLoan表中添加一条记录的代码实现:rst2.AddNewrst2.Fields(isbn) = txtBookHao.Textrst2.Fields(member) = nomber.Textrst2.Fields(uname) = txtname.Textrst2.Fields(bname) = txtBookName.Textrst2.Fields(price) = txtCost.Textrst2.Fields(publish) = txtChuBan.Textrst2.Fields(class) = txtType.Textrst2.Fields(author) = author.Textrst2.Update修改book表中的记录:rst3.Seek =, BookId rst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州经济职业技术学院《工程管理》2023-2024学年第二学期期末试卷
- 西北工业大学《港澳台广告》2023-2024学年第二学期期末试卷
- 天津城市建设管理职业技术学院《算法课程设计》2023-2024学年第二学期期末试卷
- 武昌首义学院《社会工作伦理》2023-2024学年第二学期期末试卷
- 江西软件职业技术大学《电子商务运营管理》2023-2024学年第二学期期末试卷
- 山东农业工程学院《投资银行学》2023-2024学年第二学期期末试卷
- 北京中医药大学东方学院《信息化管理与技术创新》2023-2024学年第二学期期末试卷
- 北京城市学院《机械CAD》2023-2024学年第二学期期末试卷
- 顺德职业技术学院《民族建筑与文化实验》2023-2024学年第二学期期末试卷
- 黑龙江工程学院昆仑旅游学院《外贸制单英》2023-2024学年第二学期期末试卷
- 二级、三级电箱接线图
- 神经介入患者围术期管理
- 企业组织机构架构图
- 房地产集团公共区域标准化装修教学课件
- 吉林省办学基本标准手册
- 闽教版(2020版)六年级下册信息技术整册教案
- 光电倍增管PPT
- 1-2会员代表选票
- 沪科七年级数学下册 实数单元综合测试卷解析
- 学生安全协议书5篇
- 2020年广东省中考物理试卷分析
评论
0/150
提交评论