图书管理系统设计——毕业论文_第1页
图书管理系统设计——毕业论文_第2页
图书管理系统设计——毕业论文_第3页
图书管理系统设计——毕业论文_第4页
图书管理系统设计——毕业论文_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 学生毕业设计学生毕业设计( (论文论文) ) 题题 目目 : 图书管理系统设计图书管理系统设计 系系 (部)(部) 专专 业业 班班 级级 学学 号号 学生姓名学生姓名 指导教师(校内)指导教师(校内) 职称:职称: 指导教师(校外)指导教师(校外) 职称:职称: 等级(总成绩)等级(总成绩) 年年 月月 日日 图书管理系统设计图书管理系统设计 编号: II 中文摘要中文摘要 摘要:摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上 已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存、发展,要高效地 把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、 财、物等)的有效管理,建立与自身特点相适应的管理信息系统。本文介绍了在 Microsoft Visual Studio 2005 环境下完成。总体规划,自下而上地应用开发的策略开 发一个管理信息系统的过程。通过分析传统的人工管理图书的不足,创建了一套行之有 效的管理图书的方案。文章在系统分析部分详细介绍了可行性分析、组织机构分析、数 据流程分析等;在系统设计部分主要介绍了系统功能设计和数据库设计;在系统实现部 分列出了几个主要的程序框图,并附带了一些主要的页面和程序。 关键词:关键词:图书管理; ; SQL AbstractAbstract III AbstractAbstract:As information technology in the management of an increasing depth and a wide range of applications, the implementation of management information system has been gradually mature technically. Management Information System is a continuous development of new disciplines, enterprises will have to survival, development, it is necessary to efficiently organic business activities to organize themselves, it is necessary to strengthen enterprise management, namely, to strengthen the internal resources (human, financial, etc) effective management of the establishment with its own characteristics to adapt the management of information systems. This article describes the Microsoft Visual Studio 2005 environment completed. The overall planning, bottom-up application development strategy to develop a management information system process. By analyzing the traditional artificial shortage of management books, create a set of effective management of the program book. Article in part detailed analysis introduced a feasibility analysis, organizational analysis, data flow analysis, etc.; in the system design, introduced some of the major system design and database design; in the system presents a number of the main part of the process diagram, and comes with some of the main page and procedures. KeyKey words:words: library management; ;SQL IV 目 录 1 引言 .1 2 图书管理系统简介 .2 2.1 背景.2 2.2 系统设计目的和内容.3 2.3 系统需求分析.3 3 ASP.NET 简介 .4 4 SQL SERVER 语言简介.6 4.1 图书基本信息管理.7 4.2 系统数据分析和设计 8 5 详细设计 11 5.1 需求分析 .11 5.2 系统功能主要模块设计图 .11 结论 .20 致谢 .21 参考文献 .22 1 1 1 引言引言 一直以来人们使用传统的人工方式管理图书管的日常工作,对于图书管的借书和还 书过程,想必大家都很熟悉。在计算机尚未在图书管广泛使用之前,借书和还书过程主 要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作 人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏 里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时, 读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填 好相应的还书信息,这样还书过程就完成了。 以上所描述的手工过程的不足之处显而易见。首先,处理借书还书的业务流程的效 率很低;其次,处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计 算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借 书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选 书和看书上。 为方便对图书管书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高 图书管的管理效率。使用该程序之后,管理人员可以查询某位读者图书的借阅情况。 本次毕业设计 “图书借管理系统”主要是利用.NET 技术编制的一个管理软件,用以 实现图书、借阅者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一 个完整论证。 图书借阅管理系统是一种基于集中统一规划的数据管理新模式。在对图书、读者的 管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统 提供极大的帮助。 目前,在大多数图书管理中,查找图书都是采用传统的查询方法,让读者在图书分 类架上一本一本地去查找,这样不仅很难找到自己所需要的图书,且费时费力。而图书 管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个一个去 查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理 员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库 后要经历较长的时间方能借出。 为提高图书查询效率,减少图书管理员的工作负担,有必要开发一个小型图书管理 软件来对图书实施有效管理。该系统必须具备以下功能: 1能对各类图书实行分类管理; 2 2提供必要的读者信息; 3能进行各种高级查询(如图书分类,图书编号的查询等) ; 这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而 且能让图书管理员以最高的效率办理借阅手续。 设计目标: 针对以上情况,决定构建一个图书借阅管理系统,要求该系统登录后实行图书管理。 包括可以对图书的查询、图书的借阅或还书手续,另外,图书管理员能根据需要通过该 系统修改图书信息,增加或删除图书书目等。该系统设有超级用户,当管理员以超级用 户登录时,图书管理员有着最大的权限,能通过管理界面设置图书借阅期限和读者信息, 并能有效地管理图书分类、读者信息及图书管理员的登录帐目等。 系统设计原则: 实用性原则 适合于中小型图书管图书管理,用户界面友好,操作方便,具有高效的 数据处理能力。 规范性原则设计过程严格按照“软件工程”的规定,系统编码、文档。 系统开发语言简介: 本系统开发采用了 2.0 、SQL Server 2000。 2 2 图书管理系统简介图书管理系统简介 2.1 背景背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被 广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使 用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理 与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理 好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数 据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管 理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工 处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往 往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、 手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。 3 总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于 信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本 环境。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式 对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复 杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作 人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资 料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加 困难了。 基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系 统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准 确、有效的查询和修改图书情况。 2.2 系统设计目的和内容系统设计目的和内容 图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户 的借还信息。提高图书馆的工作效率,降低管理成本。其开发主要包括后台数据库的建 立和维护,以及前端应用程序的开发。前者要求建立起数据一致性各完整性强、数据安 全性好的数据库。而后者则要求应用程序具有功能完备、易用等特点。因此本系统结合 开放式图书馆的要求,采用.NET 技术与 SQL SERVER 2000 数据库进行系统的开发。 2.3 系统需求分析系统需求分析 图书管理者的需求是查询图书馆所存的图书、借阅者的借阅情况及个人信息的修改; 图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书查询给 借阅者查看确认,可直接查看图书馆图书情况。图书借阅者、图书进行管理和维护,及 系统状态的查看、维护。 图书馆工作人员有修改图书借阅者借书和还书记录的权限,在此模块中,图书馆工 作人员可以为图书借阅者加入借书记录或是还书记录。 4 2.4 系统功能详细模块设计图系统功能详细模块设计图 图 2-1 流程图 3 3 ASP.NETASP.NET 简介简介 ASP.NET 是统一的 Web 应用程序平台,它提供了为建立和部署企业级 Web 应用程 序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、 更稳定的应用程序提供了新的编程模型和基础结构。 ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共语言运行库, 它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含 .NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。 ASP.NET 提供了下面的优点: 可管理性: ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务 器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地 管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用 系统登录 首页 系统设置 读者管理 图书管理 图书借还 更改口令 系统查询 退出系统 借阅排行榜 图书馆信息 读者类型管理 读者档案管理 图书类型管理 图书档案管理 图书借阅 图书续借 图书归还 图书档案查询 图书借阅查询 书架设置 管理员设置 5 程序。详细信息,请参阅 ASP.NET 配置。 安全: ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可 以根据应用程序的需要很容易地添加、删除或替换这些方案。详细信息。 易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部 署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不 需要重新启动。 增强的性能:ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓 存服务来提高性能。 灵活的输出缓存:根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或 整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行 刷新。 国际化:ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计算机、每 个目录和每页配置国际化设置。 移动设备支持:ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统 的桌面浏览器相同的编程技术来处理新的移动设备。 扩展性和可用性:ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、 多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和 管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理 请求。 跟踪和调试:ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试 过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信 息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具 进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不 会影响性能。 与 .NET Framework 集成:因为 ASP.NET 是 .NET Framework 的一部分,整个平台 的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以 及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适 于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。 与现有 ASP 应用程序的兼容性:ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上而互 6 不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅 处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来 处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间 共享。 ASP.NET 启用了分布式应用程序的两个功能:Web 窗体和 XML Web 服务。相同的配置和 调试基本结构支持这两种功能。 Web 窗体技术使您建立强大的基于窗体的网页。Web 窗体页面使用可重复使用的内 建组件或自定义组件以简化页面中的代码。 使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务, 商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序 获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准 (如 XML 消息处理和 HTTP) ,XML Web 服务可启用数据交换。以任何语言编写的且运行 在任何操作系统上的程序都能调用 XML Web 服务。 ASP.NET 又叫 ASP+,但并不仅仅是 ASP 的简单升级,而是 MicroSoft 推出的新一代 Active Server Pages 脚本语言。ASP.NET 是微软发展的新型体系结构.NET 的一部分,它 的全新技术架构会让每一个人的网络生活都变得更简单。 首先需要特别指出的是,ASP.NET 不仅仅只是有了一个新界面并且修复了一些缺陷的 ASP3.0 的升级版本(即不同于 ASP2.0 升级到 ASP3.0 的转变)。更为重要的是,ASP.NET 吸收了 ASP 以前版本的最大优点并参照 Java、VB 语言的开发优势加入了许多新的特色, 同时也修正了以前的 ASP 版本的运行错误。 要了解 ASP.NET 的真实面目,我们首先就得了解一下微软.NET 战略。 4 4 SQLSQL ServerServer 语言简介语言简介 SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。 SQL 通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL 是关系数据库管理 系统的标准语言。SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数 据,或者从数据库中检索数据。使用 SQL 的常见关系数据库管理系统有: Oracle、Sybase、 Microsoft SQL Server、 Access、Ingres 等等。虽然绝大多数的数 据库系统使用 SQL,但是它们同样有有别于其他的专有扩展功能用于它们的系统。但是, 标准的 SQL 命令,比如“Select“、“Insert“、 “Update“、 “Delete“、 “Create“和 “Drop“常常被用于完成绝大多数数据库的操作。SQL 功能强大,是一种完备的数据处理语 7 言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分 成以下几组: 1.DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据; 2.DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比 如创建、修改或者删除数据库对象; 3.DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。 4.DML 组可以细分为以下的几个语句: 5.SELECT:用于检索数据; 6.INSERT:用于增加数据到数据库; 7.UPDATE:用于从数据库中修改现存的数据; 8.DELETE:用于从数据库中删除数据; 9.DDL 语句可以用于创建用户和重建数据库对象。 下面是 DDL 命令: CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX。 4.1 图书基本信息管理图书基本信息管理 4.1.1 图书新旧进出管理 1新书入库 图书采购人员按照每年的采购计划进行购书(不在本系统考虑范围) ,图书购入后由 图书管理人员将图书按类别分类后录入数据库。 2图书出库 某一部分图书会随着时间的增长及知识的更新而变得不再有收藏的价值,或者图书 被损坏、丢失,这些图书就要在图书库中除去,即从图书库中删除此图书记录。 3新书编码 图书入库后,系统会自动生成编码,然后把编码贴到相应的图书上,以便以后提供 借阅,本系统不涉及到条形码阅读器,只是假定此过程已经生成条形码。编码只是将条 形码帖于书上以唯一标识图书。 4图书信息修改 图书信息由于工作人员的疏忽,而出现错误,可以修改其信息。 4.1.2 图书流通管理 1图书借阅 8 主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书 记录,该记录包括读者 ID、图书 ID、借出日期。 2图书归还 主要功能是输入读者 ID、图书 ID,将借书记录删除,将该记录的相应数据更新到历 史记录中。 3注销借阅证 输入读者 ID,依据输入读者的 ID 删除读者表中的读者记录。 4.1.3 统计查询 1图书查询 主要功能是录入图书的相关信息精确查询或模糊查询。 2借阅查询 主要功能是录入读者 ID 对当前已经借阅的图借阅信息查询。 4.1.4 系统管理 1添加管理员 主要功能是向系统中添加管理员。 2修改密码 主要功能用于用户密码的更改。 4.2 系统数据分析和设计系统数据分析和设计 通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、工作人 员。读者:读者编号、姓名、性别、读者种类、证件类型、证件号码、电话、邮箱、备 注。图书:图书编号、图书名称、图书种类、存放书架、出版社、作者、价格、库存量。 管理人员:员工账号、登陆密码。 其用到的表情况见下图: 1. 图书库表(bookInfo) 9 图 4-1 图书库表 bookInfo 表是用来存放图书的,如管理员要对书库中的图书做一些调整可以通过修 改 bookInfo 表达到。 2.读者信息表(readerInfo) 图 4-2 读者信息表 readerInfo 表是用来存放用户信息的表,管理员能通过对 readerInfo 表的操作知道 某用户的具体信息。 3.图书借阅记录表(bookBorrow) 图 4-3 图书借阅记录表 10 bookBorrow 表用来存放用户借书的记录,用户每借一次书,系统就自己在 bookBorrow 表中添加一条记录,从而保证了书的出处有据可依。 4.管理员表(userInfo) 图 4-4 管理员表 该表是存放管理员的账号和密码,使得系统拥有对系统的登陆安全性。 5.书架表(bookcase) 图 4-5 书架表 Bookcase 表是存放书架的信息。 6.图书种类表(bookType) 图 4-6 图书种类表 bookType 表是用来存放图书分类,使得图书更好的查找与分类。 7.图书管信息表 (library) 11 图 4-7 图书管信息表 该表是用来存储改图书系统的信息,对系统的版权和基本信息修改。 8.用户权限表(Powrer) 图 4-8 用户权限表 Powrer 表是用来存放管理员的权限,管理员可以对用户进行权限的管理,包括对系 统设置、读者管理、图书管理、图书借还、系统查询。 9.读者类型表(readType) 图 4-9 读者类型表 readType 表是存放借阅者的类型,管理员可以对用户进行分类,管理员可以修改该 12 表来实现对读者类型的添加、修改。 5 5 详细设计详细设计 5.1 需求分析需求分析 图书管理系统需要满足来自两方面的需求,这两个方面分别是图书借阅者、图书馆 管理人员。图书借阅者的需求借阅图书管图书;图书馆管理人员的功能对图书借阅者的 借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认,包括对图书借 阅者、图书进行管理和维护,及系统状态的查看、维护。 5.2 系统功能主要模块设计图系统功能主要模块设计图 5.2.1 登入主页(Default.aspx) 登陆后将进入主界面,该页面显示图书的借阅排行榜。 图 5-1 主界面 5.2.2 管理员设置(Users.aspx) 对管理员账号的权限设置,包括对系统设置、图书借还、读者管理、系统查询、图 书管理。在对应的前面打上勾该用户就有对相应的页面进行设置修改。 13 图 5-2 用户权限设置 5.2.3 书架设置(bookCase.aspx) 通过对表(bookcase)表来读入,实现对书架的添加。有了对书架的设置就可以更好 的对图书的管理以及对后面的图书查询功能做准备。 5.2.4 读者类型管理(readType.aspx) 读者类型添加是对读者一种借阅的权限管理,可以设置对每种读者级别的借阅最大图 书量设置,比如老师可以借阅 10 本图书,学生可以借阅 5 本图书。改功能主要是通过表 (readType)进行添加。 图 5-3 读者类型管理 5.2.5 读者档案管理(readerInfo.aspx) 该模块是对借阅者的用户添加,里面的条形码是系统自动生成的,条形码是由系统时 间转换成的这是系统唯一识别借阅者的身份,里面包括读者姓名、性别、读者类型、证 件类型、证件号码、联系方式等。 14 图 5-4 读者档案管理 5.2.6 图书类型设置(bookType.aspx) 通过对表(bookType)数据读入来实现对图书类型的添加。 图 5-5 图书类型设置 5.2.7 图书档案管理(bookInfoManage.aspx) 添加图书 主要功能是输入图书的各项信息,将图书的各项信息写入到数据库中的图书表中, 该记录包括图书编号、图书名称、图书类型、出版社、图书价格、存放书架等等。 为了保证图书信息量的完整性,所以每个图书管必需时时引入新书,系统的新书入库 这一环节必不可少,系统通过管理员对页面输入的图书信息,自动转化为数据库所识别 15 的数据,并写进数据库内的图书表中储存起来。 图 5-6 添加图书 该功能的条形码是通过时间的转换自动生成图书的条形码,这样就可以省去输入条形 码的麻烦。而图书类型通过数据表(bookType)来读取,通过下拉菜单来选择图书类型。 书架也是像图书类型一样的方法来实现。这样就可以对图书的添加。 5.2.8 图书借还(bookBorrow.aspx) 以下这段代码用来获取读者信息,在数据库里把读者的条形码设为主键,通过读者 条形码来读取读者的信息。如果条形码输入错误将提示“读者条形码输入错误!” string readerBarCode = txtReaderBarCode.Text; /获取读者条形码 /创建SQL语句在读者信息表中查询符合读者条形码条件的记录 string readerSql = “select * from readerInfo where readerBarCode=“ + readerBarCode + “; Link lk = new Link(); SqlDataReader sdr = lk.getRow(readerSql); /获取该读者详细信息 if (sdr.Read() /读取一条记录 txtReaderName.Text = sdr“readerName“.ToString(); /显示读者姓名 16 txtReaderSex.Text = sdr“Sex“.ToString(); /显示读者性别 txtCertificateType.Text = sdr“certificateType“.ToString();/显示证件类型 txtCertificate.Text = sdr“certificate“.ToString(); /显示证件号 /创建SQL语句在读者类型表中查询符合读者类型编号的记录 string readerTypeSql = “select * from readType where id=“ + sdr“readerType“.ToString(); Link l = new Link(); SqlDataReader typeSdr = l.getRow(readerTypeSql); /获取读者类型信息 typeSdr.Read(); /读取一条记录 txtReaderType.Text = typeSdr“type“.ToString(); /显示读者类型 int borrowNum = Convert.ToInt32(typeSdr“num“); /获取可借图书总数 /创建SQL语句在图书借阅表中查询符合读者条形码条件的读者借了几本图书(图书未还的) string selSql = “select count(*) from bookBorrow where readerBarCode=“ + readerBarCode + “ and isReturn =0“; int alreadyNum = Link.ExecuteNonQuery1(selSql); /获取图书已借 数 txtNum.Text = Convert.ToString(borrowNum - alreadyNum); /显示可以借阅数 isSum = 1; else RegisterStartupScript(“, “alert(读者条形码输入错误!) “); 图书借阅: 主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书 记录,该记录包括读者 ID、图书 ID、借出日期、还书期限。 用户借阅图书的时候,系统从页面接收到读者的借阅证号和图书的编号,系统根据从 页面中得到的参数从数据库中提取出读者需要的目标图书,并且将读者的借书记录写到数 据库中的读者借书信息表中。同样在页面中用文本框接收输入的信息。 以下这段代码用来获取图书信息,先输入图书条形码来读取图书信息,然后判断读 者借阅是否超借了。如果借阅数已满将提示“借阅数量已满!不可以再借阅” 。 17 protected void btnBookSearch_Click(object sender, EventArgs e) if (isSum 0) if (Convert.ToInt32(txtNum.Text.Trim() 0) /判断读者是否还可以借书 if (txtBookBarCode.Text.Trim() != “) /判断图书条形码是否为空 string bookBarCode = txtBookBarCode.Text; /获取图书条形码 /创建SQL语句在图书信息表中查询符合图书条形码条件的记录 string sql = “select * from bookInfo where bookBarCode=“ + bookBarCode + “; Link k=new Link(); DataSet ds = k.GetDs(sql, “bookInfo“); if (ds.Tables“bookInfo“.DefaultView.Count 0) gvBookBorrow.DataSource = ds.Tables“bookInfo“.DefaultView; /获取数据源 gvBookBorrow.DataKeyNames = new string “bookBarCode“ ; /设置主键 gvBookBorrow.DataBind(); /绑定GridView控件 else RegisterStartupScript(“, “alert(图书条形码错误!) “); else RegisterStartupScript(“, “alert(图书条形码不能为空) “); else RegisterStartupScript(“, “alert(借阅数量已满!不可以再借阅) “); else RegisterStartupScript(“, “alert(请先输入正确的读者条形码!) “); protected void gvBookBorrow_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) /设置图书类型 string bookType = e.Row.Cells1.Text.ToString(); /获取图书类型编号 /创建SQL语句在图书类型表中查询符合图书类型编号条件的记录 string typeSql = “select * from bookType where TypeID=“ + bookType; Link lk = new Link(); SqlDataReader typeSdr = lk.getRow(typeSql); typeSdr.Read(); /读取一条记录 e.Row.Cells1.Text = typeSdr“typeName“.ToString(); /显示图书类型 e.Row.Cells5.Text = typeSdr“borrowDay“.ToString(); /显示图书可借天 数 protected void gvBookBorrow_SelectedIndexChanging(object sender, 18 GridViewSelectEventArgs e) /获取选中图书条形码 string bookBarCode = gvBookBorrow.DataKeyse.NewSelectedIndex.Value.ToString(); /创建SQL语句使用内联接连接条件为图书类型编号,查询条件为符合图书条形码的记录 string sql = “select * from bookInfo as a inner join bookType as b on a.bookType=typeID where a.bookBarCode=“ + bookBarCode + “; Link lk = new Link(); SqlDataReader sdr = lk.getRow(sql); /获取图书信息 sdr.Read(); /读取一条记录 int borrowDay = Convert.ToInt32(sdr“borrowDay“); /获取借阅天数 string bookName = sdr“bookName“.ToString(); /获取图书名称 string borrowTime = DateTime.Now.Date.ToShortDateString(); /获取借阅日期 string readerBarCode = txtReaderBarCode.Text; /获取读者条形码 string returnTime = DateTime.Now.Date.AddDays(borrowDay).ToShortDateString(); string readerName = txtReaderName.Text; /获取读者姓名 /创建SQL语句将图书借阅信息添加到图书借阅信息表中 string addSql = “insert bookBorrow values(“ + bookBarCode + “,“ + bookName + “,“ + borrowTime + “,“ + returnTime + “,“ + readerBarCode + “,“ + readerName + “,)“; Link l = new Link(); if (l.ExeSQL(addSql) /判断是否添加成功 /创建SQL更新图书信息表中符合图书条形码条件记录的借阅数 string updateSql = “update bookInfo set borrowSum=borrowSum+1 where bookBarCode=“ + bookBarCode + “; Link k = new Link(); k.ExeSQL(updateSql); bindReaderInfo(); /重新绑定读者信息 gvBookBorrow.DataSource = null; /将数据源设置为空 gvBookBorrow.DataBind(); txtBookBarCode.Text = “; /将图书条形码文本框清空 RegisterStartupScript(“, “alert(借阅成功!)“); else RegisterStartupScript(“, “alert(借阅失败!)“); 5.2.9 图书续借(bookRenewal.aspx) 图书续借的代码也跟图书借阅大致相同,通过借阅者的条形码来读取图书的借阅情况, 通过对数据库的数据调出来实现图书的续借。 5.2.10 图书归还(bookReturn.aspx) 还书处理: 主要功能是输入借阅证编号、图书 ID,在借阅登记表中找到相应的记录,将该记录 19 的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。 图书归还也是通过读取读者的条形码来读取读者的信息,然后再通过读取图书的条 形码来对该读者的还书管理。 5.2.11 图书档案查询(bookInfoSearch.aspx) 图 5-7 图书档案查询 图书档案查询就是对系统里的图书库存进行搜索查询,通过这样来实现对具体的图书 详情查看。该功能主要用到对图书的多分类查询,可以通过图书的条形码、书名、图书 类型、出版社、作者等进行查询。 搜索功能的关键代码如下: protected void btnSearch_Click(object sender, EventArgs e) /查找搜索的图书信息 string Condition = ddlCondition.Text; string key = “; if (ddlBookType.Visible) key = ddlBookType.SelectedValue; else key = txtKey.Text; sql = “select * from bookInfo where “ + Condition + “ like %“ + key + “%“; 20 bindBookInfo(sql); txtKey.Text = “; public void bindBookInfo(string sql) Link lk = new Link(); gvBookInfo.DataSource = lk.GetDs(sql); gvBookInfo.DataBind(); /绑定显示图书类型和书架 protected void gvBookInfo_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) /设置图书类型 string bookType = e.Row.Cells2.Text.ToString(); /获取图书类型编号 string typeSql = “select * from bookType where TypeID=“ + bookType; Link lk = new Link(); SqlDataReader typeSdr = lk.getRow(typeSql); typeSdr.Read(); /读取一条记录 e.Row.Cells2.Text = typeSdr“typeName“.ToString(); /设置书架 string bookcase = e.Row.Cells3.Text.ToString(); /获取书架编号 string caseSql = “select * from bookcase where bookcaseID=“ + bookcase; Link l = new Link(); SqlDataReader case

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论