




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书馆管理系统摘 要随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合开入式图书馆的要求,对SQL Server数据库、SQL语言原理、Visual B应用程序设计,数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、操做员(user)、图书馆工作人员(osa)和高级管理员(admini)三方面的需要。关键词:SQL语言;数据库组件;图书管理;窗体AbstractAlong with the technical advance in modern science, mankind society head for gradually the information turns, the library owns the abundant cultural heritage information resources, using the importance of the social system to constitute the part, in information society the function is more and more important, our country technical and applied start in information in etc. in calculator in library in 20 centuries 70s last phase, is liberal to develop quickly along with the step that reform, especially 90s hereafter, our country library information network developments obtained the big development library information turns developments headed into a new step.The book management system is a typical information management system (MIS), its development mainly includes the application procedure of establishment and maintenance and head of backstage database to develop two aspects. Start to build up the data consistency and the integrity to the former request strong, the data safety good database .But then request applying procedure function is complete to the latter, easy usage etc. characteristics. So oneself combine to open into the request of type library, apply program design to the SQL server databaseVisual Bdatabase technique carried on more thorough study and application, mainly completing the need to manage the system to book analysis, function mold piece divide the line, database mode analysis, and designed database structure from here and applied procedure. he system circulates a result certificate, the book designed by this text management the system can satisfy to borrow to read, hold to do a member(user), library of staff member(osa) and deluxe managing person(admini)s three aspects.Keywords: SQLlanguage; databasemodule; bookmanagement; win-dowbody.目录摘 要IAbstractII第一章 绪论11.1课题背景11.2 图书馆信息化管理1第2章 开发工具简介12.1 VB简介12.2 VB发展2第3章 图书馆管理系统需求分析33.1可行性分析33.2系统目标33.3基础信息维护33.4读者管理43.5 图书管理5第4章 图书馆管理系统数据库分析64.1 数据库64.1.1 用户数据64.1.2 元数据64.1.3 索引64.1.4 应用元数据74.2 创建数据库74.3 图书管理系统74.4图书馆管理系统E-R84.5 图书馆管理系统数据表清单9第5章 实例制作介绍105.1实例功能图书馆105.2 系统流程图11第6章 图书馆管理系统数据库设计126.1 创建数据库136.2 创建读者信息数据表136.3 创建图书信息数据表136.4 创建图书借阅数据表146.5 创建其他关键数据表156.6创建主键及外键等表的约束156.6 创建存储过程17第7章 程序开发207.1程序运行结果207.2 创建工程287.3创建系统主窗体287.4完成的读者类别设置功能287.5完成读者档案管理功能307.6完成图书类别功能317.7完成图书档案管理功能317.8完成图书征订功能327.9完成图书借阅功能337.10 完成图书归还功能347.11完成图书罚款功能357.12 编译并运行系统35结论36致谢37参考文献38附录39V第1章 绪论第一章 绪论1.1课题背景随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。1.2 图书馆信息化管理图书馆的信息化从最初的对图书馆业务管理实行信息化发展到对图书馆各个业务流程进行系统和网络话化管理,并建立大规模以个体文献目录联机查询为主的资源共享系统。进入21世纪,充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的计算机信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,既图书馆的图书期刊、音像资料等各种载体文献的采编、典藏、流通、检索及常规业务管理等工作,利用计算机技术,进行高效、准确的信息化管理。其根本目的是实现区域内及地区、国家、国家间的资源共享。要达到资源共享的目的,必须制定一定的标准,只有各个系统都遵循这些标准,不同的系统间才可以实现联机查询、资源共享的效果。第2章 开发工具简介2.1 VB简介Basic是指BASIC(Beginner All-purpose Symbolic Instruction Code初学者通用符号指令代码),具有面向普通使用者,易学易用的优点。它作为一个古老的程序设计语言对计算机的普及、推广起到了不可估量的作用。目前Basic语言可能拥有用户最多的计算机语言。Visual的英文原意是“可视的”“视觉的”。在这里指开发图形用户界面的方法,既“可视化程序设计”。这种方法不需要编写大量代码去描述界面的外观和位置,而只要把预先建立的控件,像使用的“画图”之类的绘图程序那样“画”到屏幕即可。2.2 VB发展Visual Basic 是 Microsoft公司与1991年推出的Windows 应用程序开发工具。Visual Basic 与传统的语言不同,它使用可视化、交互式的方法来开发Windows 下的应用程序,由于Visual Basic 的交互特性,因此可以一边运行着应用程序,一边进行界面的调整和程序代码的调试。通过这种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。自从 Visual Basic 5.0版之后,Microsoft 公司将OCX技术和其他的一些关键技术组合到了一起,制定出了新的技术规范,并且称之为ActiveX(TM)技术。ActiveX(TM)技术仍然遵从OLE2.0的规范,故而继续可以像原来的OLE应用那样使用其它应用程序提供的功能,例如Microsoft Word字处理器,Microsoft Excel电子数据表及其它Windows应用程序。甚至可直接使用VBP或VBE创建的应用程序和对象。Visual Basic 具有强大的数据库访问能力,在Visual Basic内部具有内嵌的DAO对象,在进行远程访问的时候,还可以使用RDO对象。Visual Basic在进行数据库对象编程时,是将数据库系统作为一个特殊的对象来进行处理的。利用ODBC,Visual Basic的数据库对象可以非常方便地访问无论是本地的还是远程的数据库。对于具有安全性设置的数据库系统,Visual Basic可以充分利3第2章 开发工具简介用其安全机制,对于有事务和日志的大型数据库系统,Visual Basic可以方便地实现分布式的数据库处理,例如数据访问的并发问题、批量数据的更新的恢复等问题。51第3章 图书馆管理系统需求分析第3章 图书馆管理系统需求分析3.1可行性分析 1.技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的Delphi Powersoft公司的PowerBuliderJava等等,这些大大提高了数据库应用软件开发的效率。2.经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,将会给该企业带来前所未有的方便和快捷,减少不必要的中间环节以及不必要的开支,而且可以给其带来更大的利润。总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。3.管理可行性随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。4.开发环境可行性采用Visual Basic开发工具。它首先是一个开放的协作式系统之外,可以和多种PC产品集成,并可以通过专用接口或ODBC接口连接许多比较常用的数据库。其次它具有可视化的开发环境,使代码的编写更为直观,并且在可视化环境下的调试和维护也相对容易。再次它随身携带的Sybase SQL Anywhere本身就是个功能强大的DBMS,对小型应用来说,直接使用这个数据库就是个质优价廉的选择。而为方便用户界面的开发,Visual Basic提供了大量控件,这既丰富了应用程序的表达能力,也加快了项目的开发速度。同时,它拥有多平台的开发环境,如果要把一个平台上开发的代码移植到另外一个平台上,只要重新编译就可以了。3.2系统目标我们一般设计系统都要完成以下的几个要求,以便于用户进行操作,这样才能使系统易学易用。其中应该合理的设计数据库,设计出友好的界面,实现基本功能和一些特殊功能的操作。3.3基础信息维护“基础信息维护”用于对图书馆信息、书籍信息、常用词库等项目进行初始化设置,这些设置一般不轻易改动,包含的功能模块如图3-2所示。“图书馆信息”用于设置本图书馆的基础信息,包括图书馆名称、馆长、负责人、电话、说明等。“系统参数设置”用于设置系统运行所需的参数,包括办证费用、证件有效期、图书超期罚款金额、期刊超期罚款金额等。基础信息维护图书馆信息系统参数设置书架设置管理员设置图书期刊词库图3-2 基础信息维护功能模块“书架设置”用于设置书架的基础信息,内容包括书架编号、书架名称等。“管理员设置”用于设置使用的人员及权限。“图书期刊词库设置”用于设置系统常用的词库,内容包括供应商、分级、附件、尺寸、语系、印刷等信息的预先设定数值。3.4读者管理“读者管理“用于管理读者相关的信息,包括的功能模块如图3-3所示。读者管理读者类型设置读者档案设置借书证挂失与恢复过期续证管理读者档案词库设置图3-3 读者管理功能模块“读者类型设置”用于设置读者的类型及相关的信息,内容包括类型、图书册数、期刊册数、续借次数、限制图书、限制期刊等。“读者档案管理”用于设置读者相关的信息,内容包括编号、条形码、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、图书借阅次数、期刊借阅次数、是否挂失等。“借书证挂失与恢复”用于挂失和恢复读者的借书证,挂失后该编号的读者不能在借书。“过期续证管理”用于延续已过期的借书证。“读者档案词库设置”用于设置读者档案常用的词库。3.5 图书管理“图书管理”用于管理图书相关的信息,包含的功能模块入图3-4所示。“图书类型设置”用于设置图书的类型及相关的信息,内容包括类型名称,可借天数等。“出版社管理”用于设置图书所属出版社的基础信息,内容包括出版社编号,ISBN、出版社名称等。图书管理图书类型设置出版社管理图书档案管理图书注销图书征订图书验收图书盘点图3-4 图书管理功能模块“图书档案管理”用于设置图书相关的信息,内容包括编号、条形码、书名、类型、作者、译者、ISBN、出版社、价格、页码、书架名称、现存量、库存总量、入库时间、操作员、简介、借出次数、是否注销等。“图书注销”用于注销、报废图书,将图书档案的“是否注销”字段设置为1,被注销的图书不可以再借出。“图书征订”用于订购新书,内容包括征订编号、书名、类型、ISBN、出版社、作者、译者、订购者、订购者联系方式、订购数量、订购单价、订购日期、是否验收、实际数量、实际金额、验收日期、操作员等。“图书验收”用于征订的图书到货后验收,增加图书的库存。“图书盘点”打印图书的在库清单供盘点使用。 第4章 图书馆管理系统数据库分析4.1 数据库数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。4.1.1 用户数据目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。4.1.2 元数据数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述也存储索引、关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。4.1.3 索引第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。第4章 书馆管理系统数据库分析4.1.4 应用元数据存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过DBMS中的工具来处理这些数据。4.2 创建数据库数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序DBMS都应该拒绝。遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。4.3 图书管理系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。4.4图书馆管理系统E-R 因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一列举。图4-1为图书馆管理系统关键实体的E-R 图。其他实体与基本信息表间的对应关系都是类似的。图4-1 系统E-R图4.5 图书馆管理系统数据表清单 下面我们仅列出一些重要表的名称及其用途供参考。如表4-1所示。其中每张表所包含的字段读者可以自己查看建库脚本和前面的需求分析。表4-1 图书馆管理系统数据表清单数据表名称数据表用途出版社保存图书对应出版社的基础信息读者类型保存读者类型及相关信息读者信息保存读者的各种信息供应商保存图书供应商信息管理员保存用户信息期刊丢失保存期刊丢失记录期刊罚款保存期刊罚款记录期刊归还保存期刊归还记录期刊借阅保存期刊借阅记录期刊类型保存期刊类型及相关信息期刊信息保存期刊信息期刊征订保存期刊征订入库记录期刊注销保存期刊注销记录书架保存馆内数据的基础信息图书丢失保存图书丢失记录图书罚款保存图书罚款记录图书馆保存图书馆的基础信息图书归还保存图书归还记录图书借阅保存图书借阅记录图书类型保存图书类型及相关信息图书信息保存图书信息图书征订保存图书征订入库记录图书注销保存图书注销记录文献尺寸保存文献的尺寸基础信息文献等级保存文献的等级基础信息文献附件保存文献的附件基础信息文献印刷保存文献的印刷基础信息文献语系保存文献的语系基础信息第5章 实例制作介绍第5章 实例制作介绍基于以上需求分析和数据分析,对于一个标准的图书馆管理系统应该有了一个全面的认识。下面我们将实例说明如何利用Microsoft VisualB完成系统的开发。5.1实例功能图书馆需要强调的是,由于用户登录和权限管理的功能各个系统实现的方法是一致的,详细介绍的功能模块如图5-1所示图5-1 详细介绍的功能模图书馆管理系统读者管理图书管理图书流通管理读者类别设置读者档案管理图书类别设置图书档案管理图书征订图书借阅图书归还逾期清单图书罚款第5章 实例制作介绍5.2 系统流程图 系统流程图如图5-2所示。读者管理管理员图书管理读者信息流通管理图书信息图书借阅图书归还图书征订预约读借罚款管理图5-2 系统流程图第6章 图书馆管理系统数据库设计第6章 图书馆管理系统数据库设计读者信息和图书信息是系统关键的表,其他各表均通过“编号“字段与之相对应进行多对一的关联。系统共需要8张表,用途分别如表6-1所示。表6-1 数据库表及其用途数据表名称数据表用途读者类型保存读者类型及其相关信息读者信息保存读者的各种信息图书类型保存图书类型及其相关信息图书信息保存图书信息书架保存图书馆内数据的基础信息出版社保存图书对应出版社的基础信息图书罚款保存图书罚款记录图书归还保存图书归还记录图书借阅保存图书借阅记录图书征订保存图书征订入库记录6.1 创建数据库打开SQL server企业管理器,新建一个数据库,名称为libbook。完成数据库的设计。6.2 创建读者信息数据表创建读者信息数据表的 sql脚本如下:CREATE TABLE dbo.读者信息 (条形码 varchar (40) NULL ,编号 varchar (20) NOT NULL ,姓名 varchar (20) NULL ,性别 varchar (8) NULL ,类型 varchar (20) NOT NULL ,出生日期 smalldatetime NULL ,有效证件 varchar (60) NULL ,证件号码 varchar (60) NULL ,联系方式 varchar (100) NULL ,登记日期 smalldatetime NULL ,有限期至 smalldatetime NULL ,操作员 varchar (20) NULL ,备注 varchar (100) NULL ,图书借阅次数 int NULL ,期刊借阅次数 int NULL ,是否挂失 bit NULL ) ON PRIMARYGO6.3 创建图书信息数据表创建图书信息数据表的SQL脚本如下:CREATE TABLE dbo.图书信息 (条形码 varchar (40) NULL ,编号 varchar (50) NOT NULL ,书名 varchar (200) NULL ,类型 varchar (100) NULL ,作者 varchar (100) NULL ,译者 varchar (100) NULL ,ISBN varchar (40) NULL ,出版社 varchar (100) NULL ,价格 money NULL ,页码 int NULL ,书架名称 varchar (200) NULL ,现存量 int NULL ,库存总量 int NULL ,入库时间 smalldatetime NULL ,操作员 varchar (20) NULL ,简介 varchar (100) NULL ,借出次数 int NULL ,是否注销 bit NOT NULL ) ON PRIMARYGO6.4 创建图书借阅数据表创建“图书借阅数据表的SQL脚本如下:CREATE TABLE dbo.图书借阅 (借阅编号 int IDENTITY (1, 1) NOT NULL ,图书编号 varchar (50) NULL ,读者编号 varchar (40) NULL ,借阅时间 smalldatetime NULL ,应还时间 smalldatetime NULL ,续借次数 int NULL ,操作员 varchar (20) NULL ,状态 varchar (10) NULL ) ON PRIMARYGO6.5 创建其他关键数据表以下是其他数据表的创建脚本:CREATE TABLE dbo.图书归还 (归还编号 int IDENTITY (1, 1) NOT NULL ,图书编号 varchar (50) NULL ,读者编号 varchar (40) NULL ,退还押金 money NULL ,归还时间 smalldatetime NULL ,操作员 varchar (20) NULL ,确定归还 bit NULL ) ON PRIMARYGOCREATE TABLE dbo.图书征订 (征订编号 varchar (50) NOT NULL ,图书编号 varchar (50) NOT NULL ,订购者 varchar (100) NULL ,订购者联系方式 varchar (100) NULL ,订购数量 int NULL ,订购单价 money NULL ,订购日期 smalldatetime NULL ,是否验收 bit NULL ,验收日期 smalldatetime NULL ,操作员 varchar (20) NULL ) ON PRIMARYGO6.6创建主键及外键等表的约束在查询分析器中通过如下代码创建数据表的主键及外键等约束。ALTER TABLE dbo.图书信息 WITH NOCHECK ADD CONSTRAINT PK_图书信息 PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.图书借阅 WITH NOCHECK ADD CONSTRAINT PK_图书借阅 PRIMARY KEY CLUSTERED (借阅编号) ON PRIMARY GOALTER TABLE dbo.图书归还 WITH NOCHECK ADD CONSTRAINT PK_图书归还 PRIMARY KEY CLUSTERED (归还编号) ON PRIMARY GOALTER TABLE dbo.图书征订 WITH NOCHECK ADD CONSTRAINT PK_图书征订 PRIMARY KEY CLUSTERED (征订编号) ON PRIMARY GOALTER TABLE dbo.图书注销 WITH NOCHECK ADD CONSTRAINT PK_图书注销 PRIMARY KEY CLUSTERED (注销编号) ON PRIMARY GOALTER TABLE dbo.图书类型 WITH NOCHECK ADD CONSTRAINT PK_图书类型 PRIMARY KEY CLUSTERED (类型编号) ON PRIMARY GOALTER TABLE dbo.图书罚款 WITH NOCHECK ADD CONSTRAINT PK_图书罚款 PRIMARY KEY CLUSTERED (罚款编号) ON PRIMARY GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GO6.6 创建存储过程系统使用了“sl_图书征订”,“sf_图书借阅”,“sf_图书归还”三个存储过程,实现的功能分别为征订图书入库、借阅图书出库和归还图书入库,产生罚款信息等功能。具体计算方法在下面的脚本中有详细的注释。create proc sf_图书借阅asbegin tran-借书出库,减少图书库存量update 图书信息 set 现存量 = isnull(现存量,0) - 1from 图书信息 as a, 图书借阅 as bwhere a.编号=b.图书编号 and b.状态=新借-设置借阅状态update 图书借阅 set 续借次数=0,状态=未还where 状态=新借commitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOcreate proc sf_图书归还 借阅编号 int, 罚款金额 moneyasbegin tran-借书出库,减少图书库存量update 图书信息 set 现存量 = isnull(现存量,0) + 1from 图书信息 as a, 图书借阅 as bwhere a.编号=b.图书编号 and b.借阅编号=借阅编号- 如果罚金不是0, 在 图书罚款 中产生记录if 罚款金额 0insert into 图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)select 图书编号,读者编号,getdate(), 罚款金额, 0from 图书借阅 where 借阅编号=借阅编号- 插入图书归还表insert into 图书归还(图书编号,读者编号,归还时间)select 图书编号,读者编号,getdate()from 图书借阅 where 借阅编号=借阅编号-设置借阅状态update 图书借阅 set 状态=已还 where 借阅编号=借阅编号commitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOcreate proc sf_图书征订asbegin tran-验收入库,增加图书库存量update 图书信息 set 库存总量 = isnull(库存总量,0) + b.订购数量, 现存量 = isnull(现存量,0) + b.订购数量, 入库时间 = b.验收日期图书信息 as a, 图书征订 as bwhere a.编号=b.图书编号 and b.是否验收=0-设置图书征订记录的标志,标志为已验收update 图书征订 set 验收日期=getdate(), 是否验收=1where 是否验收=0commitGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO第7章 程序开发程序结构仍然为MDI 模式,这种开发模式结构清楚简单,容易理解,每一个功能对应一个窗体7.1程序运行结果本程序运行后的效果如图7-1所示。选择主窗体上的菜单中的读者管理菜单选项可以进入读者类别设置和读者档案管理功能窗体,选择图书管理菜单选项可以进入图书类别设置和图书档案管理功能窗体,而选择流通管理菜单选项可以进入图书征订,图书借阅和图书归还等子窗体。图7-1 实例运行效果第7章 程序开发1.选择读者管理读者类别设置菜单命令,进入读者类别设置功能窗体,在其中管理读者的类别信息,如图7-2所示。该表中显示的是读者的各个类别的类别名称,可以借阅的图书册数和期刊册数,续借次数,以及是否有借阅限制的图书与期刊。这和我们在实际中遇到的图书馆的管理制度是非常类似的。需要添加新的读者类别或者是修改原有读者的信息只须单击工具栏上的新增按钮或修改按钮即可。单击删除按钮并选确定按钮,即可删除某条记录。在插入新信息或修改原有记录时,选中限制期刊复选框表示允许读者拥有对限制期刊的使用权,选中限制图书复选框表示允许该类别读者拥有对限制图书的使用权。图7-2 读者类型设置功能窗体2.在完成对读者类别的设置后,选择读者管理读者档案管理菜单命令,即可进入读者档案管理子窗体,该窗体主要完成对各个读者基本信息的设定,如下图7-3所示。图7-3 读者档案管理功能窗体该模块可以根据条形码,编号和姓名对读者的基本信息进行查询,并可以对读者的信息进行修改,添加等操作。在编辑状态下,可以从窗体下方的面板中修改读者的饿一些信息。3.单击类型下拉列表框,可以从中更改读者的类别,这些类别信息都是在窗体显示时从数据库中动态查询并添加到列表中的。在单击工具栏中的新增按钮后,软件会根据当前数据中的读者的编号情况自动生成一个4位的新编号,以免编号重复,此时即可编辑要新增的读者的信息,需要注意的是,该编号并不显示在窗体中,而是自动保存在数据表中,该功能和SQL server数据表的自动增量选项有关。4.在设置好读者的信息之后,就可以开始对图书的类别和信息进行管理。选择图书管理图书类别设置菜单命令,就可以进入图书类别设置功能窗体,该窗体的基本功能和读者类别设置窗体类似,只不过设置的是图书的类别信息。如下图7.4所示。图7-4 图书类别设置功能窗体5.选择图书管理图书信息管理菜单命令,则可以进入图书信息的设置和管理窗口,见图7-5,在这个窗口中,可以对图书馆所藏有的所有图书的信息进行管理。如下图所示,在对图书信息进行修改时,在类型,出版社和书架名称三个下拉列表中个选项都是动态从数据库中查询生成的,如果使用过程中其他窗体对数据库中的数据,例如图书类型进行了修改,那么在单击类型下拉列表框,就会从选项中看到数据已经有所不同了。图7-5 图书信息管理功能6.完成了读者信息的管理和图书信息的管理之后,就可以实际进行图书的借阅,归还罚款等一系列了。选择流通管理图书征订菜单命令,就进入图书征订功能窗口,可以在这里进行图书的征订工作。单击工具栏中的新增按钮,系统将自动计算新的征订编号以免新增加的图书增订编号与原有的征订图书定单重复,在单击窗体下部选区中的有放大镜标志的按钮,即可弹出一个新的窗体,在其中选择要征订的图书名,双击字段即可将该图书的编号和书名添加到图书征订窗体下部选区的编辑框中。从图中可以看到,新增的的征订图书的是否验收字段都是False,这表示图书尚未完成征订工作,此时,需要调用我们预先在数据库中设置好的存储过程完成图书的征订工作,单击提交征订验收按钮,执行存储过程,先将图书验收入库,增加图书库存量,然后设置图书征订记录的标志,标志为已验收。整个过程如下图7-6和图7-7所示。图7-6 图书征订功能窗体图7-7 图书征订过程中选择图书窗体7.完成图书的征订工作后,可以选择流通管理图书借阅菜单命令,进入我们平时使用图书馆时接触最多的图书借阅共能,在实际的图书馆使用中,一般都使用扫描仪或者电子枪将读者借阅证上的条纹码扫描输入到系统中,或者是用读卡器从读者的 IC卡中直接读入读者编号。我们在程序使用中使用从文本框中手工输入读者条纹码或者编号并回车的方法来模拟上述的过程,如图7-8所示。图7-8 图书借阅功能窗体在窗体上部的文本框中输入读者的编号或条纹码并回车,如果输入正确,则会在右边显示读者的基本信息并在下面的表格中显示读者已经借出的图书,此时光标将直接跳到借阅图书信息栏的文本框中,在其中输入读者要借阅的图书编号或者条形码并回车,如果输入正确,则该图书的信息将被自动添加到读者已借出出的图书列表的下方,并在左方的一栏中用“新借”来表示这是新借的图书,借书时间为当前系统时间,而应还时间则由图书类型中的可借天数来自动计算确定。窗体下方则将显示读者已借出的数量和本次借书数量,如果两者相加大于读者所能允许借书的数量,软件将提示已达到借书极限并拒绝将新书的记录添加到表中,如果读者试图借一本他已经借出的书,软件同样也将作出提示。如果确定借书,则单击窗体上方工具栏中的确定借书按钮,此时将会调用数据库中的图书借阅存储过程,将借书出库,减少图书库存量并将图书的借阅信息保存到数据库中的图书借阅数据表中。8.选择流通管理图书归还菜单命令,将显示如图7-9所示,完成归还图书的功能。在窗体,单击归还选中图书按钮先判断所选择的记录是否已经过期,如果过期则提示输入罚款金额,罚款金额默认为根据其过期时间计算得到的一个值,然后调用存储过程,完成图书归还的功能。图7-9 图书归还功能窗体9.选择流通管理逾期清单菜单命令,将显示所有逾期未还的图书清单。如图7-10所示。实际图书馆工作中,可以通过查询逾期图书信息通知借阅这些图书的读者归还图书。图7-10图书逾期清单功能窗体10.选择流通管理图书罚款菜单命令,将显示所有被罚款的读者的清单和他们被罚款的过期图书的信息。单击窗体下方的收回罚款按钮,将收取读者的罚金并将实付金额放入数据库中,并将罚款的是否交滞纳状态设置已经加纳。如图7-11所示图7-11 图书罚款功能窗体7.2 创建工程启动Microsoft VisualB2003,在主菜单中选择文件|新建|项目命令,弹出新建项目对话框,在项目类型列表框中选择Visual.Basic项目选项,然后在模板列表框中选择Window应用程序。在名称文本框中输入一个合适的方案文件名,选择要存放的位置,然后单击确定按钮完成新项目的开启。 7.3创建系统主窗体利用系统默认生成的窗体作为主窗体,并为其添加一个主菜单(MainMenu)控件和一个状态栏(StatusBar)控件,各个控件的布局如图7-12窗体。图7-12 系统主窗体7.4完成的读者类别设置功能这里将完成读者类别设置功能。在该子窗体中,可以实现对图书馆管理系统中读者类别数据的插
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行德州市陵城区2025秋招小语种岗笔试题及答案
- 农发行长沙市宁乡市2025秋招笔试综合模拟题库及答案
- 农发行桂林市永福县2025秋招群面模拟题及高分话术
- 农发行驻马店市遂平县2025秋招笔试英文行测高频题含答案
- 农发行成都市崇州市2025秋招笔试英语题专练及答案
- 农发行德州市乐陵市2025秋招笔试热点题型专练及答案
- 农发行毕节市纳雍县2025秋招无领导模拟题角色攻略
- 巴中南江县中储粮2025秋招面试半结构化模拟题30问及答案
- 2025年陕西航空职业技术学院学工部招聘模拟试卷含答案详解
- 关于成功的演讲稿(集合15篇)
- 《人工智能基础第2版》全套教学课件
- 《无机化学》课件-氢键
- 实验心理学课件
- 校长校园安全教育课件
- 化工企业物料编码规则培训课件
- 粉条检测报告
- 污水处理厂污泥处理处置投标方案
- 车灯LED封装DFMEA范例
- 《全国医疗服务价格项目规范》(2022版)
- 2023年贵州茅台机场第二次招聘笔试参考题库附带答案详解
- 【告知牌】污水池有限空间作业告知牌模版
评论
0/150
提交评论