




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上哈 尔 滨 理 工 大 学毕 业 设 计 题 目: 图书馆管理系统分析与设计 院 、 系: 班 级: 姓 名: 指导教师: 系 主 任:2014年6月12日专心-专注-专业哈尔滨理工大学毕业设计(论文)评语学生姓名: 学号:学 院:管理学院 专业:信息管理与信息系统任务起止时间:2013 年 12 月 1 日至2014 年 6 月 19 日毕业设计(论文)题目:图书馆管理系统分析与设计指导教师对毕业设计(论文)的评语:指导教师签名: 指导教师职称: 评阅教师对毕业设计(论文)的评语:评阅教师签名: 评阅教师职称: 答辩委员会对毕业设计(论文)的评语:答辩委员会评定,该
2、生毕业设计(论文)成绩为: 答辩委员会主席签名: 职称: 年 月 日 教务处制表哈尔滨理工大学毕业设计(论文)任务书学生姓名: 学号:学 院:管理学院 专业:信息管理与信息系统任务起止时间:2013年12月1日至 2014年6月19 日毕业设计(论文)题目: 图书馆管理系统分析与设计毕业设计工作内容: 12月1日12月31日,搜集资料并确定论文题目,列出了论文的大纲; 1月1日1月31日,阐述论文相关理论,分析业务流程和数据流程; 2月1日2月28日,根据相关理论系统分析与设计,进行系统的开发与实现; 3月1日5月31日,进行论文的撰写, 检查论文、修改论文并定稿; 6月1日6月10日,对论文
3、进行排版。资料:白净,张永红管理系统概论清华大学出版社,2000:5-163徐建华现代图书馆管理南开大学出版社,2003:29-94MattheMacDonal管理信息系统J北京:电子工业出版社2003:4-16陈桂友PowerBuilder数据库开发技术机械工业出版社(第2版),2009:30-31吴京慧,杜宾,杨波 Oracle数据库管理及应用开发教程M清华大学,2007:11-20王珊,萨师炫数据库系统概论(第三版)M北京: 高等教育出版社,2002:54-62指导教师意见: 签名:年 月 日系主任意见: 签名:年 月 日图书馆管理系统分析与设计摘要随着信息技术的飞速
4、发展,信息化管理已经逐渐替代了传统的管理方法。采用信息管理系统能够有效的提高管理效率1。图书馆管理系统是一种典型的信息管理系统,面对数以万计的图书信息管理以及读者的借阅信息等,传统的管理方法不但费时费力,而且容易出现漏洞,造成损失。因此一个智能的管理系统是十分重要的,通过计算机实现图书管理的智能化,可以高效的管理图书资源,记录读者和图书的借阅情况。根据读者的要求可以输入、查询等功能。其开发主要包括前台应用程序的开发以及后台数据库的建立和维护。本文主要讲述了图书馆管理系统的开发思想、方法、主要过程以及其中遇到的一些问题的解决方法。本文中的系统采用PowerBuilder 9.0做前台,Oracl
5、e数据库作为后台,主要分为5个功能模块,分别是读者信息管理模块、图书类别管理模块、图书信息管理模块、图书借阅管理模块以及系统管理模块。各个模块中分为一些子模块,这些子模块相互连接与配合,共同完成各种操作。关键词:图书管理系统;PowerBuilder 9.0;Oracle数据库Analysis and design of library management systemAbstractWith the rapid development of information technology, information management has gradually replaced the t
6、raditional management methods. Effective use of information management systems to improve management efficiency.Library management system is a typical management information system, in the face of tens of thousands of books to borrow information management and information readers, traditional manage
7、ment methods are time-consuming and laborious, and prone to loopholes, resulting in losses. Therefore, an intelligent management system is very important to realize intelligent library management through a computer, you can efficiently manage the resource books , records and books to borrow reader c
8、ase . According to the requirements of readers can enter, query and other functions. The development includes the foreground application development and the establishment and maintenance of back-end database.This paper focuses on the development thinking library management system, method, process so
9、lutions as well as some major issues which encountered. The system uses paper receptionist PowerBuilder 9.0, Oracle database as a background, is divided into five modules, namely, the reader information management module, category management module library, library information management module, lib
10、rary management module and system management module. Each module is divided into several sub-modules, these sub- modules are connected to each other and cooperate together to complete various operations.Key wordsLibrary management system; PowerBuilder 9.0; Oracle Database目 录摘要Abstract第1章 绪论11.1 研究目的
11、及意义11.2 国内外发展现状11.3 系统开发环境2第2章 图书馆系统分析42.1 需求分析42.2 功能分析52.3 可行性分析62.3.1 技术可行性62.3.2 经济可行性62.4 数据库分析62.5 数据库设计72.5.1 数据库概念设计及E-R图72.5.2 数据库逻辑设计及表结构92.6 本章小结12第3章 系统设计与功能实现133.1 程序流程图133.2 程序各模块实现163.2.1 主窗体模块163.2.2 系统登录模块163.2.3 借阅者信息管理模块183.2.4 图书类别模块243.2.5 图书信息管理模块253.2.6 图书借阅管理模块273.2.7 系统管理模块2
12、93.3 本章小结30第4章 系统测试314.1 测试项目314.2 测试用例314.3 测试结论与评价32结论33致谢34参考文献35附录A36附录B45第1章 绪论1.1研究目的及意义伴随着社会的发展,Internet技术的兴起和发展也是大势所趋,计算机在企业管理中的地位愈发重要,利用计算机实现图书馆的管理是势在必行的。图书馆管理中更加注重服务,方便读者、为读者着想,注重服务和人文关怀成了图书馆界的共识2。传统的人工管理图书方式,工作效率很低,并且保密性差、较为繁琐。随着图书资料的增加,工作量也大大的增加,增加了图书管理者的工作量和劳动强度,这给图书资料的维护管理带来了很多困难。经过调查,
13、目前我国各类高等学校中还有相当一部分单位图书管理还停留在人工管理的层次上。这样的管理机制已经不适应于当今时代的发展,这种管理方法将浪费过多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法将必然被以计算机为基础的信息化管理方法所取代。目前图书管理系统存在的问题 (1)检索速度慢、效率低目前大多数的图书馆系统采用的是B/S(浏览器/服务器)结构的管理软件,其数据库表的查询操作大部分使用的是顺序查找法,即从第一行记录顺序的查 找到满足查询条件的记录,这种查找方法算法简单,对表结构无任何要求。但是当数据量的很大时,查找的时间复杂度很大,查找效率会很低。 (2)借书、还书工作量大 借书、还书频
14、率越大,说明图书馆的作用越大。然而随之而来的大量的借 书、还书登记、实存图书的更新等处理工作,其工作量之大,往往是人工操作 所难以胜任的,而且经常会出现这样那样的差错。 计算机信息化管理有着储存量大、速度快等众多优点3,提供给我们的反馈信息及时快捷,因此我们利用计算机提供给我们的信息,对读者的借阅过程形成一整套动态的管理,能够极大地提高图书馆管理的效率,这也是图书管理的科学化、正规化管理,与世界接轨的重要条件之一。1.2国内外发展现状图书馆管理的国内外现状国外尤其在西方国家由于科学技术和经济发达的原因,图书馆行业比较受重视和发达,在英国和美国以及澳大利亚等国的图书馆,图书馆先进的管理
15、手段促进了其现代化管理水平的不断提高。特别是自动化和网络化的飞速发展,给图书馆事业发展带来了勃勃生机,特别是英国的大学,例如剑桥大学共有9个图书馆牛津大学现有多个规模不等、馆藏不一和服务多样的图书馆。另外在英国,除了对图书馆工作人员有严格的要求外,图书馆本身还有专门的部门负责职工培训,一般与实际管理工作紧密结合。英国全国图书馆协会对全国范围内的各级各类图书馆职工管理培训起领导作用,国家级培训主要由这个协会负责并承担。它不仅对馆员资格有皇家特许认证权,更重要的是它有一系列的培训课程和专业指导。这种培训格局使图书馆工作人员继续教育不断强化,专业素质不断提高。以美国为例,美国国土面积和我国相差不大人
16、口不足我国的1/4,但其公共图书馆总数量却为我国的3倍。美国各种不同类型的图书馆由不同的上级行政部门负责,如法律图书馆由法院管理等,另外美国图书馆相关法己成体系,各州、郡内又有自己的图书馆法律,这些法律明文规定图书馆的性质、每年的经费投入、每人每年需要的财政补助等,美国图书馆的所有工作都是围绕“一切为了读者”这个中心展开的。因而处处体现出一种开放的服务意识。图书馆的藏书布局没有固定格式,但有共同特点,那是以方便读者使用为目的。大多按学科内容分类,采用全方位的开放式布局。在服务方式上采用借书、阅览、咨询、检索一体化的服务手段。在同一个地方,既开架借书,又可阅览和进行检索咨询,对图书馆管理而言,管
17、理工作极其简便,减少了管理层次和中间环节。而澳大利亚大学图书馆现状是,其传统的工作岗位正在减少,同时也不再以读者对象或文献类型划分阅览室或书库,全馆只有一个出入口,通常是流通部门的管理终端设在图书馆进出口处,图书馆的工作重心已从信息处理向信息咨询服务转移,配置较多的人员去做信息研究和咨询服务,有助于网络作用的发挥和提高文献的利用率。近十几年来我国图书馆的馆舍建筑、硬件设施、资源建设等各个方面的条件都有了很大的变化和发展。对人员队伍建设日益重视。从总体上看,图书馆管理水平有了较大的提高。主要表现在两方面,一是图书馆管理思想与服务理念由传统图书馆向现代图书馆转变;二是受信息技术发展的影响,我国图书
18、馆管理创新和管理现代化的进程同样呈现信息化的趋势,这主要表现为计算机等管理手段在图书馆的应用1.3系统开发环境开发环境的选择能够影响数据库的设计,这里给出的图书管理系统开发与运行环境如下:操作环境:Windows XP,Window 7开发环境:C/S(客户端/服务器)开发的完全可视化开发环境开发工具:PowerBuilder 9.0数据库:Oracle第2章 图书馆系统分析2.1需求分析随着图书馆规模的扩大,图书资料的存储量日益增多,传统的人工管理方法愈显笨拙,而且管理上的混乱致使错误率直线上升,人力和物力过于浪费,使图书馆的管理费用也随之增加,以至于影响整个图书馆的正常运作与管理。因此,制
19、定一套行之有效、规范、合理和实用的图书管理系统是非常重要的,而且是势在必行的。图书馆作为一个图书资料的集散地,其相应的管理系统也要是一个高度集成的,通过将图书馆的各种功能进行整合,从而达到提高工作效率、简单便于操作、降低管理成本等目标。图书管理系统需要满足两个方面的需求,分别是图书管理员、系统管理员。图书管理员的需求是能够对图书的借阅、还书进行操作,同时还可以图书的借阅情况进行查询;系统管理员需要能够对图书进行收编入库、修改图书信息和借书卡管理操作以及图书管理员的所有操作权限。该系统需要能够对图书的借阅、归还进行管理,能够对借阅者的罚款进行自动计算。通过该系统能够进行自动化管理,大大地减少图书
20、管理员的工作量和图书馆的开销与成本。一个基本的图书管理系统应满足如下需求:1、区分图书管理员与系统管理员的系统登录功能。2、系统管理员可以进行借阅者信息、图书类别管理、图书信息管理以及图书管理员的信息管理。3、各部分信息管理包括信息的添加、删除、修改以及图书管理员的权限分配。4、图书信息的检索要实现按类别查询(如:图书类别、图书编号、图书名称等),同时支持模糊查询功能。5、删除信息的时候要考虑级联关系。如删除某图书时,必须要求此图书没有借出,否则不能删除。删除某借阅者信息是,必须要求此借阅者当前没有借阅图书。6、当前登陆管理员可以更改自己的登录密码,修改前要先核实自己的原始密码。2.2功能分析
21、根据以上需求,我所设计的图书管理系统主要有5个功能模块,分别是借阅者信息管理、图书类别管理、图书信息管理、图书借阅管理以及系统管理模块。各模块具体功能如下:借阅者信息管理模块:该模块主要包括借书卡的办理和借书卡信息的修改与删除,以及交纳和补充押金等信息。图书类别管理模块:该模块主要包括图书类别的添加、修改和删除等信息。图书信息管理模块:该模块主要包括图书信息的入库、修改和删除,如图书可借天数、超期每天罚款金额等。图书借阅管理模块:该模块主要包括图书借阅、图书归还和图书查询,图书借阅可以自动控制借阅者押金余额和最大可借数量;图书归还可以自动计算超期罚款数并从押金里扣除;图书查询可以按条件查询图书
22、是否已借出。系统管理模块:该模块主要包括操作员的信息管理、更改口令、重新登陆、退出系统。操作员管理只要包括添加新的操作员以及信息的删除与修改等。系统结构图如下(图2-1系统结构图):图2-1系统结构图2.3可行性分析可行性分析也可成为可行性研究,主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。2.3.1 技术可行性技术可行性分析主要是分析技术条件能否顺利完成工作,各方面设施能否满足需求条件。本系统采用C/S(客户端/服务器)的体系结构,客户端程序迅速向数据库服务器发送命令及接收数据库运算结果,数据库服务器主要负责数据的
23、查询、修改等操作,并将结果返回给客户端。本系统的客户端界面使用PowerBuilder 9.0进行开发,操作简单、快捷,并且对数据库操作迅速,无需编写SQL语句,就可直接与数据库进行连接。PowerBuilder是面向对象的、可视化快速开发工具4。数据库管理采用Oracle数据库,它是世界上使用最广泛的数据管理系统,具有完整的数据管理功能:可以保存大量的数据、数据安全可靠5。因此本系统的开发平台成熟可行。当今社会科技飞速发展,硬件性能越来越强大,并且价格越来越低,因此本系统的硬件需求完全可以满足。2.3.2 经济可行性本系统运行的配置要求不高,当今计算机发展迅速,硬件的各种设施价格也不会很高,
24、本系统自行设计开发,具有较高的性价比,不但可以提高图书馆的工作效率,还节省了人力、物力,为图书馆的管理降低了开支。2.4数据库分析数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用6。数据库系统的出现是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术7
25、。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使计算机走出科研机构进入各行各业、进入家庭。因为图书管理系统所涉及的数据储量大,数据维护量大的特点,这里选用Oracle数据库作为数据库管理系统。2.
26、5数据库设计2.5.1数据库概念设计及E-R图本系统共设计出5个表结构,分别是借阅者表信息、图书类别表信息、图书表信息、借阅表信息以及操作员表信息。图书馆的图书类别非常的繁多,所以首先需要建立一个图书类别表,用来专门记录图书类别信息。如图2-2所示:图2-2 图书类别E-R图图书馆最重要的就是书籍的管理,所以要建立一个图书信息表,保存图书信息,如图2-3 所示:图2-3 图书信息E-R图想要在图书馆借书,必须先要登记交纳押金,领取借书卡才能借书,所以要建立一个借阅者信息表,保存所有的读者信息。如图2-4 所示:图2-4 借阅者信息E-R图图书馆必须要有操作员,所以要建立一个操作员的信息表,保存
27、操作员的信息。如图2-5 所示:图2-5 操作员信息E-R图图书馆最大的功能是借阅图书,所以需要建立一个图书借阅信息表,保存图书的借阅信息。如图2-6 所示:图2-6 图书借阅信息E-R图2.5.2 数据库逻辑设计及表结构根据设计好的E-R图建立数据库表结构,数据个表结构如下:1、图书类别信息表储存图书类别信息,包括图书类别编号、图书类别名称2个字段。如表2-7 所示:表2-7 图书类别信息表(book_type)字段名数据类型是否主键描述Type_idVarchar2是图书类别编号Type_nameVarchar2否图书类别名称2、图书信息表用来储存图书信息,包括图书编号、图书名称、图书类别
28、编号、图书作者、图书出版社、图书价格、可借天数、超期每天罚款数和图书是否借出9个字段。如表2-8 所示:表2-8 图书信息表(book_info)字段名数据类型是否主键描述Book_idVarchar2是图书编号Book_nameVarchar2否图书名称Type_idVarchar2否类别编号Book_autorVarchar2否图书作者Book_pressVarchar2否图书出版社Book_priceNumber否图书价格Book_daysNumber否可借天数Book_fineNumber否超期每天罚款Book_stateVarchar2否是否借出3、借阅者信息表用来储存借阅者信息,包
29、括借阅者编号、借阅者姓名、借阅者性别、借阅者证件号、最大借阅量、押金、联系电话以及办卡日期。如表2-9 所示:表2-9 借阅者信息表(reader)字段名数据类型是否主键描述Reader_idVarchar2是借阅者编号Reader_nameVarchar2否借阅者姓名Reader_sexVarchar2否借阅者性别Reader_cardVarchar2否借阅者证件号Reader_maxnumVarchar2否最大借阅量Reader_moneyNumber否押金Reader_telVarchar2否联系电话Reader_dateDate否办卡日期4、操作员信息表用来储存操作员的信息,包括操作员
30、帐号、操作员姓名、操作员性别、操作员年龄、登录密码、联系电话以及操作员权限。如表2-10 所示:表2-10 操作员信息表(lib_operator)字段名数据类型是否主键描述Ope_idVarchar2是操作员帐号Ope_nameVarchar2否操作员姓名Ope_sexVarchar2否操作员性别Ope_ageVarchar2否操作员年龄Ope_pwdVarchar2否登录密码Ope_telVarchar2否联系电话Ope_permissionVarchar2否操作员权限5、图书借阅信息表用来储存图书的借阅信息,包括借阅编号、图书编号、图书类别编号、借阅者编号、操作员编号、借书日期、最迟还书
31、日期以及是否归还8个字段信息。如表2-11 所示:表2-11 图书借阅信息表(borrow)字段名数据类型是否主键描述Borrow_idFloat是借阅编号Book_idVarchar2否图书编号Type_idVarchar2否图书类别编号Reader_idVarchar2否借阅者编号Ope_idVarchar2否操作员编号BorrowdateDate否借书日期BackdateDate否最迟还书日期IsbackVarchar2否是否归还各个表之间的约束关系如图2-12 所示:其中红色线为该表唯一索引,绿色线为该表的主键,蓝色线为该表的外键。图2-11 各表之间的约束关系2.6本章小结本章主要介
32、绍了数据库的设计,列出了各表的清单,通过对数据库的整体设计构造出了整个项目所需要的表结构,以及各表之间的约束关系8。第3章 系统设计与功能实现3.1程序流程图程序流程图是方法研究改进工作方法的有用工具。不论作业研究过程中运用何种技术,流程程序图总是必经的一步,它是应用最普遍的一种工具9。系统登录流程图,如图3-1 所示: 图3-1 系统登录流程图用户首先在登录页面输入帐 号,转换焦点的时候,系统判断有无此帐号信息,如果没有,在姓名出给出提示“帐号不正确!”;如果有,则在姓名出显示出将要登录的操作员姓名。输入密码错误时,给出“密码错误”提示信息,并要求重新输入。如果是系统管理员登录,则有操作系统
33、的所有权限;图书管理员登录,其只有图书的借阅、归还、查询以及更改自己密码的权限。借阅者信息管理流程图,如图3-2 所示: 图3-2 借阅者信息管理选择借阅者信息下的办卡选项,系统管理员可以给需要借书的人办理借书卡,借阅者编号为系统自动生成,不能手动填写。办卡日期为当前系统日期,不可更改。选择卡片管理选项,管理员可以通过查询借阅者编号,查询出需要操作的借阅者信息,进行修改与删除。执行删除操作的时候,如果当前借阅者有在借的图书记录,则不可删除。图书类别管理流程图,如图3-3 所示:图3-3 图书类别管理流程选择图书类别下的添加图书类别,系统管理员可以向数据库中添加图书类别,图书类别编号为系统自动生
34、成,不能手动填写。选择图书类别管理选项,管理员可以通过查询图书类别编号,查询出需要操作的图书类别信息,进行修改与删除。执行删除操作的时候,如果当前图书类别下有图书信息,则不可删除。图书信息管理流程图,如图3-4 所示:图3-4 图书信息管理流程选择图书信息下的添加图书,系统管理员可以向数据库中添加图书信息,图书编号为系统自动生成,不能手动填写。选择图书信息管理选项,管理员可以通过查询图书编号,查询出需要操作的图书信息,进行修改与删除。执行删除操作的时候,如果当前图书已借出,则不可删除。图书借阅管理流程图,如图3-5 所示: 图3-5 图书借阅管理流程图选择图书借阅管理下的图书借阅选项,首先输入
35、借阅者编号,系统自动判断此借阅者是否已到达最大借阅量和押金是否少于50元,如果二者有一项不满足则不可借阅;二者都满足,判断要借阅的图书是否存在或已借出,如果不满足,则借阅失败。选择图书归还选项,输入需要归还的图书编号,完成还书操作,此时系统自动计算超期天数以及应该罚款的钱数。选择图书查询选项,首先选择在什么条件下查询,输入查询条件,完成查询。系统管理流程图,如图3-6 所示: 图3-6 系统管理流程图选择系统管理下操作员管理,系统管理员可以选择进行对操作员的添加、修改以及删除操作。已经登录的操作员可以选择更改口令进行自己的密码更改,更改之前要输入一次旧密码,来确认是否为本人操作。3.2程序各模
36、块实现3.2.1 主窗体模块主窗体模块是系统的主界面,该模块主要功能是对系统的操作做出导航,其菜单连接到各个模块的功能界面。为确保系统中数据的完整与准确性,所以在以下介绍的所有模块中可以填写的字段都设为不能为空,必须要求填写。图3-7 主窗体模块图3.2.2系统登录模块对于系统而言,不是所有人都可以进入,只有系统管理员和图书管理员才有权进入系统进行操作。输入正确的帐号和密码进入系统时,系统会首先判断其权限,如果是系统管理员,则其拥有对系统操作的所有权限,否则,其只拥有对图书的借阅、归还、查询以及更改密码的权限。 图3-8 系统登录模块图其功能主要代码如下:在【登录】按钮的clicked()事件
37、中:string ls_ope_id,ls_ope_pwd,ls_get_pwd,ls_ope_permission,ls_ope_namels_ope_id = trim(sle_ope_id.text)select ope_pwd,ope_permission,ope_name into :ls_ope_pwd,:ls_ope_permission,:ls_ope_name from lib_operator where ope_id = :ls_ope_id;ls_get_pwd = trim(sle_ope_pwd.text)if trim(ls_ope_id)= "&quo
38、t; or isnull(ls_ope_id) thenmessagebox('提示','请输入帐号!')sle_ope_id.text = ""sle_ope_id.setfocus( )returnelseif trim(ls_ope_pwd) = "" or isnull(ls_ope_pwd) thenmessagebox('提示','请输入正确的帐号!')returnelseif ls_ope_pwd <> ls_get_pwd thenmessagebox('
39、提示','密码错误!')sle_ope_pwd.text = ""sle_ope_pwd.setfocus( )returnelseclose(parent)gs_ope_id = ls_ope_idgs_permission = ls_ope_permissiongs_ope_pwd = ls_ope_pwdopen(w_main)end ifif gs_permission = '0' thenm_main.m_reader.enabled = falsem_main.m_type.enabled = falsem_main.m_
40、book.enabled = falsem_main.m_system.m_system_ope.enabled = falseend ifend ifend if3.2.3 借阅者信息管理模块借阅者信息管理模块包括办卡和卡片管理两个子模块。1、进入办卡界面,首先可以在数据窗口中看到所有借阅者的借书卡信息,因为借书卡编号是唯一的,所以这里采用系统自动生成编号的方式,为每一位借阅者按次序生成一个唯一的编号。同时办卡日期为当前系统时间,保证了其准确性。图 3-9 办卡界面该子模块主要代码如下:在【保存】按钮的clicked()事件中;String ls_reader_name,ls_reader_
41、sex,ls_reader_card,ls_reader_maxnum,ls_reader_money,ls_reader_teldate ld_reader_datels_reader_name = trim(sle_reader_name.text)if rb_sex1.checked thenls_reader_sex = '男'elsels_reader_sex = '女'end ifls_reader_card = trim(sle_reader_card.text)ls_reader_maxnum = trim(sle_reader_maxnum.t
42、ext)ls_reader_money = trim(em_reader_money.text)ls_reader_tel = trim(em_reader_tel.text)ld_reader_date = date(em_reader_date.text)if trim(ls_reader_name) = "" or isnull(ls_reader_name) thenmessagebox('提示','姓名不能为空!')returnend ifif trim(ls_reader_card) = "" or isnul
43、l(ls_reader_card) thenmessagebox('提示','证件号不能为空!')returnend ifif trim(ls_reader_maxnum) = "" or isnull(ls_reader_maxnum) thenmessagebox('提示','最大借阅数不能为空!')returnend ifif trim(ls_reader_money) = "" or isnull(ls_reader_money) thenmessagebox('提示'
44、;,'押金不能为空!')returnend ifif trim(ls_reader_tel) = "" or isnull(ls_reader_tel) thenmessagebox('提示','电话不能为空!')returnend ifif isnull(ld_reader_date) thenmessagebox('提示','办卡日期不能为空!')returnend ifinsert into reader(reader_name,reader_sex,reader_card,reader_
45、maxnum,reader_money,reader_tel,reader_date)values(:ls_reader_name,:ls_reader_sex,:ls_reader_card,:ls_reader_maxnum,:ls_reader_money,:ls_reader_tel,:ld_reader_date);if sqlca.sqlcode <> 0 thenrollback;messagebox('提示','保存失败!')returnelsecommit;messagebox('提示','保存成功!'
46、;)end ifsle_reader_name.text = ""sle_reader_card.text = ""sle_reader_maxnum.text = ""em_reader_money.text = ""em_reader_tel.text = ""em_reader_date.text = ""sle_reader_name.setfocus( )dw_1.retrieve( )2、办卡管理界面,主要是对借阅者的信息进行修改和删除信息两个功能。如果信息数量比
47、较小的话,可以直接从数据窗口中手动选择,但是一般图书馆的信息都是比较大的,所以此模块支持管理员通过借阅者编号进行指定的信息查询,这样既快捷又方便操作,大大地减少了操作员的工作量和操作时间。选择需要操作的卡片信息,在下方进行数据操作。需要注意的是,在执行删除操作时,如果此借阅者有未还的图书,那么就不能删除此条信息。图3-10 办卡管理界面该模块主要代码如下:查询功能的实现,在【查询】按钮的clicked()事件中:string ls_reader_idls_reader_id = trim(sle_1.text)dw_1.setfilter( "reader_id = '&qu
48、ot;+ls_reader_id+"'")dw_1.filter( )数据修改功能实现,在【修改】按钮的clicked()事件中:string ls_reader_name,ls_reader_maxnum,ls_reader_sex,ls_reader_card,ls_reader_tel,ls_reader_money,ls_reader_iddate ld_reader_datels_reader_name = trim(sle_reader_name.text)ls_reader_maxnum = trim(sle_reader_maxnum.text)if
49、 rb_sex1.checked thenls_reader_sex = '男'elsels_reader_sex = '女'end ifls_reader_card = trim(sle_reader_card.text)ls_reader_tel = trim(sle_reader_tel.text)ld_reader_date = date(em_reader_date.text)ls_reader_money = trim(em_reader_money.text)if dw_1.getrow( ) <> 0 thenls_reader_id
50、 = dw_1.object.reader_iddw_1.getrow()elsereturnend ifif trim(ls_reader_name) = "" or isnull(ls_reader_name) thenmessagebox('提示','姓名不能为空!')returnend ifif trim(ls_reader_card) = "" or isnull(ls_reader_card) thenmessagebox('提示','证件号不能为空!')returnend if
51、if trim(ls_reader_maxnum) = "" or isnull(ls_reader_maxnum) thenmessagebox('提示','最大借阅数不能为空!')returnend ifif trim(ls_reader_money) = "" or isnull(ls_reader_money) thenmessagebox('提示','押金不能为空!')returnend ifif trim(ls_reader_tel) = "" or isnu
52、ll(ls_reader_tel) thenmessagebox('提示','电话不能为空!')returnend ifif isnull(ld_reader_date) thenmessagebox('提示','办卡日期不能为空!')returnend ifupdate reader set reader_name = :ls_reader_name,reader_maxnum = :ls_reader_maxnum,reader_sex = :ls_reader_sex,reader_card = :ls_reader_car
53、d,reader_tel = :ls_reader_tel,reader_money = :ls_reader_money,reader_date = :ld_reader_datewhere reader_id = :ls_reader_id;if sqlca.sqlcode <> 0 thenrollback;messagebox('提示','修改失败!')returnelsecommit;messagebox('提示','修改成功!')end ifdw_1.retrieve( )删除功能的实现,在【删除】按钮的c
54、licked()事件中:int li_select,li_countstring ls_reader_idif dw_1.getrow( ) = 0 thenmessagebox('提示','请选择要删除的读者!')returnend ifls_reader_id = dw_1.getitemstring( dw_1.getrow(),1)select count(*) into :li_count from borrow where reader_id = :ls_reader_id;if li_count <> 0 thenmessagebox(
55、'提示','该读者有借阅记录,不能删除!')returnend ifli_select = messagebox('提示','确定要删除吗?',exclamation!,yesno!)if li_select = 1 thendw_1.deleterow( dw_1.getrow()elsereturnend ifdw_1.update( )if sqlca.sqlcode <> 0 thenrollback;messagebox('提示','删除失败!')returnelsecommit;messagebox('提示','删除成功!')end ifdw_1.retrieve( )3.2.4图书类别模块图书类别模块包括两个子模块,添加图书类别模块和图书类别管理模块。1、添加图书类别子模块可以向数据库中录入图书类别信息,包括图书类别编号和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63438:2024 EN Railway applications - Fixed installations - Protection principles for AC and DC electric traction power supply systems
- 2025-2030年中国锅炉制造行业运营状况及发展规划分析报告
- 2025-2030年中国铲运机市场发展现状及前景趋势分析报告
- 2025-2030年中国铅锌冶炼市场运营状况及发展策略研究报告
- 2025山西省建筑安全员B证(项目经理)考试题库
- 2025年青海省安全员-C证考试(专职安全员)题库附答案
- 2025-2030年中国虹膜识别机系统市场经营状况及发展建议分析报告
- 2025年天津市安全员《A证》考试题库
- 2025-2030年中国相容剂行业发展现状及投资规划研究报告
- 2025-2030年中国生物质锅炉产业运营状况与发展潜力分析报告
- 加强师德师风建设学校师德师风警示教育讲座培训课件
- 猪饲料购销合同书
- 常用小学生词语成语积累归类大全
- 七种不同样式的标书密封条
- 全国水利工程监理工程师培训教材质量控制
- 中国传统成语故事(英文版)
- 铸造厂总降压变电所及厂区配电系统设计
- 航拍中国优秀课件
- 《做自己的心理医生 现代人的心理困惑和自我疗愈策略》读书笔记思维导图PPT模板下载
- 小学音乐组集体备课计划
- 稿件修改说明(模板)
评论
0/150
提交评论