




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学科分类号学科分类号 本科学生毕业论文(设计)本科学生毕业论文(设计) 题题 目:目: 基于基于 Web 的图书管理系统的设计与开发的图书管理系统的设计与开发 图书借阅与系统维护图书借阅与系统维护 姓姓 名名 黎黎 可可 学学 号号 M43000112 院院 、 系系 专专 业业 计算机科学与技术计算机科学与技术 指导教师指导教师 付付 玉玉 2004 年年5 月月 10 日日 目目 录录 摘 要.I ABSTRACT .II 前言.1 第 1 章开发工具选择.2 1.1 前台开发工具.2 1.2 后台开发工具.2 1.3 数据库的选择.4 1.4 数据库的连接 .4 第 2 章图书借阅管理系
2、统的开发与设计.7 2.1 系统开发思想.7 2.2需求分析.7 2.3系统功能模块划分.8 2.4 系统数据库设计.9 2.5 系统界面风格设计.11 第 3 章图书借阅管理系统的具体实现.12 3.1 借书还书处理功能的实现.12 3.1.1 借书功能的具体实现.12 3.1.2 还书功能的具体实现.18 3.2 异常处理.23 3.2.1 遗失书籍处理的具体实现.23 3.2.2 读者证挂失处理的具体实现.30 3.3 系统维护模块的具体实现.32 3.3.1 数据备份与恢复的具体实现.32 3.3.2 管理员口令维护的具体实现.36 3.4 系统中报表的具体实现 .42 第 4 章系统
3、运行情况.44 4.1 借书/还书运行情况.44 4.2 遗失书籍处理的运行情况 .45 4.3 挂失读者证处理的运行情况.45 4.4 登陆界面的运行情况 .46 4.5 管理员信息修改 .47 4.6 数据库备份与恢复的运行情况 .48 第 5 章 结论.50 参考文献.51 I 摘 要 随着现代企业的发展,对于提高企业内部人员的综合素质,丰富员工的精 神生活,已成为各先进企业的重要内容之一,而图书馆也越来越多的在一些大 中型企业出现。因此,属于企业内部的图书管理系统也就成为了其办公网络化 的一个必不可少的部分。 本系统是针对大中型公司(企业)的图书管理而设计的一个基于 Web 的图书 管
4、理系统,以实现对图书信息的在线管理、及时更新、快速检索、资料搜集,并 提供读者论坛以方便信息交流。其开发主要包括图书馆网站和图书借阅管理系 统两大部分:图书馆网站的开发主要涉及图书馆的介绍、读者服务、信息检索 及资料下载,并且提供方便的后台管理;图书借阅管理系统主要涉及图书信息 与读者信息的管理、借书还书的处理、挂失异常处理、数据备份恢复和权限控 制等。 在本系统中,我们使用 MICROSOFT 公司的 FrontPage 开发工具, 在 Windows 2000、IIS、Microsoft SQL Server 2000 平台下通过 ASP 和 VB script 脚 本语言来实现。具体实现
5、过程主要涉及到 ASP 程序的设计、MS SQL Server 数 据库的操作、网页界面的设计、文件的读写、文件的上传下载、水晶报表等技 术。 关键字关键字:图书馆网站,图书借阅管理系统,水晶报表 II ABSTRACT With the development of modern enterprises, improving the compositive stuff of the personal in the enterprises and enriching their spirit living are the most important things to the excelle
6、nt corporations. Libraries appear more and more frequently in the medium-sized or large enterprises .People may borrow books from library or read books in the library. Of course, they must return books on time. So Library Information Management System which belongs to the enterprises is the necessar
7、y part of realizing network manages in the enterprises. This is a Web-Based Library Information Management System, which is specially designed for library management of the medium-sized or large enterprises. Through using the system, the manager can manage all the book information online, update the
8、 information according to users needs, and can also search and collect the data quickly. at the same time, user can communicate with others in the reader forum. So according to the users requirments,the system consists of two parts: the web site of library and the book borrowing and reading manageme
9、nt system. The web site mainly includes the introduction of library, reader server, information searching and file downloading. The book borrowing and reading management system deal with the management of book information and reader information, borrowing and returning books disposal, reporting the
10、loss of books and reader certificates disposal, backuping and restoring the data and previewing control etc. In order to design and develop the system, we selected FrontPage presented by Microsoft; and the system is based on Windows 2000, IIS, and Microsoft SQL Server 2000.We selected Active Server
11、Page (ASP) language and VB Script language. In detail, it includes technology of ASP programming, database operation, homepage design, file reading and writing, up file and download file, crystal report etc. Keywords:library Web site look loaning and reading management system Crystal report 湖南师范大学本科
12、毕业论文 1 前言 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是 计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够 进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的 提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。 计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理 的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多 的信息数据的管理,诸如对图书借阅情况(如借书天数、超过限定借书时间的 天数)的统计和核实,对借阅者的借阅权限设置和借
13、阅天数计算,以及图书信 息和读者信息的检索等。这些数据信息处理工作量大,若采用手工操作工作, 出错率高,出错后不易查找更改,而且图书借阅信息的管理工作混乱而又复杂; 一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的 工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就 得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前 的图书进行更改就更加困难了。基于这些问题,有必要建立一个图书管理系统, 使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息 处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。本系统 是一个典型的
14、基于eb 的信息管理系统,实现在线图书管理,从而提高处理效 率、简化处理步骤、加快处理速度。本系统是基于 B/S(浏览器/服务器)模式 的系统,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上 进行,不影响用户的使用,用户只通过浏览器就能完成所有管理功能。本系统 包括图书馆网站和图书借阅管理系统两大部分。通过图书馆网站可以使用户了 解本图书馆的概况和借阅指南,进行书刊信息检索、读者借阅情况查询及电子 资料下载,还可在读者论坛进行信息交流;管理员可以通过图书馆网站的后台 管理方便的管理网站资源,通过图书借阅管理系统进行借书还书处理,图书信 息与读者信息的管理、挂失异常处理、并提供强大
15、的信息查询及报表打印功能 第 1 章开发工具选择 2 及数据备份恢复和权限控制等。 第 1 章 开发工具选择 1.1 前台开发工具 随着互联网的发展,网站技术也成为了一门重要且热门的技术,而网页是 整个网站的组成元素,是用 HTML 语言来表示的。HTML 代码编辑工具很多,由 最简单的记事本、写字板,到现在出现的许多功能强大的网页编辑工具 FrontPage、Dreamweaver、HomeSite 等。记事本、写字板相对于编辑 HTML 代 码来说是最原始的编辑工具了,这样做需要开发人员对 HTML 语言非常的熟练, 而且工作繁琐,用它作为开发工具是极不理想的选择。而目前最流行并被广泛 使
16、用的工具就是 FrontPage 和 Dreamweaver。本系统的开发采用的是 FrontPage。 FrontPage 是 Microsoft 公司开发的一种用于创建网页、组织和管理 WEB 站点的网页设计软件。它由许多不同的元素组成。FrontPage 的网页视图提供 给了一种简单、实用的工具,用于 Web 网页的编辑和格式化。其他视图提供了 用于管理 Web 站点中文件集合的复杂工具。另外,FrontPage 带有内置的工具 可产生动画(移动的图形) 、交互性(对象代表访问者的动作)甚至在线数据收 集和数据管理。简而言之,它是一种所见即所得、简单实用、功能强大的网页 编辑工具。 Dr
17、eamweaver 是 Macromedia 公司开发的,也是一种功能强大、所见即所得 的网页编辑工具,而且它支持最新的 DHTML 和 CSS 标准,具有完善的站点管理 机制。从功能上来看,它比 FrontPage 要多,而且用户无需熟悉 HTML 语言就可 以用它做出很不错的网页。可以说,它是一种傻瓜式的编辑工具。 也许有人会置疑,既然 Dreamweaver 比 FrontPage 功能要多,为何要选择 FrontPage 来作为本系统的开发工具呢?对于一位专业的开发者来说,需要的 并不只是一个简单易用的傻瓜式的编辑工具,是一种能让程序运行稳定、操作 界面简洁的编辑工具。而 FrontP
18、age 它虽然没有 Dreamweaver 那么多的附加功 能,但它在网页的编辑方面更具专业性、稳定性、可见性和易修改性,是开发 湖南师范大学本科毕业论文 3 本系统的理想工具。 1.2 后台开发工具 在这个系统的后台部分我们选择ASP作为后台开发工具。尽管当前的后台开 发工具有很多,像还有JSP,PHP等,但是根据现阶段的我们开发系统的实际情况, 相对其他工具而言,我们对于ASP更为熟悉,而且,利用ASP完全可以实现系统 设计的各项需要。 Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)作 为WindowsNT的扩展,自推出以来已经有了很大
19、发展,其体系结构是当今市场上 最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务 器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面 支持ASP等强大功能。而且,IIS 应用于windows 2000系统中,而像 PWD 虽然 在功能上与IIS大同小异,但是,PWD应用于windows 98系统中,考虑到目前大 多数用户都是使用windows 2000系统,IIS更为实用。 此外,在过去,客户机/服务器结构的设计与 Web 的相关技术几乎处于平行 线上,两者相互独立并无法作出集成性的设计。现在我们利用 IIS+ASP 构成三 层式 Web 结构
20、(如图 2.1 所示)的中间一层,将客户机/服务器结构与 Web 密切 结合,完成前后端两者的集成输出功能,使得 Web 站点的开发更方便,实现的 功能更强大。 利用 IIS+ASP 技术来集成 Web 前后端所带来的强大效益可归结为以下几个 方面: 1减少构建和维护成本 2加快联机过程 3应用软件集中在服务器端开发管理 4前端可使用任何浏览器(IE、Netscape.) 5后端可存取任何数据库 (SQL、Access.) 6可使用任何脚本语言开发 (VBScript、JavaScript、PERL.) 后端数据库 数据库服务器 第 1 章开发工具选择 4 ActiveX Server 组件
21、程序和计算 逻辑 ActiveX Server 组件 前端浏览器 图 1.1 三层式 Web 结构示意图 1.3 数据库的选择 当前流行的数据库有很多,如Oracle,My SQL,SQL Server,Access等。在 本系统中,我们选用SQL Server 2000进行数据管理。SQL Server是一个后台关 系数据库管理系统,它功能强大操作简便、处理的数据量大且数据安全性强,适 用于中型数据库使用者,其内嵌的SQL Server 企业管理器为用户提供了方便全 面的服务。SQL Server不但可以应用于大中型数据库管理中,建立分布式关系 数据库,并且也可以开发桌面数据库。 对比其它的
22、数据库而言,Oracle一般用于非常大型的数据库管理,对我们 的系统而言,使用Oracle一方面没有SQL Server方便,另一方面根据系统的数 据量没有必要使用Oracle。而Access 数据库对于小型的数据库当然也可以实现, 但是由于公司的其它系统由于数据量较大,都采用SQL Server 数据库,况且本 系统的中的图书量和读者信息量随着公司规模的扩大可能不断增加,Access 数 据库很有可能不能满足需求,而且SQL Server在操作上比Access要更加直观和 方便,功能也更加强大。 从以上各项功能显示,SQL Server 的操作相当方便,使用起来也很容易上 手,对于初学者来说
23、是一个很好的选择,再加上本系统是针对企业开发的,非 常适合采用SQL Server数据库管理系统。 1.4 数据库的连接 ADO(ActiveX Data Objects)是一种操作 Microsoft 所支持的数据库的 新技术。在 ASP 中,ADO 可以看作是一个服务器组件(Server Component),更 IIS + ASP 浏览器 湖南师范大学本科毕业论文 5 简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据 库复杂的操作。本文中个性化页面的实现便大量地用到了 ADO 技术。具体的操 作步骤可以归纳为以下几步: 1创建数据库源名(DSN) 2创建数据库链接(C
24、onnection) 3创建数据对象(RecordSet) 4操作数据库 5关闭数据对象和链接 每一步的作法如下: 1. 创建数据源 DSN(Date Source Name)即数据源名称。我们知道,ODBC 是一种访问 数据库的方法,只要系统中有相应的 ODBC 驱动程序,任何程序就可以通过 ODBC 操纵驱动程序的数据库,DSN 是应用程序和数据库之间的桥梁。其语法如 下: conn.connectionstring=DRIVER=SQL Server;SERVER=d2;UID=sa; PWD=sa;DATABASE=library 2. 创建数据库链接(Connection) 链接用以
25、保持一些关于正在访问的数据的一些状态信息,以及链接者 信息。ASP 文件中如果要访问数据,必须首先创建与数据库的链接,其语法如 下: set conn=server.createobject(ADODB.CONNECTION) 这条语句创建了链接对象 Conn,接下来: conn.open 这条语句打开链接。 以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有 打开了才真正可以使用。 3. 创建数据对象(Record Set) ADO 中的数据对象通常保存的是查询结果。Record Set 是 ADO 中最复 杂的对象,有许多属性和方法。Record Set 保存的是一行行的记录,并
26、标有一 个当前记录。以下是创建方法: set rs=server.createobject(ADODB.RECORDSET) 下面这条语句创建并打开了对象 Record Set,其中 Conn 是先前创建 的链接对象,sqtStr 是一个字符串,代表一条标准的 SQL 语句。例如: rs.open sqlstr,conn,3,3 第 1 章开发工具选择 6 或 Set rs=Conn.Execute(sqlStr) 这条语句执行后,对象 Record Set 中就保存了 sqlStr 这条语句执行 后筛选出的所有记录。 4. 操作数据库 我们通过调用链接对象的 Execute 方法来将查询结果
27、返回给一个数据 对象或进行插入、删除等操作。例如: Conn.Execute(sqlStr) 执行 sqlStr 这条 SQL 语句 5. 关闭数据对象和链接对象 在使用了 ADO 对象之后要关闭它,因为它使用了一定的服务器资源。 通过调用方法 close 实现关闭,然后再释放它。 关闭创建的数据对象:rs.close 或 Set rs=Nothing 关闭创建的链接对象:Conn.close 或Set Conn=Nothing 湖南师范大学本科毕业论文 7 第 1 章开发工具选择 8 第 2 章 图书借阅管理系统的开发与设计 2.1 系统开发思想 由于前台的图书馆网站是一个仅供浏览,查询,和
28、资料共享的开放性场所, 如果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现 对网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借 还书信息,一个面向管理员的后台部分是必不可少的。但是,后台的管理与操 作不是一个简单的过程,管理员会要在多个项目之间进行交替操作,倘若每进 行一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是 相当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。 因此,为了既能方便的对前台的数据进行更新和控制,同时实现图书馆管理的 完善性等诸多功能,又能让所有相关操作集中,便捷,最大程度的方便工作人 员对图书馆的管
29、理,我们考虑应该把所有要完成的这些部分的功能独立为一个 系统进行管理。在这个系统中,所有的功能都模块化,在分工上相对独立,这 样就更便于操作和维护。当被赋予权限的管理员进入后台的图书借阅管理系统 后,可以很方便的进行借书、还书、挂失等一系列操作,如果是最高权限的管 理员,则还可以对数据库进行备份,更改管理员密码等,这样整个后台的图书借 阅管理系统就实现了管理模块化和操作集中化,针对性强等.由于这是一个面向 管理员的系统,所以,不需要网站中诸多花样的界面,只需要让使用者以最快,最 方便,最安全的方式进行管理,所以,我们采用框架式界面,这样可以随时选择需 要进行操作的功能,而在无需页面的前进后退中
30、耽误太多时间,让使用者一目了 然。此外,既然是图书管理系统中的部分,所以一切内容针对图书展开,借书、 还书和对这些信息的新增,修改,删除,以及对于一些异常情况的处理等就是这 个借阅管理系统的核心内容 总之,一个框架式的图书借阅管理系统是整个图书管理系统的最重要的部分,在 它里面的各项功能在形式上应相互独立,但在内容上是互相关联的. 2.2需求分析 图书借阅管理系统需要满足图书馆工作人员和图书馆管理人员的需求。 湖南师范大学本科毕业论文 9 1图书馆工作人员的需求是: (1) 可以浏览、查询、添加、删除、修改、统计图书的基本信息; (2) 可以浏览、查询、添加、删除、修改、统计读者的基本信息;
31、(3) 可对图书借阅者的借书和还书要求进行操作,同时形成借书或还书 表单给借阅者查看确认,提醒借阅者及时归还过期的书籍; (4) 浏览、查询、统计图书馆的借阅信息; (5) 进行逾期未还、书籍遗失、读者证挂失等异常处理; (6) 可以对所有的查询统计表单进行打印操作。 2图书馆管理人员的需求是: 除了可以满足一般工作人员的需求外,还应当具有: (1) 系统维护功能,维护系统的正常运行; (2) 数据备份与恢复:提供图书信息、读者信息、借阅信息的备份与恢 复功能; (3)系统应用权限控制:可添加和注销系统用户,更改用户密码,更 改用户权限。 2.3系统功能模块划分 图书借阅 管理系统 数据录入异
32、常处理数据查询 图 书 类 输 别 入 读 者 信 息 查 询 库 存 图 书 查 询 已 借 未 还 查 询 图 书 信 息 查 询 读 者 信 息 输 入 图 书 信 息 输 入 系统维护 借书/还书 处理 借书 还书 逾 期 未 还 一 览 表 读 者 证 挂 失 处 理 遗 失 书 籍 处 理 数 据 备 份 与 恢 复 管 理 员 口 令 维 护 图 2.1 图书借阅管理系统功能模块框图 第 2 章图书借阅管理系统的开发与设计 10 在这个图书管理系统中,本人所完成的工作是图书借阅管理系统(后台)中 的部分内容: 1.借书/还书功能的具体实现 2.异常处理部分的具体实现:包括遗失书籍
33、处理,读者证挂失处理。 3.系统维护的具体实现:包括数据库的备份与恢复,管理员登录,管理员 的注册和删除,管理员密码的修改和管理员权限的修改。 4.所有的报表打印 2.4 系统数据库设计 本系统所有数据均存放于一个数据库(ibrary 库) ,在此数据库基础上 建立了如下表: 图书类目信息表bookmenu 图书基本信息表book_input 读者基本信息表readerinformation 系统用户信息表login 各表的详细说明如下: 图书类目信息表bookmenu 表 2.1 图书类目信息表 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 boo
34、k_typevarchar 50 No图书的类别代码 book_kindvarchar 50 No图书的类别名称 book_memovarchar 50Yes类别的备注说明 图书基本信息表book_input 表 2.2 图书基本信息表 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 ISBNvarchar 50 Yes图书的索引号 book_novarchar 50 No图书的编号,具有唯一性 book_namevarchar 50 No图书名称 Publishingvarchar 50 Yes图书出版社 book_authorvarchar 50
35、Yes图书的编著者 book_pricefloatYes图书单价 book_kindvarchar 50 Yes图书的类别名称 sale_datevarchar 20 Yes图书出版日期 book_memovarchar50Yes图书的备注说明 book_statevarchar10Yes图书的状态标志(0-正常, 1-逾期未还,2-已遗失) Isloanvarchar 50 Yes图书的借阅状态(0-未借 出,1-已借出) Loanervarchar 50 Yes图书的借阅者 Loandatevarchar20Yes图书借阅日期 湖南师范大学本科毕业论文 11 读者基本信息表readerin
36、formation 表 2.3 读者基本信息表 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 reader_novarchar 50 No读者证号 reader_namevarchar 50 No读者姓名 reader_sexvarchar 2 Yes读者性别 reader_idvarchar 50 No读者工号 reader_placevarchar 50 No读者所在部门 reader_zhichengvarchar50No读者职称 reader_stateint 2 Yes读者状态(0-正常,1-有过期 示还的书,2-该读者证已遗 失) rea
37、der_memovarchar 50 Yes读者备注 lost_datevarchar20Yes读者证遗失日期 系统用户信息表login 表 2.4 系统用户信息表 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 Usernamevarchar 245 No管理员名称 Userpasswordvarchar 245 No管理员密码 Userclassint 2 Yes管理员级别(1-一般管理,2- 最高管理) 第 2 章图书借阅管理系统的开发与设计 12 2.5 系统界面风格设计 图 2.2 图书借阅管理系统界面 湖南师范大学本科毕业论文 13 第第
38、3 章章 图书借阅管理系统的具体实现图书借阅管理系统的具体实现 3.1 借书还书处理功能的实现 借书和还书是图书借阅管理系统的一个最重要也是最基本功能。它在图书 管工作人员的操作下,对本公司(企业)员工的借还书情况进行录入、修改、查询 等一系列的过程。在程序中,利用 vb script 脚本语言实现画面的控制,利用 asp 语言来实现对库的操作和算法流程的控制。 3.1.1 借书功能的具体实现 借书是图书管工作人员根据借阅者所借书籍的图书编号(当然这个编号 于每一本图书是唯一的)将该图书登入借书表单,并对其借阅时间和借阅数量 进行控制的过程。因为该系统是针对公司(企业)的图书馆进行管理的,所以
39、 图书借阅也仅对公司内部人员进行开放,所以借阅者必须根据自己的工号(工 作证编号)和其它一些在公司的相关信息办理读者证后,工作人员根据借阅者 所持读者证的读者证号(该读者的唯一标识)进行查询,如果该读者在读者信 息数据库中有记录,则调出该读者个人信息和他(她)已借书籍的信息,如果 读者信息数据库中无该读者信息,则此人不能借阅书籍。一般来说,只要该读 者信息真实存在,就可以借阅书籍了,但为了有效控制图书的借阅秩序,对于 有过期未还书籍的读者和借书数目超过最大限制(在本系统中我们设为 3)的 读者,不能继续借书,此外,当该读者借阅了一本书后,系统应即时显示他 (她)最新的借阅情况,如果借阅数目未满
40、,则可以在原界面继续操作(借书) 。 具体的流程如下: borrowbook.asp 第 3 章图书借阅管理系统的具体实现 14 图 3.1 借书程序流程图(a) 湖南师范大学本科毕业论文 15 图 3.2 借书程序流程图(b) 算法描述如下: 首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修 改: 因为借书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所 以在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则 要先进行管理员登陆,即转向登陆界面:(此处用到“session“这个物件来4 4 存取一个变量记录登陆的用户名,它可以在同一个客户端多个打开的浏览
41、器之 第 3 章图书借阅管理系统的具体实现 16 间传递变量值,如果用户能过了管理员登陆,则变量值不会为空,相反则为空: if session(user_name)= then 导向管理员登陆界面 end if 接下来就是借书操作了: /变量说明部分 /readerno 为读者证号 /borrowno 为借书编号 /number 为是否标志是否查询的读者信息是否存在,初始为 1,表示有信 息,如果输入读者证号后,没有查到读者信息,则更新为 0。 /clickselect 为是否查询过读者信息,即是否点击过读者信息的“查询“按 扭 /booknumber 统计已借书籍的数据量,初始化设为 0,如
42、果查到已借书籍大于 或等于 3 时,该变量设为 3。 /count 统计过期第个读者过期未还的书籍数目 先查询读者证号,如果读者证号为空,提示要求输入。这里可以放在读者证 “查询”的单击事件中: sub readerno_onclick /读者证“查询”的单击事件 if readerno= then /如果读者证号为空,提示要求输入 显示 请输入读者证号! 将光标定位于读者证号的输入框 end if clickselect =1 /已查询读者信息 booknumber =0 /借阅书目初始化为 0 提交当前表单的信息 end sub 查询了读者信息后,如果该读者在数据库中有记录,而且已借书籍没
43、有超 湖南师范大学本科毕业论文 17 过去 3 本,则可以借书,如果没有记录,则屏蔽“借书”的功能,要求用户输 入正确的读者证号: If readerno then 根据 readerno 查询读者信息数据库 readerinformation if 查询的记录数=0 then 提示用户“无相应记录” number =0 将光标定位于读者证号输入框 结束后面的 ASP 程序的运行,即不再查询已借书目信息 else 显示读者的个人信息 end if if readerno or borrowno then 根据 readerno 将 book_input 与 reaerinformation 关
44、联起来 查询 book_input 中 loaner(借阅者)为 readerno 的所有图书信息 if 查询的记录数=0 then 显示“没有借书记录” else if 已借书记录=3 then 显示 你的书已借满 booknumber =3 end if If 已借书记录0 then For I=1 to 已借书记录数 显示已借的书目信息 dd=读取数据库中“借阅日期”字段 if dd then if 当前日期-当前读取的借阅日期60 then count=count+1 end if end if Next end if end if if count0 then 提示 你有过期未还的书
45、! 更新 book_input 中 刚查到的过期未还的书的 book_state 为 1 更新 readerinfomation 中该读者的 reader_state 为 1 end if 第 3 章图书借阅管理系统的具体实现 18 End if if booknumber= 3 or count0 then 屏蔽“借书“功能,即不显示借书按扭 end if 若未屏蔽借书功能,则可以借书 先输入借书编号,按下借书按扭,如果编号为空,要求输入,如果未查询读 者证号就点击借书按扭,则提示用户先查询读者证号后,此段程序可放入借书 按扭单击事件中: sub borrowbook if readerno
46、 = then 显示 请先查询借书者的读者证号! elseif borrowno= then 显示 请输入借书编号 end if 提交当前表单信息 end sub 提交信息后,除运行上面的程序外,还要执行提交状态后的程序: if borrowno then 查询 book_input 中的 book_no 为 borrowno 记录 if 查询记录数0 if 是否已借字段内容=1 then 显示 该书已借出! else 是否已借字段内容=1 借阅日期字段=今天的日期 借阅者字段=当前输入的读者证号 end if else 显示 没有这本书! 湖南师范大学本科毕业论文 19 end if end
47、 if 在借书这个程序中,我们利用读者证号这个关键字,把读者信息表和图书基本 信息表联系起来,多方面考虑问题,把借书过程中可能出现的状况,都要一一 考虑进来,方便能工作人员和读者。 3.1.2 还书功能的具体实现 还书是在借书的基础上来操作的过程,总的原则是,没有借书,就没 有还书,还书所要实现的功能,在某种程度上和借书是相似的,同样要提示读 者是否有过期未还的书,此时也需要对库中的信息进行更改。还书以后,也要 即时的反溃当前的借书状况,以便读者和工作人员知道“还书”是否操作成功。 与借书相比,借书是通过读者证号和图书编号来登记,而还书只需要且必须要 图书编号来登记还书。当查到该编号的图书,而
48、且确实是未还图书,则将显示还 书者的读者信息和所有他(她)的已借书目信息.我们要实现的目标是尽可能方便 能的操作和尽可能直观的反溃!所以我们采用输入图书编号来还书的同时,查阅 出借该书的读者的所有借书记录,只要点击所列出的该读者借书记录中的某一条,就 可以还这本书.还有一点是还书需要处理的,那就是续借,如果读者想要续借, 应该很方便的进行,与还书一样,只要点击要续借的书按“续借”即可,但是 要考虑如果该书已过期,则不能续借。具体程序流程图如下: return_book.asp 第 3 章图书借阅管理系统的具体实现 20 图 3.3 还书程序流程图 湖南师范大学本科毕业论文 21 算法描述如下:
49、 首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修 改: 因为还书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以在 程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先 进行管理员登陆,即转向登陆界面,这部分的操作和借书是一样的: if session(user_name)= then 导向管理员登陆界面 end if 接下来是还书的操作: /变量说明部分 / returnno 为还书编号 / state 表示当前有无可还书的记录 /reloan 表示是否要续借 /step 表示是否提交过表单,1-初始状态,2-已经提交 /reader_no 表示还
50、书者读者编号 /book_no 表示当前要还的或要续借的图书编号 /count 表示当前有没有过期未还的书 sub return /还书按扭单击事件 if returnno = then 显示 请输入还书编号! 光标定位到输入还书编号栏 else step=1 带上还书编号提交表单 end if 接下是查询该还书编号的书 第 3 章图书借阅管理系统的具体实现 22 If request(returnno) then 在数据库中查询该编号的图书 if 查询的记录数=0 and reader_no= then 提示“可能输入了无效的图书编号或该书没有借出,请重输!” 结束程序的继续执行 else
51、对将要显示的当前所要还的书籍的表格中的借阅者,书籍编号,书名, 作者,借阅日期单元格的内容填值 if 当前日期-借阅日期60 then 更改读者信息表中的 reader_state 为 1 提示用户“你的书已过期!” end if /根据借阅者的读者证号查询该读者的相关信息 sqlstr2=select * from book_readerinfo where reader_no=&loaner& 对要显示读者信息的栏位赋值 end if 如果找到了要还的书,便可以还书或续借了 if returnno = then 显示 请先输入还书编号 光标定位于还书编号 exit sub end if i
52、f state =no then 光标定位于还书编号 exit sub end if if book_no = then 显示 请选择要还的书! exit sub 湖南师范大学本科毕业论文 23 end if return_book.submit /提交当前表单 *以上这段程序可以放在借书按的单击事件中 *以下是续借按扭的单击事件的算法 sub contiborrow /续借按扭单击事件 if book_no = then 显示 请选择要续借的书! exit sub end if reloan =yes 提交表单 end sub 提交表单后,要对库中的数据表进行还书和续借的操作了 从提交的表单
53、中提取所有的读者信息和当前所要还的图书编号 count=0 /设当前无过期书籍 if book_no and reader_no then if 当前日期-借阅日期60 then if reloan=yes then 提示 书已过期,不能续借! 不再做任何更改库中记录的操作,所回续借前的状态 结束 ASP 程序的运行 end if end if if reloan=yes then 将当前书籍的借阅日期减一个月,因为续借只能是一个月 else 还原当前所还书籍的借阅者,借阅日期,是否借阅为初始状态。 /再一次查找当前还书者的所有借书情况 sqlstr3=select * from book_i
54、nput where isloan=1 and 第 3 章图书借阅管理系统的具体实现 24 loaner=&reader_no& if 查询记录数0 then for i=1 to 查询记录数 /查找在还了当前所要还的书以后是否还有过期未还的书 if 当前-借阅日期60 then count=count+1 end if next if count=0 then 将当前的还书者的状态 reader_state 还原为 0 end if else /如果已经没有要还的书籍 将当前的还书者的状态 reader_state 还原为 0 end if end if 3.2 异常处理 3.2.1 遗失书
55、籍处理的具体实现 在图书管理系统中,读者遗失书籍的状况是极有可能发生的,所以系统一 定要有相应的处理措施,方便工作人员对书籍的管理。在这个处理过程中,我 们根据要办理遗失处理的读者的读者证号来查找该读者所借阅的所有书籍,如 果该读者没有借阅的书籍,或该读者根本不存在,也就无需也不能进行书籍遗 失处理。如果经过查询,有借阅记录,则在选择要办理遗失的书籍后(在每条 借书记录后有 checkbox 多选框) ,点击“挂失“即可。而取消挂失只需要选中 罗列出来的所有遗失的书籍记录的某一条或多条,点击“取消遗失”即可。这 块功能的实现总共由三个程序共同来完成,分别为 lostbook.asp,set_l
56、ost_book.asp,select_input_book.asp。当用户需要办 湖南师范大学本科毕业论文 25 理遗失时,首先运行 lostbook.asp,进入该模块的主界面,在这个界面中,我 们会把所有已办理遗失的书籍列出来,如果要对书籍办理遗失,则点击“遗失 办理” ,此时会调用另一个程序 set_lost_book.asp 来处理,如果是要取消遗失, 就直接在第一个主界面列出的已遗失书籍的记录中查找,可以点击“查找”按 扭来确定用户要对哪一本遗失的书“取消遗失” ,然后选取中它,进行取消。具 体程序流程如下: 第 3 章图书借阅管理系统的具体实现 26 图 3.4 遗失书籍处理程序
57、流程图 湖南师范大学本科毕业论文 27 算法描述如下: 首先当然还是打开数据库连接: 在验证了管理员身份后,可以进行遗失处理了 /变量说明 /flag 判断当前操作(取消遗失,办理遗失,查询) /n 当前选择的取消遗失书籍的记录数 /loststr 所有要取消遗失的书籍的图书编号 if flag =select_book /如果当前操作为查询 转入查询页面 select_input_book.asp /查询算法在前面已描述,不再 重复 if 查询的条件不为空 then select * from book_input where book_state=2 &selectvalue /按当前查询
58、条件查询满足条件的所有已遗失的书籍 提交表单 end if end if if flag =set_lost /如果当前操作为办理遗失 转向执行程序 set_lost_book.asp end if if flag=”nolost” /如果当前操作为取消遗失 if n=0 then 显示 请选择要取消遗失的记录! end if for i=1 to n 取得所有要取消遗失的书籍的 book_no next if 您确实要取消这些书籍的遗失 then 第 3 章图书借阅管理系统的具体实现 28 loststr1=所有要取消遗失的书籍的编号 提交表单 end sub 表单提交后: flag=req
59、uest(flag) /获取当前的操作状态 if flag=unlost then / 如果当前是取消遗失 loststr=获取所有要取消遗失的书籍的编号 分别对当前收集的记录中的图书取消遗失 /用 SQL 语言 end if if flag= select_book 执行当前的查询条件 if sqlstr= then /如果当前查询条件为空 sqlstr=select * from book_input where book_state=2 /查询所有 已遗失的记录 end if if 如果当前查询结果不为空 then 分页显示所有查询记录 else 显示“没有遗失书籍的记录!” end i
60、f 当进入办理遗失的程序 set_lost_book.asp 后, /变量说明 /readerno 当前输入的读者证号 /size 当前查到的借书记录,初始为 0 /flag 当前处于何种操作状态 / varb 当前遗失书籍是否要还掉,记录具体操作的 SQL 语句 由于要先查询读者证号,确认读者存在,且有借书记录,才可以进行书的遗失 处理。 sub /此段程序可以放在读者证号查询的单击事件(sub) 湖南师范大学本科毕业论文 29 if readerno = then msgbox 请输入读者证号! exit sub end if flostbook.submit end sub 表单提交后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论