1、学科分类号本科学生毕业论文(设计)题 目: 基于 Web 的图书管理系统的设计与开发 图书借阅与系统维护 姓 名 黎 可 学 号 M43000112 院 、 系 专 业 计算机科学与技术指导教师 付 玉 2004 年 5 月 10 日目 录摘要 IABSTRACTII前 言 1第 1 章开发工具选择 21.1 前台开发工具 21.2 后台开发工具 21.3 数据库的选择 41.4 数据库的连接 4第 2 章图书借阅管理系统的开发与设计 72.1 系统开发思想 72.2 需求分析 72.3 系统功能模块划分 82.4 系统数据库设计 92.5 系统界面风格设计 11第 3 章图书借阅管理系统的具
2、体实现 123.1 借书还书处理功能的实现 123.1.1 借书功能的具体实现 123.1.2 还书功能的具体实现 183.2 异常处理 233.2.1 遗失书籍处理的具体实现 233.2.2 读者证挂失处理的具体实现 303.3 系统维护模块的具体实现 323.3.1 数据备份与恢复的具体实现 323.3.2 管理员口 令维护的具体实现 363.4 系统中报表的具体实现 42第 4 章系统运行情况 444.1 借书/还书运行情况 444.2 遗失书籍处理的运行情况 454.3 挂失读者证处理的运行情况 454.4 登陆界面的运行情况 464.5 管理员信息修改 474.6 数据库备份与恢复的
3、运行情况 48第 5 章 结论 50参考文献 51摘要随着现代企业的发展,对于提高企业内部人员的综合素质,丰富员工的精神生活,已成为各先进企业的重要内容之一,而图书馆也越来越多的在一些大中型企业出现。因此,属于企业内部的图书管理系统也就成为了其办公网络化的一个必不可少的部分。本系统是针对大中型公司(企业)的图书管理而设计的一个基于 Web 的图书管理系统,以实现对图书信息的在线管理、及时更新、快速检索、资料搜集,并提供读者论坛以方便信息交流。其开发主要包括图书馆网站和图书借阅管理系统两大部分:图书馆网站的开发主要涉及图书馆的介绍、读者服务、信息检索及资料下载,并且提供方便的后台管理;图书借阅管
4、理系统主要涉及图书信息与读者信息的管理、借书还书的处理、挂失异常处理、数据备份恢复和权限控制等。在本系统中,我们使用 MICROSOFT 公司的 FrontPage 开发工具, 在Windows 2000、IIS 、Microsoft SQL Server 2000 平台下通过 ASP 和 VB script 脚本语言来实现。具体实现过程主要涉及到 ASP 程序的设计、MS SQL Server 数据库的操作、网页界面的设计、文件的读写、文件的上传下载、水晶报表等技术。关键字:图书馆网站,图书借阅管理系统,水晶报表ABSTRACTWith the development of modern e
5、nterprises, improving the compositive stuff of the personal in the enterprises and enriching their spirit living are the most important things to the excellent corporations. Libraries appear more and more frequently in the medium-sized or large enterprises .People may borrow books from library or re
6、ad books in the library.Of course, they must return books on time. So Library Information Management System which belongs to the enterprises is the necessary part of realizing network manages in the enterprises.This is a Web-Based Library Information Management System, which is specially designed fo
7、r library management of the medium-sized or large enterprises. Through using the system, themanager can manage all the book information online, update the information according to users needs, and can also search and collect the dataquickly. at the same time, user can communicate with others in the
8、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 management system. The web site mainly includes the introduction of library, reader server, information searching and file downloading. The book borrowing
9、and reading management system deal with the management of book information and reader information, borrowing andreturning books disposal, reporting the loss of books and reader certificates disposal, backuping and restoring the data and previewing control etc.In order to design and develop the syste
10、m, we selected FrontPage presented by Microsoft; and the system is based onWindows 2000, IIS, and Microsoft SQL Server 2000.We selected Active Server Page (ASP) language and VB Script language. In detail, it includes technology of ASP programming, database operation, homepage design, file reading an
11、d writing, up file and download file, crystal report etc.Keywords:library Web site look loaning and reading management system Crystal report前 言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相
12、关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,诸如对图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实,对借阅者的借阅权限设置和借阅天数计算,以及图书信息和读者信息的检索等。这些数据信息处理工作量大,若采用手工操作工作,出错率高,出错后不易查找更改,而且图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要
13、对很长时间以前的图书进行更改就更加困难了。基于这些问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。本系统是一个典型的基于eb 的信息管理系统,实现在线图书管理,从而提高处理效率、简化处理步骤、加快处理速度。本系统是基于 B/S(浏览器/服务器)模式的系统,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行,不影响用户的使用,用户只通过浏览器就能完成所有管理功能。本系统包括图书馆网站和图书借阅管理系统两大部分。通过图书馆网站可以使用户了解本图书馆的概况和借阅指南,进行
14、书刊信息检索、读者借阅情况查询及电子资料下载,还可在读者论坛进行信息交流;管理员可以通过图书馆网站的后台管理方便的管理网站资源,通过图书借阅管理系统进行借书还书处理,图书信息与读者信息的管理、挂失异常处理、并提供强大的信息查询及报表打印功能及数据备份恢复和权限控制等。第 1 章 开发工具选择1.1 前台开发工具随着互联网的发展,网站技术也成为了一门重要且热门的技术,而网页是整个网站的组成元素,是用 HTML 语言来表示的。HTML 代码编辑工具很多,由最简单的记事本、写字板,到现在出现的许多功能强大的网页编辑工具FrontPage、Dreamweaver、HomeSite 等。记事本、写字板相
15、对于编辑 HTML 代码来说是最原始的编辑工具了,这样做需要开发人员对 HTML 语言非常的熟练,而且工作繁琐,用它作为开发工具是极不理想的选择。而目前最流行并被广泛使用的工具就是 FrontPage 和 Dreamweaver。本系统的开发采用的是FrontPage。FrontPage 是 Microsoft 公司开发的一种用于创建网页、组织和管理 WEB站点的网页设计软件。它由许多不同的元素组成。FrontPage 的网页视图提供给了一种简单、实用的工具,用于 Web 网页的编辑和格式化。其他视图提供了用于管理 Web 站点中文件集合的复杂工具。另外,FrontPage 带有内置的工具可产
16、生动画(移动的图形) 、交互性(对象代表访问者的动作)甚至在线数据收集和数据管理。简而言之,它是一种所见即所得、简单实用、功能强大的网页编辑工具。Dreamweaver 是 Macromedia 公司开发的,也是一种功能强大、所见即所得的网页编辑工具,而且它支持最新的 DHTML 和 CSS 标准,具有完善的站点管理机制。从功能上来看,它比 FrontPage 要多,而且用户无需熟悉 HTML 语言就可以用它做出很不错的网页。可以说,它是一种傻瓜式的编辑工具。也许有人会置疑,既然 Dreamweaver 比 FrontPage 功能要多,为何要选择FrontPage 来作为本系统的开发工具呢?
17、对于一位专业的开发者来说,需要的并不只是一个简单易用的傻瓜式的编辑工具,是一种能让程序运行稳定、操作界面简洁的编辑工具。而 FrontPage 它虽然没有 Dreamweaver 那么多的附加功能,但它在网页的编辑方面更具专业性、稳定性、可见性和易修改性,是开发本系统的理想工具。1.2 后台开发工具在这个系统的后台部分我们选择ASP作为后台开发工具。尽管当前的后台开发工具有很多,像还有JSP,PHP等,但是根据现阶段的我们开发系统的实际情况,相对其他工具而言,我们对于ASP更为熟悉,而且,利用ASP完全可以实现系统设计的各项需要。Wsb服务器是Web应用程序的心脏。IIS(Internet I
18、nformation Server)作为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。而且,IIS 应用于windows 2000系统中,而像 PWD 虽然在功能上与IIS大同小异,但是,PWD应用于windows 98系统中,考虑到目前大多数用户都是使用windows 2000系统,IIS更为实用。此外,在过去,客户机/服务器结构的设计与 Web 的相关技术几乎处于平行线上,两者相互独立并无法
19、作出集成性的设计。现在我们利用 IIS+ASP 构成三层式Web 结构(如图 2.1 所示)的中间一层,将客户机/服务器结构与 Web 密切结合,完成前后端两者的集成输出功能,使得 Web 站点的开发更方便,实现的功能更强大。利用 IIS+ASP 技术来集成 Web 前后端所带来的强大效益可归结为以下几个方面:1减少构建和维护成本2加快联机过程3应用软件集中在服务器端开发管理4前端可使用任何浏览器(IE、Netscape)5后端可存取任何数据库 (SQL、Access)6可使用任何脚本语言开发 (VBScript、JavaScript、PERL)后端数据库数据库服务器ActiveX Serve
20、r 组件程序和计算逻辑ActiveX Server 组件前端浏览器图 1.1 三层式 Web 结构示意图1.3 数据库的选择当前流行的数据库有很多,如Oracle,My SQL,SQL Server,Access等。在本系统中,我们选用SQL Server 2000进行数据管理。SQL Server是一个后台关系数据库管理系统,它功能强大操作简便、处理的数据量大且数据安全性强,适用于中型数据库使用者,其内嵌的SQL Server 企业管理器为用户提供了方便全面的服务。SQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。对比其它的数据库而言,Or
21、acle一般用于非常大型的数据库管理,对我们的系统而言,使用Oracle一方面没有SQL Server方便,另一方面根据系统的数据量没有必要使用Oracle。而Access 数据库对于小型的数据库当然也可以实现,但是由于公司的其它系统由于数据量较大,都采用SQL Server 数据库,况且本系统的中的图书量和读者信息量随着公司规模的扩大可能不断增加,Access 数据库很有可能不能满足需求,而且SQL Server在操作上比Access要更加直观和方便,功能也更加强大。从以上各项功能显示,SQL Server 的操作相当方便,使用起来也很容易上手,对于初学者来说是一个很好的选择,再加上本系统是
22、针对企业开发的,非常适合采用SQL Server数据库管理系统。1.4 数据库的连接ADO(ActiveX Data Objects)是一种操作 Microsoft 所支持的数据库的新技术。在 ASP 中,ADO 可以看作是一个服务器组件(Server Component),更IIS + ASP浏览器简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了 ADO 技术。具体的操作步骤可以归纳为以下几步:1创建数据库源名(DSN)2创建数据库链接(Connection)3创建数据对象(RecordSet)4操作数据库5关闭数据对象和
23、链接每一步的作法如下:1. 创建数据源DSN(Date Source Name)即数据源名称。我们知道,ODBC 是一种访问数据库的方法,只要系统中有相应的 ODBC 驱动程序,任何程序就可以通过ODBC 操纵驱动程序的数据库,DSN 是应用程序和数据库之间的桥梁。其语法如下:conn.connectionstring=“DRIVER=SQL Server;SERVER=d2;UID=sa;PWD=sa;DATABASE=library“2. 创建数据库链接(Connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP 文件中如果要访问数据,必须首先创建与数据
24、库的链接,其语法如下:set conn=server.createobject(“ADODB.CONNECTION“)这条语句创建了链接对象 Conn,接下来:conn.open这条语句打开链接。以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。3. 创建数据对象(Record Set)ADO 中的数据对象通常保存的是查询结果。Record Set 是 ADO 中最复杂的对象,有许多属性和方法。Record Set 保存的是一行行的记录,并标有一个当前记录。以下是创建方法:set rs=server.createobject(“ADODB.RECORDSET“)
25、下面这条语句创建并打开了对象 Record Set,其中 Conn 是先前创建的链接对象,sqtStr 是一个字符串,代表一条标准的 SQL 语句。例如:rs.open sqlstr,conn,3,3或Set rs=Conn.Execute(sqlStr)这条语句执行后,对象 Record Set 中就保存了 sqlStr 这条语句执行后筛选出的所有记录。4. 操作数据库我们通过调用链接对象的 Execute 方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:Conn.Execute(sqlStr)执行 sqlStr 这条 SQL 语句5. 关闭数据对象和链接对象在使用了 ADO
26、 对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法 close 实现关闭,然后再释放它。关闭创建的数据对象:rs.close 或 Set rs=Nothing关闭创建的链接对象:Conn.close 或 Set Conn=Nothing第 2 章 图书借阅管理系统的开发与设计2.1 系统开发思想由于前台的图书馆网站是一个仅供浏览,查询,和资料共享的开放性场所,如果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现对网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借还书信息,一个面向管理员的后台部分是必不可少的。但是,后台的管理与操作不是一个简单的过程,
27、管理员会要在多个项目之间进行交替操作,倘若每进行一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是相当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。因此,为了既能方便的对前台的数据进行更新和控制,同时实现图书馆管理的完善性等诸多功能,又能让所有相关操作集中,便捷,最大程度的方便工作人员对图书馆的管理,我们考虑应该把所有要完成的这些部分的功能独立为一个系统进行管理。在这个系统中,所有的功能都模块化,在分工上相对独立,这样就更便于操作和维护。当被赋予权限的管理员进入后台的图书借阅管理系统后,可以很方便的进行借书、还书、挂失等一系列操作,如果是最高权限的管理员,则
28、还可以对数据库进行备份,更改管理员密码等,这样整个后台的图书借阅管理系统就实现了管理模块化和操作集中化,针对性强等.由于这是一个面向管理员的系统,所以,不需要网站中诸多花样的界面,只需要让使用者以最快,最方便,最安全的方式进行管理,所以,我们采用框架式界面,这样可以随时选择需要进行操作的功能,而在无需页面的前进后退中耽误太多时间,让使用者一目了然。此外,既然是图书管理系统中的部分,所以一切内容针对图书展开,借书、还书和对这些信息的新增,修改,删除,以及对于一些异常情况的处理等就是这个借阅管理系统的核心内容总之,一个框架式的图书借阅管理系统是整个图书管理系统的最重要的部分,在它里面的各项功能在形
29、式上应相互独立,但在内容上是互相关联的.2.2 需求分析图书借阅管理系统需要满足图书馆工作人员和图书馆管理人员的需求。1图书馆工作人员的需求是:(1) 可以浏览、查询、添加、删除、修改、统计图书的基本信息;(2) 可以浏览、查询、添加、删除、修改、统计读者的基本信息;(3) 可对图书借阅者的借书和还书要求进行操作,同时形成借书或还书表单给借阅者查看确认,提醒借阅者及时归还过期的书籍;(4) 浏览、查询、统计图书馆的借阅信息;(5) 进行逾期未还、书籍遗失、读者证挂失等异常处理;(6) 可以对所有的查询统计表单进行打印操作。2图书馆管理人员的需求是:除了可以满足一般工作人员的需求外,还应当具有:
30、(1) 系统维护功能,维护系统的正常运行;(2) 数据备份与恢复:提供图书信息、读者信息、借阅信息的备份与恢复功能;(3) 系统应用权限控制:可添加和注销系统用户,更改用户密码,更改用户权限。2.3 系统功能模块划分 图 书 借 阅管 理 系 统数 据 录 入 异 常 处 理数 据 查 询图书类输别入 读者信息查询库存图书查询 已借未还查询图书信息查询读者信息输入图书信息输入系 统 维 护借 书 /还 书处 理借书 还书 逾期未还一览表 读者证挂失处理遗失书籍处理 数据备份与恢复 管理员口令维护图 2.1 图书借阅管理系统功能模块框图在这个图书管理系统中,本人所完成的工作是图书借阅管理系统(后
31、台)中的部分内容:1.借书/还书功能的具体实现2.异常处理部分的具体实现:包括遗失书籍处理,读者证挂失处理。3.系统维护的具体实现:包括数据库的备份与恢复,管理员登录,管理员的注册和删除,管理员密码的修改和管理员权限的修改。4.所有的报表打印2.4 系统数据库设计本系统所有数据均存放于一个数据库(ibrary 库) ,在此数据库基础上建立了如下表:图书类目信息表 bookmenu图书基本信息表 book_input读者基本信息表 readerinformation系统用户信息表 login各表的详细说明如下:图书类目信息表 bookmenu表 2.1 图书类目信息表book_type varc
32、har 50 No 图书的类别代码book_kind varchar 50 No 图书的类别名称book_memo varchar 50 Yes 类别的备注说明图书基本信息表 book_input表 2.2 图书基本信息表ISBN varchar 50 Yes 图书的索引号book_no varchar 50 No 图书的编号,具有唯一性book_name varchar 50 No 图书名称Publishing varchar 50 Yes 图书出版社book_author varchar 50 Yes 图书的编著者book_price float Yes 图书单价book_kind var
33、char 50 Yes 图书的类别名称sale_date varchar 20 Yes 图书出版日期book_memo varchar 50 Yes 图书的备注说明book_state varchar 10 Yes 图书的状态标志(0-正常,1-逾期未还,2-已遗失)Isloan varchar 50 Yes 图书的借阅状态(0-未借出,1-已借出)Loaner varchar 50 Yes 图书的借阅者Loandate varchar 20 Yes 图书借阅日期读者基本信息表 readerinformation表 2.3 读者基本信息表reader_no varchar 50 No 读者证号
34、reader_name varchar 50 No 读者姓名reader_sex varchar 2 Yes 读者性别reader_id varchar 50 No 读者工号reader_place varchar 50 No 读者所在部门reader_zhicheng varchar 50 No 读者职称reader_state int 2 Yes 读者状态(0-正常,1-有过期示还的书,2-该读者证已遗失)reader_memo varchar 50 Yes 读者备注lost_date varchar 20 Yes 读者证遗失日期系统用户信息表 login表 2.4 系统用户信息表User
35、name varchar 245 No 管理员名称Userpassword varchar 245 No 管理员密码Userclass int 2 Yes 管理员级别(1-一般管理,2-最高管理)2.5 系统界面风格设计图 2.2 图书借阅管理系统界面第 3 章 图书借阅管理系统的具体实现3.1 借书还书处理功能的实现借书和还书是图书借阅管理系统的一个最重要也是最基本功能。它在图书管工作人员的操作下,对本公司(企业)员工的借还书情况进行录入、修改、查询等一系列的过程。在程序中,利用 vb script 脚本语言实现画面的控制,利用asp 语言来实现对库的操作和算法流程的控制。3.1.1 借书功
36、能的具体实现借书是图书管工作人员根据借阅者所借书籍的图书编号(当然这个编号于每一本图书是唯一的)将该图书登入借书表单,并对其借阅时间和借阅数量进行控制的过程。因为该系统是针对公司(企业)的图书馆进行管理的,所以图书借阅也仅对公司内部人员进行开放,所以借阅者必须根据自己的工号(工作证编号)和其它一些在公司的相关信息办理读者证后,工作人员根据借阅者所持读者证的读者证号(该读者的唯一标识)进行查询,如果该读者在读者信息数据库中有记录,则调出该读者个人信息和他(她)已借书籍的信息,如果读者信息数据库中无该读者信息,则此人不能借阅书籍。一般来说,只要该读者信息真实存在,就可以借阅书籍了,但为了有效控制图
37、书的借阅秩序,对于有过期未还书籍的读者和借书数目超过最大限制(在本系统中我们设为 3)的读者,不能继续借书,此外,当该读者借阅了一本书后,系统应即时显示他(她)最新的借阅情况,如果借阅数目未满,则可以在原界面继续操作(借书) 。具体的流程如下:borrowbook.asp图 3.1 借书程序流程图(a)图 3.2 借书程序流程图(b)算法描述如下:首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修改:因为借书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先进行管理员登陆,即转向登陆界面:(此处用到“s
38、ession“这个物件来 4存取一个变量记录登陆的用户名,它可以在同一个客户端多个打开的浏览器之间传递变量值,如果用户能过了管理员登陆,则变量值不会为空,相反则为空:if session(“user_name“)=“ then导向管理员登陆界面end if接下来就是借书操作了:/变量说明部分/readerno 为读者证号/borrowno 为借书编号/number 为是否标志是否查询的读者信息是否存在,初始为 1,表示有信息,如果输入读者证号后,没有查到读者信息,则更新为 0。/clickselect 为是否查询过读者信息,即是否点击过读者信息的“查询“按扭/booknumber 统计已借书籍
39、的数据量,初始化设为 0,如果查到已借书籍大于或等于 3 时,该变量设为 3。/count 统计过期第个读者过期未还的书籍数目先查询读者证号,如果读者证号为空,提示要求输入。这里可以放在读者证“查询”的单击事件中:sub readerno_onclick /读者证“查询”的单击事件if readerno=“ then /如果读者证号为空,提示要求输入显示 “请输入读者证号!“将光标定位于读者证号的输入框end ifclickselect =“1“ /已查询读者信息booknumber =“0 /借阅书目初始化为 0提交当前表单的信息end sub查询了读者信息后,如果该读者在数据库中有记录,而
40、且已借书籍没有超过去3 本,则可以借书,如果没有记录,则屏蔽“借书”的功能,要求用户输入正确的读者证号:If readerno“ or borrowno=3 then显示 “你的书已借满“booknumber =“3“end if If 已借书记录0 thenFor I=1 to 已借书记录数显示已借的书目信息dd=读取数据库中“借阅日期”字段 if dd60 then count=count+1 end ifend ifNextend ifend ifif count= 3 or count“ then查询 book_input 中的 book_no 为 borrowno 记录if 查询记录
41、数“ then在数据库中查询该编号的图书if 查询的记录数=0 and reader_no=“ then 提示“可能输入了无效的图书编号或该书没有借出,请重输!”结束程序的继续执行else对将要显示的当前所要还的书籍的表格中的借阅者,书籍编号,书名,作者,借阅日期单元格的内容填值if 当前日期-借阅日期60 then 更改读者信息表中的 reader_state 为 1提示用户“你的书已过期!”end if/根据借阅者的读者证号查询该读者的相关信息sqlstr2=“select * from book_readerinfo where reader_no=“&loaner&“对要显示读者信息的
42、栏位赋值end if如果找到了要还的书,便可以还书或续借了if returnno =“ then显示 “请先输入还书编号“光标定位于还书编号exit sub end ifif state =“no“ then光标定位于还书编号exit sub end ifif book_no =“ then显示 “请选择要还的书!“exit sub end ifreturn_book.submit /提交当前表单*以上这段程序可以放在借书按的单击事件中*以下是续借按扭的单击事件的算法sub contiborrow /续借按扭单击事件if book_no =“ then显示 “请选择要续借的书!“exit su
43、bend ifreloan =“yes“提交表单end sub提交表单后,要对库中的数据表进行还书和续借的操作了从提交的表单中提取所有的读者信息和当前所要还的图书编号 count=0 /设当前无过期书籍if book_no“ thenif 当前日期-借阅日期60 then if reloan=“yes“ then 提示 “书已过期,不能续借!“不再做任何更改库中记录的操作,所回续借前的状态结束 ASP 程序的运行end ifend ifif reloan=“yes“ then将当前书籍的借阅日期减一个月,因为续借只能是一个月else还原当前所还书籍的借阅者,借阅日期,是否借阅为初始状态。/再一
44、次查找当前还书者的所有借书情况sqlstr3=“select * from book_input where isloan=1 and loaner=“&reader_no&“if 查询记录数0 thenfor i=1 to 查询记录数/查找在还了当前所要还的书以后是否还有过期未还的书if 当前-借阅日期60 then count=count+1 end ifnextif count=0 then 将当前的还书者的状态 reader_state 还原为 0end ifelse /如果已经没有要还的书籍将当前的还书者的状态 reader_state 还原为 0end ifend if 3.2 异
45、常处理3.2.1 遗失书籍处理的具体实现在图书管理系统中,读者遗失书籍的状况是极有可能发生的,所以系统一定要有相应的处理措施,方便工作人员对书籍的管理。在这个处理过程中,我们根据要办理遗失处理的读者的读者证号来查找该读者所借阅的所有书籍,如果该读者没有借阅的书籍,或该读者根本不存在,也就无需也不能进行书籍遗失处理。如果经过查询,有借阅记录,则在选择要办理遗失的书籍后(在每条借书记录后有 checkbox 多选框) ,点击“挂失“即可。而取消挂失只需要选中罗列出来的所有遗失的书籍记录的某一条或多条,点击“取消遗失”即可。这块功能的实现总共由三个程序共同来完成,分别为lostbook.asp,set_lost_book.asp,select_input_book.asp。当用户需要办