图书借阅管理系统_第1页
图书借阅管理系统_第2页
图书借阅管理系统_第3页
图书借阅管理系统_第4页
图书借阅管理系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

摘要管理信息系统是一个不断发展的新型学科,随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来,迫使人们起用新的管理方法来管理图书。为了更好的实现对图书的管理,采用Delphi7作为开发工具,设计实现数据库管理系统:图书借阅管理系统。系统设计了图书管理,用户管理,借阅管理,管理员管理,查询管理,密码管理,数据库管理等模块。能够实现以下任务:用户分级权限操作、借还图书操作、书库维护操作、查询操作等,可以大大减轻图书馆工作人员的工作量,全面提高了图书馆的管理效率及服务质量。本文主要介绍了数据库管理系统、数据库的概念以及开发工具Delphi和Access的特点和系统开发的流程。其中重点介绍了系统各个模块的设计与实现过程。关键词:管理信息系统,数据库管理系统,图书管理,开发,设计ABSTRACTManagement Information System is a continuous development of new subject, as the information technology in the management of the increasingly in-depth and extensive application, the implement of management information system has become mature in technology gradually. The books are our best way to get information, but because of the library collection increased greatly, cause the traditional librarians of the increasing workload, forced people to use of new management approach to manage the books.In order to achieve better management of the books, using Delphi7 as an exploitation tool, design Database Management System: Book Loan Management System. Design of the system includes Book Management, User Management, Borrow-Return Management, Administrator Management, Query Management, Password Management, Database Management module, etc. It can carry out the following mission: the users classification authority to operate, borrow-return book operation, book maintenance operation, query operation, etc. It can greatly reduce the workload of staff, comprehensively enhance the librarys management efficiency and service quality. This article main talked about the concept of the Database Management System and the Database, the features of the exploitation tool: Delphi and Access and the development process of the system. The introduction focused on the various modules of the system design and implementation process.Keywords: Management Information System, Database Management System, Book Management, Exploitation, Design目 录摘要IABSTRACTII第1章 绪论11.1 课题研究意义11.2 研究现状1第2章 概述22.1 数据库管理系统(DBMS)概述22.2 数据库简介32.3 本章小结3第3章 开发工具介绍43.1 Delphi简介43.2 Access数据库53.3 本章小结6第4章 系统设计分析74.1 系统设计思想74.2 需求分析74.3 系统功能模块设计84.4 数据库设计94.4.1 数据库需求分析94.4.2 E-R图模型104.4.3 数据库表设计114.5 本章小结13第5章 系统具体模块的设计145.1 启动界面的设计145.2 登录界面的设计145.3 主界面的设计145.4 添加图书模块的设计155.5 图书维护模块的设计155.6 添加读者模块的设计175.7 读者修改模块的设计175.8 借书模块的设计185.9 还书模块的设计195.10 借阅查询模块的设计215.11 图书查询模块的设计215.12 读者查询模块的设计215.13 用户管理模块的设计215.14 密码修改摸块是设计225.15 数据库操作模块的设计225.16 注销功能的设计235.17 本章小结24第6章 代码分析与实现256.1 相关技术256.1.1 SQL语言256.1.2 ADOConnection与ADOQuery控件256.2 主要代码实现266.3本章小结29第7章 系统性能的测试30第8章 结论31致谢32参考文献33附录1 原始数据附表34附录2 部分源代码36 - 53 -第1章 绪论1.1 课题研究意义我们所处的是信息技术高速发展的科技时代,信息技术日趋显示出来了它的重要性。计算机技术的广泛应用,带动了社会和经济的迅速发展。信息化时代的今天,人对图书的需求量也是呈逐年增加的趋势,图书馆的馆藏越来越多,带给管理上的困难也是越来越大。将计算机这一信息处理器应用于图书管理已是趋势,而且这也将为图书借阅管理带来前所未有的改变,它可以带来意想不到的效益。采用计算机管理信息系统已成为图书借阅管理科学化和现代化的重要标志。 图书借阅管理系统是通过计算机软件来处理数据库数据的信息管理系统。图书借阅管理系统可以实现图书馆工作中的读者信息管理、借阅管理、书籍信息管理、查询等工作。可以更加有效的管理数据和实现信息的保密性。通过这样的管理系统极大的提高了图书管理的工作效率,可大大克服了以往效率低、保密性差且较为烦琐的困难,可以节约不少管理开支。使图书借阅管理更趋于科学化、现代化、规范化。1.2 研究现状国外的图书管理系统基本上是随计算机和网络技术的发展而发展的,并且较早地实现了其商品化,出现了不少世界知名的图书馆系统软件公司,例如,美国的INNOPAC、SIRSI以及澳大利亚的HORIZON等,它们在产品的技术开发、销售、服务及版本的升级等方面具有较强的实力,并且在市场多年的检验下,经过了反复修改完善,更具有先进性和稳定性。我国图书信息管理系统的发展大致经历了三个阶段,即单项业务的计算机管理阶段、图书馆计算机集成管理阶段和图书馆网络化建设阶段。就我国图书信息管理整体看,正在由传统图书馆向自动化图书馆过渡。随着Internet的普及与发展,图书馆信息管理系统迫切与要加快网络建化设。一方面加速现有图书馆信息管理系统的更新换代,向网络化拓展;另一方面加速引进国外大型图书馆信息管理系统,借鉴其先进的网络化功能。经过一系列的努力,我国现已研制成具有网络功能的图书馆信息管理系统,如江苏汇文系统、北京大学的NLIS系统等1。第2章 概述2.1 数据库管理系统(DBMS)概述是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,读数据库进行统一的管理和控制。有了数据库管理系统 ,用户就可以在抽象意义下处理数据,而不顾及这些数据在计算机中的布局和物理位置。数据库管理系统就是实现把用户意义下抽象的逻辑数据的处理,转换成计算机中具有的物理数据处理的软件,它很像一个操作命令语言解释器,把用户应用程序的数据操作语句转换成为对系统存储文件的操作,又像一个向导,把用户对数据库的一次访问从用户带到概念级,再导向物理级。数据库管理系统的职能就是有效地实现数据库三级模式结构之间的转换2。其主要功能如下:描述数据库:描述数据库的逻辑结构、存储结构、语义信息和保密要求等。管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安全、保密和完整性,执行数据检索、插入、删除、修改等操作。维护数据库:控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。数据通信:组织数据的传输按功能划分,数据库管理系统大致可分为6个部分: (1)模式翻译:提供数据定义语言(DDL)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。 (2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在DBMS支持下可运行的目标程序。 (3)交互式查询:提供易使用的交互式查询语言,如SQL。DBMS负责执行查询命令,并将查询结果显示在屏幕上。 (4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。 (5)事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。 (6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。2.2 数据库简介数据库是描述了现实世界中的某些方面,构成了现实世界的一个微小世界。数据库是一个逻辑上紧密相连的数据集。该数据集中的数据具有某些固定的语义。数据库是为某个特定目标设计、建立和使用的,它拥有确定的用户组和这些用户组感兴趣的预定应用。数据库是一个持久数据的集合,这些数据用于某种应用系统中,是由一个或几个数据表格组成的,数据表格是有数据组成的,是一个统一管理的相关数据的集合,数据库的特点是能被各种用户共享、其数据具有最小的冗余度、数据间有紧密的联系但又有较高的对程序的独立性3。数据库中的表、视图、存储过程、索引等具体存储数据或对数据进行操作的实体,称为数据库的对象。数据库是这些对象的集合,该集合中容纳着各种各样的数据库对象。数据库存在多种模型,应用于大型数据储存的数据库一般为网状数据库 (Network Database)、关系数据库 (Relational Database) 以及面向对象型数据库 。此外也有应用在LDAP(轻量级数据访问协议)的树状数据库 (Hierarchical Database)。2.3 本章小结本章主要介绍了数据库管理系统的概念、功能和数据库的概念、包含的对象及数据库的各种模型。通过本章的介绍,可以建立起对数据库管理系统及数据库的一些基本概念的了解。 第3章 开发工具介绍3.1 Delphi简介Delphi完全支持COM、ActiveX、可视化组件库(VCL),并提供了可扩展、可定制的快速应用程序开发环境。作为一种Windows系统下的可视化开发工具,自Borland公司1995年3月推出Delphi1.0以来,它就以优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用支持、功能齐全的VCL组件库和高效的编译器,为程序开发人员提供了在基于Object Pascal语言的可视化开发平台上快速开发遵循Windows标准的应用程序的开发工具,得到了广大Windows程序开发人员的喜爱。Delphi7作为Delphi家族中的新版本,不但可以作为新一代商务系统的快速开发工具,也可以作为客户机/服务器和Web方式的应用程序开发工具。Delphi是希腊的古都,它是古希腊人心目中的神圣直地、智慧的象征。Borland公司推出的Delphi系列,就是希望她成为智慧的化身4。Delphi它提供了100多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下:(1) 直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和 存取服务器方面,Delphi的性能远远高于其他同类产品。(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户 机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。 (3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根 据用户的实际需要逐步完善。 (4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件, 允许用户控制Windows的开发效果。 (5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的 数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle 等大型数据库连接5。用Delphi开发数据库应用,重点是和各种数据库组件打交道,能和数据库挂钩的组件对象有5种,它们是:Session(数据库会话)、Database(数据库)、Dataset(数据集)、DataSource(数据源)、Data control(数据控制组件,也叫data-controls即数据感知组件),其中前面4种统称为数据访问(Data Access)组件。ADO组件 Delphi6包含了可以用来访问Microsoft公司的ActiveX Data Objects(ADO)格式数据库的组件。ADO是Microsoft公司关于各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解决办法。ADO的对象模型是所有数据访问接口对象模型中最简单的一种。Microsoft公司用来访问ADO数据的应用程序界面技术是OLE DB。OLE DB是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其他一些非传统的数据源6。OLE DB是一个由Component Object Model(COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。OLEDB提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、Email和文件系统、文本和图形以及用户定义的数据对象。Delphi的ADO组件无需依靠BDE而是使用ADO技术,提供了可以通过数据控制组件访问数据的新方法7。唯一的要求是在使用ADO组件时必须运行ADO/OLEDB。ADO组件的使用使得DELPHI在访问数据的类型和采用的技术方面都有了很大的突破。3.2 Access数据库Access是微软公司的Microsoft Office 系列软件的一个重要组成部分。它是一个运行于Windows平台上的关系数据库管理系统,通过各种数据库对象对数据进行控制和管理。Access数据库中包括表、查询、窗体、报表、数据访问页、宏和模块7种不同的对象,这些对象用于收集、存储、检查和链接各种不同的信息。在Access中,一个数据库包含了数据和与存储数据有关的所有对象。在Access数据库项目中还可以包含视图、到远程数据库的链接和存储过程。Access的主要功能如下所诉: 定义表,利用表存储相应的信息 定义表之间的关系,利用表中相关的字段链接不同的表 强大的数据处理能力,使用Access可以创建查询来检索数据,可以创建窗体来查看、输入及更改表中的数据,可以创建报表来分析数据或将数据以特定的方式来打印出来。 创建Web页通过网络发布和访问数据库的信息,建立对Internet和Intranet的支持 开发应用程序,可以利用宏将各种数据库对象链接在一起形成一个数据库应用系统Access提供了创建数据库、表、查询、窗体、报表和数据访问页等数据库对象的向导。用户可以利用多种可视化的工具来创建和编辑各种数据库对象,不用编写任何代码就能创建一个完善的应用程序。Access还提供了管理大量数据所需要的数据定义、数据操作和数据控制功能。在Access数据库中,采用了OLE(对象链接与嵌入)技术,能够方便地创建和编辑多媒体数据库,其中可包含文本、声音、图像和视频等对象。Access能以多种格式(如Dbase, FoxPro, Excel, SQL Server)导入和导出数据,使用链接可以让用户不必建立Access表就能直接使用外部数据。Access支持ODBC(开放式数据库连接)特性,用户能通过它访问许多外部数据库(如Oracle和Sybase)的数据。3.3 本章小结本章主要介绍了作为数据库管理系统开发工具Delphi7的发展阶段、主要特点及基本特性和Access数据库的基本特性与主要功能。在介绍各自强大的功能的同时,显示出了在数据库管理系统开发应用上的优势。第4章 系统设计分析4.1 系统设计思想图书借阅管理系统除了要实现图书管理上的工作外,更突出的在于对信息的提取要准确、快,并能实现对信息的访问控制。图书借阅管理系统可以按照用户权限和实现功能的不同分为两部分:读者用户对数据库的查阅访问和管理员用户对图书记录的管理维护。但是,这两部分都调用的是同一数据库,只不过超级用户能实现所有管理功能,而读者用户访问数据库时,一些功能被屏蔽,只能进行查阅。因此可以把管理系统的数据库设计成为一个综合的数据库,此数据库包括所有操作人员的所有活动功能。通过用一个综合的数据库来满足图书管理要求,而且实现容易。4.2 需求分析需求分析是数据库系统开发的第一步,也是最重要的一步。图书借阅管理系统也不例外。需求分析可分为两个方面:管理员的需求和读者的需求对于管理员,系统需要满足:第一是图书馆工作人员可以管理各类图书,图书编号,调整图书结构,增加图书库存以适应读者的需求。第二是图书馆工作人员可以对读者建立个人档案,办理图书借阅证。第三是图书馆工作人员能够查询到读者的借书情况,可得到每个读者的当前借阅状态和历史借阅记。第四是图书馆可以迅速查询到读者的相关信息。第五也是图书馆的核心工作,对图书的借阅管理。当图书被借走时,系统要改变图书的状态,不再允许借阅。当图书归还时,重设图书状态允许借阅。当用户借阅的图书延期的时候,系统会识别,并对其进行延期计费。还可以实现图书的续借功能。第六是通过分配权限及密码登录,实现对图书馆不同工作的管理。可分为管理员、一般用户和读者。不同身份的使用者进入系统后,操作受限制。对于读者,系统需要满足:第一是读者可以查询图书馆中的图书及图书的库存状态,来确定自己需要的书籍,为借阅做好准备。第二是读者能够查询自己的借阅信息、历史借阅信息及欠费信息。4.3 系统功能模块设计图书借阅管理系统涉及图书信息、系统用户信息、读者信息、图书借阅、信息查询等多种数据管理。从管理的角度可将该系统中的数据分为三类:图书数据、系统用户数据、读者数据。可以包含在三个模块中,分别为:图书管理、系统管理、读者管理。图书管理包括图书录入、修改等操作,系统管理包括系统用户权限、用户数据、数据库等管理,读者管理包括读者信息的录入、修改、查询和删除等,根据图书管理的特点,还可以设计两个模块:图书借阅管理和信息查询功能,方便用户直接用本系统进行借阅、查询操作。综上所述,本系统主要设计以下5个功能模块:登录图书借阅管理系统读者管理借阅管理查询管理系统管理图书管理借阅查询图书查询读者查询借书还书添加读者读者维护用户管理密码修改数据库管理图书维护添加新书图4-1 模块流程图用户通过登录界面,分配权限,进入到图书借阅管理系统。系统主要包含了图书管理、读者管理、借阅管理、查询管理、系统管理等5个功能模块。不同权限的用户,可操作相应的功能模块。4.4 数据库设计数据库设计与应用程序设计是分离的,任何一个数据库管理系统都至少提供一种数据模型8。数据模型有两方面含义:数据以何种形式存储、用户以何种形式看待数据。一个好的数据库应该是:数据冗余尽可能少、数据库访问率尽可能高并且数据库易于维护。本系统设计先要对图书借阅管理系统的数据库进行需求分析,并建立数据表。在此基础上,根据系统的任务要求来进行数据库设计。4.4.1 数据库需求分析图书借阅管理系统的数据库要求记录管理信息系统所需要的有关图书、读者、用户,借阅等几大部分的数据和相关信息,Delphi实现的图书借阅管理系统需要对数据库中的数据和信息进行调用和操纵。数据库可以将数据分开放在不同的表文件中,然后可以通过系统菜单调用其中的数据,进行功能的实现。在表的设计过程中,需要根据图书借阅管理系统的功能划分表的内容,并针对每个表要存储的数据和信息来定义表中包含的字段以及相应的类型参数等。根据系统功能,可以确定以下数据项和数据结构:(1)图书信息:图书编号,图书名称,作者,出版社,出版日期,价格,备注,书架号(2)读者信息:借书证号,读者姓名,读者性别,读者学号,所在学院,所在班级,读者年龄(3)借阅信息:图书编号,借书证号,图书名称,借出日期, 续借(4)历史借阅信息:图书编号,借书证号,图书名称,借出日期(5)用户信息:用户名,密码,权限4.4.2 E-R图模型对图书借阅管理系统的E-R图分析,是建立在UML系统模型的基础上的。这里给出了各个实体的详细结构。系统也可以在这基础上,根据另外的需求进行扩展。图书信息实体图书编号图书名称作者出版社出版日期价格备注书架号图4-2 图书信息读者信息实体借书证号读者姓名读者性别读者学号所在学院所在班级读者年龄图4-3 读者信息借阅信息实体图书编号借书证号图书名称借出日期续借图4-4 借阅信息用户信息实体用户名密码权限图4-5 用户信息4.4.3 数据库表设计利用Access2003创建一个数据库(caixuze_lib.mdb)进行数据库的逻辑设计,创建了基本的数据库表如下:表4-1 图书信息表(book)字段名称数据类型说明BookNo文本图书编号Name文本图书名称Author文本作者Publish文本出版社OutDate日期/时间出版日期Cost数字价格Remark备注备注zhuangtai是/否是否借出PlaceNum文本书架号表4-2 读者信息表(students)字段名称数据类型说明studentid文本借书证号studentname文本读者姓名studentsex文本读者性别studentnum文本读者学号studentcollage文本所在学院studentclass文本所在班级studentage文本读者年龄表4-3 借阅信息表(lend)字段名称数据类型说明ID自动编号自动编号BookNo文本图书编号StudentID文本借书证号Bookname文本图书名称OutDate日期/时间借出日期reborrow数字续借次数表4-4 历史借阅信息表(borrowed)字段名称数据类型说明ID自动编号自动编号BookNo文本图书编号StudentID文本借书证号Bookname文本图书名称OutDate日期/时间借出日期表4-5 用户信息表(pass)字段名称数据类型说明yonghu文本用户名mima文本密码quanxian文本权限4.5 本章小结本章主要介绍了开发图书借阅管理系统的主要过程。先有系统设计的主体思想,再到具体的需求分析,再建立系统的主要功能模块。根据需求分析设计数据库结构,通过E-R图建立实体模型,再到数据库表的具体实现。第5章 系统具体模块的设计图书借阅管理系统模块的设计可分为5个主模块极其子模块。具体可分为图书添加模块、图书修改模块、图书删除模块、读者添加模块、读者修改模块、读者删除模块、借书模块、还书模块、借阅查询模块、图书查询模块、读者模块、用户信息模块、密码修改模块、数据库备份还原模块、注销模块等。5.1 启动界面的设计启动界面是程序运行时的一个启动提示,在3秒后自动关闭进入主程序,也就是常说的闪现窗口。它主要通过一个计时控件Timer,来实现一定时间后自动关闭的功能的。5.2 登录界面的设计登录界面是为了满足三种不同权限的拥护登录系统设计的。三种用户分为:管理远、一般用户、读者。设计思想是用户通过输入用户名及密码,匹配数据库中的pass表中的信息,并根据表中的权限设置,分配操作权限。一般的信息管理系统的登录界面是先于主操作界面运行的,通过输入用户名、密码,匹配正确后进入到主操作界面。本系统设计的登录界面是随主界面运行的,是在主界面之上的,通过登录后,根据权限,对系统进行相关操作。具体是同过panel的visible属性来实现的。如果用户名及密码核对正确,就设置登录界面所在的panel的visible属性为false,即登录界面消失,呈现主操作界面。反之,则保持原有状态。系统并设置了错误密码输入三次提醒功能,当错误密码输入超过三次,系统就会自动关闭。界面如图5-1所示。5.3 主界面的设计主界面是系统的核心部分。主界面的主要功能是引导用户进行相应的操作。用户通过主界面,可进入到各个操作模块。主界面在系统运行时一直处于激活状态,其它的子操作模块结束后,都是回到主界面的。主界面上放置了MainMenu控件,以下拉菜单的形式显示各个系统模块。Timer图5-1 用户登录控件可以使当前的时间在系统运行时,显示在主界面上。主界面上插入图片,并在图片按上label、bevel控件,利用图片的特性,由label的click事件触发到指定的操作模块。用户的权限设置主要就是在主界面上显示出来。不同的用户进入到系统,虽显示相同的主操作界面,但主界面上的事件触发控件的显示是不一样的。为了在同一界面下实现不同权限不同操作的功能,可以通过下拉菜单的选项菜单处于非选中状态或使图片上的label、bevel控件处于屏蔽的状态,来实现不同权限的操作设置。界面如图5-2所示。5.4 添加图书模块的设计本模块是为了图书馆新书入库设计的,结合数据表book中各个字段,利用SQL语言中UPDATE语句,逐一输入新书的相关信息保存到book表中。界面如图5-3所示。5.5 图书维护模块的设计 本模块可以实现图书的删除与内容的修改。因为现实操作中由于图书的丢图5-2 主界面图5-3 添加新书失或破损,有的图书需要退库或做内容的修改。该模块上有DBgrid控件,数据库表book中的所有信息都会显示在DBgrid中。可以直接点击DBgrid中的图书做相应的操作。但是图书馆馆的图书收藏是很多的,想要直接在DBgrid找到所要操作的图书,比较困难。因此在此模块上加入了查询功能,可通过输入图书的编号或名称直接找到要操作的图书,然后进行相应的操作。5.6 添加读者模块的设计添加读者也就是办理借书证的过程。把读者的各个信息保存到数据表students中。由于操作上的失误,对添加的读者可能有信息输入的错误,可以在本模块实现对其修改的功能。界面如图5-4所示。图5-4 添加读者5.7 读者修改模块的设计可以实现对读者记录的修改或删除。通过DBgrid控件显示数据库表students中的所有记录。本模块设计了查询功能,通过输入借书证号或姓名,直接定位到该读者的记录上,进行相应的操作。界面如图5-5所示。图5-5 读者修改5.8 借书模块的设计借书模块是图书借阅管理系统的主要模块,是系统的重要组成部分。设计思想是通过输入读者的借书证号,显示该读者的当前借阅记录。输入图书编号,显示该图书的相关信息。借书成功后立即显示最新借阅情况,刷新数据库。图书借阅的册数超过规定限额后,提醒并设置不允许继续借阅。输入的借书证号、图书编号会自动到数据库中的相关表中进行核对,确定该借书证号、图书编号是否有效。如果读者有图书借阅后超过了规定的期限,处于欠费状态时,当再次去借阅时,会提示操作员该读者的哪些书籍处于超期状态。模块的实现过程中利用了Edit控件的OnChange事件来实现对借书证号和图书编号的自动核对。利用ListView控件9来显示读者的借阅信息。ListView中的信息是来自两张表(book、students)中对应的记录。模块访问数据源的实现就是利用了连接数据模块(datamodule)。图书借阅成功后,会另外存储到数据库表borrowed中,以便实现以后的历史借阅记录查询。界面如图5-6所示。图5-6 借书管理5.9 还书模块的设计还书模块和借书模块一样是图书借阅管理系统的常用操作模块,现实使用率最高的操作部分。设计思想是读者还书的时候,输入借书证号,以列表的形式显示出当前的借阅信息。用户可以在列表上直接点击选择要归还的图书来归还图书和续借图书,续借图书每本书只能续借一次。当读者归还的图书是处于延期欠费的时候,显示欠费金额。图书归还成功后,会立即刷新数据库,在显示列表上除去归还的图书。模块利用ListView控间来显示读者的借阅记录。模块访问数据源的实现同样也是利用了连接数据模块(datamodule)。界面如图5-7所示。图5-7 还书管理5.10 借阅查询模块的设计借阅模块可以实现当前借阅信息查询和历史借阅信息查询的功能。通过输入借书证号查询信息。模块设计了模糊查询的功能,用户可以利用输入部分借书证号来实现信息的查询。查询模块是任何权限都能操作的模块。查询的结果在ListView中显示出来。5.11 图书查询模块的设计图书查询模块用来查询图书馆藏书的信息及具体图书的库存状态。查询方式可以通过按书号查询、按书名查询、按出版社查询、按作者查询四种方式来选择。并设计了模糊查询功能。查询出来记录包含了图书的相关信息如出版社、作者、价格等,并显示了图书是否处于可借状态。模块使用了RadioButton控件和CheckBox孔件的结合来实现查询方式的选择。RadioButton是单选的,用来选择查询的方式:按书号查询、按书名查询、按出版社查询、按作者查询。CheckBox是处于常选中状态的,表示结合模糊查询方式。查询出来的结果在ListView中显示出来。界面如图5-8所示。5.12 读者查询模块的设计读者查询模块可以实现读者信息的查询。查询可通过按借书证查询、按姓名查询的方式来实现的。使用RadioButton控件和CheckBox孔件的结合来实现查询方式的选择。查询出来的结果在ListView中显示出来。5.13 用户管理模块的设计实现对用户的添加、修改和删除。在添加用户的时候,给用户设置好了操作权限。在修改、删除用户的时候,可以直接点击ListView上的记录,该记录的相关信息在文本框中显示出来,然后再对其进行编辑或删除。图5-8 图书查询5.14 密码修改摸块是设计用户登录后,可以修改自己的密码。通过核对登录时的旧密码,来确定新密码的修改。界面如图5-9所示。5.15 数据库操作模块的设计设计次模块是为了对数据库信息的另外备份,以便在发生意外的情况下,及时恢复数据,尽可能的减少数据丢失。选择数据库备份后,会提示选择备份路径,最终生成一个*.mdb的数据库文件。数据库还原就是通过选择路径,导入备份的数据库,还原原有数据。该模块主要是利用了OpenDialog、SaveDialog控件10来实现的。界面如图5-10所示。图5-9 密码修改:图5-10 数据库操作5.16 注销功能的设计注销可以实现用户的重新登录和更换不同权限的用户。注销后,系统回到初始的登录界面。5.17 本章小结本章主要介绍了系统开发中各个功能模块的界面的设计及主要的组件的使用。并将系统的具体操作做了一个概述,在以后系统的代码实施过程中,根据这些操作,编写代码。第6章 代码分析与实现6.1 相关技术6.1.1 SQL语言SQL语言是一种交互式查询语言,允许用户直接查询储存数据。它有以下常用语句。1 SELECT语句查询时SQL语言的核心。SELECT语句则是SQL查询功能最强也是最为复杂的语句,它从数据库中检索数据,并将查询结果提供给用户。2 Insert语句Insert语句建立一个与表列结构相一致的数据行。标准语法:Insert into table_name (col1 coll2) values (value1, value2)3 Update 语句Update语句用来更新表单中选定行的一列或多列的值。标准语法:Update table_name SET columname1 = value , columamel2=value2Where serch_condition4 Delete 语句用于删除指定的表单中的内容。标准语法:Delete from table_name where condition6.1.2 ADOConnection与ADOQuery控件ADOConnection组件用于建立与ADO数据库的连接。尽管每个ADO数据集组件能直接连接到数据库,但我们仍将使用ADOConnection 组件,因为该组件提供了方法和属性用于激活连接、直接访问ADO数据库和处理事务10。为了连接到指定的数据库,我们使用ConnectionString (连接字符串)属性。ADOQuery控件的SQL语句在Delphi软件中有一个功能强大的数据查询控件,那就是ADOQuery控件。ADOQuery控件可以通过数据源Datasource与数据库连接起来,然后对数据库表进行操作。ADOQuery控件对数据库表的操作主要是通过SQL语句来实现的。包括对数据表的打开、查询、修改、插入、删除、更新等操作。6.2 主要代码实现在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工作,而且要保证这些数据源的确是相同的也需花一番功夫。那么,将这些数据源集中管理,做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身,这就涉及到数据模块(Data Module)。数据模块是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。在本系统中,创建了一个名为dataModuleADO数据模块,上面放了三个控件ADOConnection, ADOQuery ,ADOTable。其中利用ADOConnection连接Access数据库。并利用ADOQuery ,ADOTable调用数据源中的数据,满足系统功能的需求。这样其他的模块就可以调用该数据模块,来访问数据源了。实现了数据源访问的统一管理。 具体如下图:图6-1 数据模块以图书馆的图书信息为例子,对其进行数据的添加、查询、修改、删除等操作的具体代码实现。数据添加代码如下,这里涉及到了Delphi中的异常类的异常处理11,try-except形式。try with datamoduleado.ADOQuery1 do begin sql.Clear;sql.Add(insert into book(bookno,name,author,publish,outdate,cost,remark,placenum)+ values(:bookno,:name,:author,:publish,:outdate,:cost,:remark,:placenum); parameters.ParamByName(bookno).Value :=booknoedit.Text ; parameters.ParamByName(name).Value :=nameedit.Text ; parameters.ParamByName(author).Value :=authoredit.Text ; parameters.ParamByName(publish).Value :=publishedit.Text ; parameters.ParamByName(placenum).Value :=placenumedit.Text ; try parameters.ParamByName(outdate).Value :=strtodate(outdateedit.Text) ; except messagedlg(参数设置错误,mtError,mbok,0); exit; end; try parameters.ParamByName(cost).Value :=strtofloat(costedit.Text) ; except messagedlg(参数设置错误,mtError,mbok,0); exit; end; parameters.ParamByName(remark).Value :=Memo1.Text ; end;数据删除是主要利用了ADOTable控件的特性来进行的,具体为:beginadotable1.Edit; if messagedlg(确实要删除该书籍吗?,mtWarning,mbOK,mbCancel,0)=mrok then begin adotable1.Delete; showmessage(删除成功); end else begin showmessage(删除失败); end;end;数据的查询主要应用了SQL语言的查询语句,具体为:begin sql.Add(select bookno,name,author,publish,outdate,cost,remark,zhuangtai,placenum from book where publish like :publish ); parameters.ParamByName(publish).Value :=content;end;数据的修改也是主要应用了ADOTable控件的特性来实现的:begin adotable1.edit; adotable1.Fields0.AsString:=edit1.Text; adotable1.Fields1.AsString:=edit2.Text; adotable1.Fields2.AsString:=edit3.Text; adotable1.Fields3.AsString:=edit4.Text; adotable1.Fields4.AsString:=edit5.Text; adotable1.Fields5.AsString:=edit6.Text; adotable1.Fields8.AsString:=edit11.Text; adotable1.Field

温馨提示

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

评论

0/150

提交评论