毕业设计
资料借阅管理系统
姓 名: 田璐 学 号: 06070005 专 业:计算机科学与技术 所在系: 计算机工程系 指导老师: 樊建华
天津理工大学中环信息学院 本科毕业设计选题审批表
届:2010 系:计算机工程 专业: 计算机科学与技术 2009 年 12月 21日
学生姓名 指导教师 所选题目 题目来源 田璐 樊建华 学号 职称 资料借阅管理系统 生产实践 06070005 讲师 选题理由(选题意义、拟解决的问题、对专业知识的综合训练情况等): 现代社会中,很多部门在资料借阅方面还是使用传统的手工管理方式,存在繁琐、效率低、资料易丢失、管理不便等弊端。随着计算机技术的不断发展,用计算机代替手工管理资料,可以解决上述所有的烦恼,提高工作效率,降低人为干扰因素,保证整个运作的有条不紊进行。资料借阅管理系统主要是负责管理公司中纸介质资料的使用。 本设计的主要功能包括: 1.信息的录入; 2.信息的检索:根据指定条件查询相关的资料; 3.信息的删除:无用过期的资料删除; 4.资料的借阅、归还和催还。 使用的工具: Microsoft Visual Studio 2003 SQL Server 2000 本设计涉及到数据库的设计和操作,因此可以锻炼学生对于数据库使用的能力,同时锻炼学生的独立设计系统的能力。 签字: 年 月 日 指导教师意见 签字: 年 月 日 系主任意见 签字: 年 月 日
天 津 理 工 大 学 中环信息学院 本科毕业设计任务书
题目:资料借阅管理系统
学生姓名 田璐 届 2010 系 计算机工程 专业 计算机科学与技术 指导教师 樊建华 职称 讲师 下达任务日期 2010年1月4日
天津理工大学中环信息学院教务处制
一、毕业设计内容及要求
1.研究内容
本课题的主要研究内容就是设计一套资料管理系统,用以取代传统的手工管理方式。 基本功能如下:
(1) 资料信息的录入:将有关资料信息录入数据库;
(2) 资料信息的检索:根据指定条件查询相关的资料,包括单条件查询和多条件查询; (3) 资料信息的修改:资料信息的修改以及删除; (4) 资料的借阅:资料借阅信息的登记; (5) 资料的催还:过期资料的催还通知;
(6) 资料的归还:归还资料,并作适当的归还记录; (7) 用户的权限设置:不同用户的使用权限不同。 2.设计要求
(1) 系统的界面设计合理,符合大多数用户的使用要求; (2) 系统功能设计满足实际中资料借阅的总体要求; (3) 数据库设计合理,包含所需资料信息,便于操作; (4) 有效生成相应的借阅单以及催还单等; (5) 最终提交毕业论文以及设计的软件。 3.工具软件
Microsoft Visual Studio 2003 SQL Server 2000
二、毕业设计进度计划及检查情况记录表
序号 起止日期 计划完成内容 实际完成内容 检查日期 检查人签名 1 2010.1.4~2010.1.17 查找资料 撰写开题报告 2 2010.1.18~2010.3.5 熟悉工具软件 完成系统需求分析 3 2010.3.6~2010.3.15 完成系统的总体结构设计 4 2010.3.16~2010.3.25 设计后台数据库 5 2010.3.26~2010.4.10 资料的借阅、归还和催还实现 6 2010.4.11~2010.4.20 实现用户信息管理 7 2010.4.21~2010.5.5 系统的修改以及测试 8 2010.5. 6~2010.5.20 撰写设计说明书准备答辩 9 10 注:(1)表中“实际完成内容”、“检查人签名”栏目要求用笔填写,其余各项均要求打印。
(2)毕业设计(论文)任务书一式二份,一份学院系留存,一份发给学生,任务完成后装订在毕业设计说明书(毕业论文)内。
天津理工大学中环信息学院 本科毕业设计开题报告
届:2010 系:计算机工程系 专业:计算机科学与技术 2010 年1 月 17 日
毕业设计题目 学生姓名 指导教师 资料借阅管理系统 田璐 樊建华 学号 职称 06070005 讲师 (报告内容包括课题的意义、国内外发展状况、本课题的研究内容、研究方法、研究手段、研究步骤以及参考文献资料等。) 一.课题意义 由于传统的手工管理资料需要对流通的图书和杂志进行手工登记,没有具体的数据库可提供查询,对于借出的书刊有哪些、借了多长时间、何时归还都不知道。当用户查看借阅的资料时却无法查询,给图书馆的管理带来了很多的不便。并且手工管理耗费了大量的人力、物力资源,不符合经济效益原则。而随着信息化的发展及计算机技术的广泛运用,高等学校各部门的资料室管理也可以考虑利用计算机管理系统来代替传统的手工管理。设计高校资料管理系统可以建立各种信息数据库,以实现高校资料室对教师用户基本信息的管理,资料管理,资料的流通如借阅和归还的管理,教师也可以通过本系统方便的借阅查阅资料、续借和预约所需要的参考资料等。同时此系统可以实现资料统计分析,根据统计分析的结果产生应购资料的日志等许多功能。通过毕业设计可以让本人进一步的掌握系统开发的理论和方法,并运用于实际的操作之中。设计高校资料室管理系统还可以锻炼自己独立开发一个小型软件的能力,让自己形成一种独立思考的习惯和周全的想象各种事情的能力,给我们将来的工作带来一些经验。同时,该课题能实现资料室管理由传统的手工操作转变为计算机管理, 方便教师查找和使用需要的教学科研信息,很大程度的提高了管理人员的工作效率,提高了图书资源的利用率。 二. 国内外发展状况 上个世纪90年代初美国科学家首次提出数字图书馆(Digital Library)这一概念以来,全球开展数字图书馆研究与实践已近十几个年头。我国图书情报界、IT业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究、关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可分为以下三种类型:资源服务型、服务研究型和联合建设型。虽然,从严格意义上讲,资源 天津理工大学中环信息学院教务处制表
服务型不能算是数字图书馆,但它的网上信息服务目前已在大多数图书馆开展,现阶段我国图书情报界提供网上数字服务的主要形式。 三. 本课题的研究内容 本课题的主要研究内容就是设计一套资料管理系统,用以取代传统的手工管理方式。 基本功能如下: (1) 资料信息的录入:将有关资料信息录入数据库; (2) 资料信息的检索:根据指定条件查询相关的资料,包括单条件查询和多条件查询; (3) 资料信息的修改:资料信息的修改以及删除; (4) 资料的借阅:资料借阅信息的登记,并能打印借阅单; (5) 资料的催还:过期资料的催还通知并打印催还单; (6) 资料的归还:归还资料,并作适当的归还记录; (7) 用户的权限设置:不同用户的使用权限不同。 四. 研究方法和研究手段 高校资料室管理系统的生命周期将采用结构化的快速原型模型,它是通过快速建立起来的可以在计算机上运行的程序,是先完成最终功能的一个子集。具体可以通过以下具体的步骤: 1.开题报告完成后需要对这个设计进行调查研究,可以通过访问资料室管理的老师,询问其关于资料室的相关工作,对系统做大致的了解,得到资料室管理系统所需完成的主要功能,并给出自己需要做的一些相关工作。还要对其开发工具进行熟悉和了解以更好的完成此设计; 2.快速设计一个根据上述调查研究得出的仅包含其中某几个主要功能的可执行的程序,让相关人员在计算机上试用它并将它和相关人员讨论,看看他们的意见是什么,筛选正确的意见,并根据他们的意见对设计做相应的修改; 3.设计需要进行不断的添加其最初所要完成的功能,为了达到要求必须经常和相关人员进行交流以得到更好的修改标准。对相关人员提出的意见进行思考,对设计做相应的修正直至得到肯定; 4.在计算机上运行程序,应用黑盒测试法和白盒测试法先后对程序进行相应的测试。测试后让相关人员检测是否符合要求, 按其提出的要求进行修改,直至其满意并接受系统。高校资料室管理系统是单机版的,该系统将在用户界面上显示它的所有功能,通过用户界面和和使用者进行交互。系统将其自带的数据库放入系统文件夹中,用户运行程时将直接使用系统的数据库而不必另外添加数据库。并且还有一个默认的用户名和密码供首次使用此系统的人员使用,这样可以省略了测试系统时创建数据库的时间。用户使用前台采用Delphi 开发工具设计的界面进行操作,而 SQL Server 2000用做后台数据库进行软件开发。 天津理工大学中环信息学院教务处制表
五.研究步骤 1. 项目定义:通过与学校对学校图书馆管理人员访问调查,系统的分析写出关于该设计的性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后使项目规划得到图书馆管理员的认可。 2. 需求分析:结合任务书,同时与图书馆管理员密切配合,充分交流信息,确认管理员确认的系统逻辑模型,并用数据流图、数据字典和简要的算法表示逻辑模型。 3. 总体设计:完成系统的体系结构设计,确定程序由哪些模块组成。 4. 详细设计:详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。 5. 编码和单元测试:用VB.NET语言与SQL Server数据库将详细设计的结果翻译成程序,写出正确的容易理解容易维护的程序模块,并仔细测试编写出的每一个模块。 6. 综合测试:通过各类的测试及相应的调试使软件达到预定的要求。 7. 撰写设计说明书准备答辩。 六.参考书目 [1]Jeffrey L.Whitten著,Lonnie D.Bentley,Kevin C.Dittman[M] .系统分析与设计方法.北京:机械工业出版社, 2004. [2]王珊,陈红 著.数据库系统原理教程[M]. 北京:清华大学出版社,1998. [3]张海潘 著.软件工程编论[M] .北京:清华大学出版社,2003. [4]严蔚敏,吴伟民 著.数据结构[M] .北京:清华大学出版,2004. [5]王晓东 著.计算机算法设计与分析[M] . 北京:电子工业出版社,2005. [6]William R.Stanek 著,SQL Server 2008管理员必备指南[M] . 北京:清华大学出版社,2009. [7]王珊,陈红 著.数据库系统原理教程[M].北京:清华大学出版社,1998. [8]李春葆,金晶,曾平 著.VB.NET 2005程序设计教程[M] . 北京:清华大学出版社,2009. [9]David Schneider著,Visual Basic 2008程序设计(第七版)[M] . 北京:清华大学出版社2009 . [10]高守传 著,SQL结构化查询语言详解[M] .北京:人民邮电出版社,2007. 指导教师意见 签字: 年 月 日 天津理工大学中环信息学院教务处制表
资料借阅管理系统
摘 要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源的有效管理,建立与自身特点相适应的管理信息系统。
本文介绍了在VB.NET+SQL环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
本系统界面友好,操作简单,比较实用。
关键词:资料 VB.NET 借阅 管理 数据库
Paper Management System
ABSTRACT
With more and more widespread and profound application of information technology in management, the implement of management information system has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which means tightening up the enterprise management and strengthening effective management of any resource (staff, finance, property, etc.) internal the enterprise, and also establishing a management information system fitting in with its own characteristics.
This article introduces the detailed process of exploring a management information system under the environment of VB.NET and SQL Sever, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation. That is to establish a set of effective scheme for library management by computer, through analyzing disadvantages of traditional library management by human resources. This article emphasizes on three sections. The system analysis section of library management information includes feasible analysis, organizing organs analysis, management function analysis, technological process of business analysis, technological process of data analysis, data dictionary, disposal description and the like. The system design section mainly focuses on system function design and data base design. And the system realization section has provided several major program charts, together with the main windows and programs.
This economical and pragmatic system has explicit interface, with simple operation.
Key Words:VB.NET SQL Sever Search
目 录
第一章 引言.......................................................................................................... 1
1.1 课题的研究 .................................................................................................................. 1 1.2 国内外发展现状 .......................................................................................................... 1 1.3 课题研究内容 .............................................................................................................. 1 1.4 软、硬件环境 .............................................................................................................. 2
1.4.1客户机配置要求 ................................................................................................ 2 1.4.2 服务器配置要求 ............................................................................................... 2
第二章 开发工具介绍 ......................................................................................... 3
2.1 ASP.NET的简介 ........................................................................................................... 3
2.1.1 VB.NET的概述 .............................................................................................. 3 2.1.2 VB.NET的特点 ............................................................................................ 3 2.1.2 VB.net与VB区别 ....................................................................................... 4 2.2 SQL Server简介 ........................................................................................................... 4
2.2.1 SQL Server特点 ................................................................................................ 4 2.2.2 SQL Server功能 ................................................................................................ 5 2.3 B/S简介 ........................................................................................................................ 5
2.3.1 B/S的概述 ......................................................................................................... 5 2.3.2 B/S的优缺点 ..................................................................................................... 6 2.4 三层构架简介 .............................................................................................................. 6
2.4.1 三层构架的概述 ............................................................................................... 6 2.4.2 三层构架的原理 ............................................................................................... 7
第三章 系统需求分析 ......................................................................................... 9
3.1软件需求分析 ............................................................................................................... 9
3.1.1普通用户功能需求 ............................................................................................ 9 3.1.2管理员功能需求 ................................................................................................ 9 3.2 软件功能模块设计 .................................................................................................... 10
3.2.1 软件功能分析: ............................................................................................. 10 3.2.2 数据项分析: ................................................................................................. 10 3.3数据库结构设计 ......................................................................................................... 12
3.3.1 数据库概念结构设计 ..................................................................................... 12 3.3.2 数据库逻辑结构设计 ..................................................................................... 16
第四章 系统功能模块实现 ............................................................................... 22
4.1 系统功能模块 .......................................................................................................... 22 4.2 图书管理模块 .......................................................................................................... 23
4.2.1 图书采购模块 ................................................................................................. 23 4.2.2图书流通功能 .................................................................................................. 24 4.2.3注销图书 .......................................................................................................... 25 4.3 读者管理模块 ............................................................................................................ 25
4.3.1 添加读者 ......................................................................................................... 26 4.3.2注销读者 .......................................................................................................... 26 4.4 信息维护 .................................................................................................................... 27
4.4.1图书信息维护 .................................................................................................. 27 4.4.2 读者信息维护 ................................................................................................. 28 4.5 统计查询功能 ............................................................................................................ 28
4.5.1 精确查询 ......................................................................................................... 28 4.5.2 模糊查询 ......................................................................................................... 29
第五章 总结........................................................................................................ 30 参考文献 .............................................................................................................. 31 附 录 .............................................................................................................. 32 致 谢 .............................................................................................................. 59
天津理工大学中环信息学院2010届本科毕业设计说明书
第一章 引言
1.1 课题的研究意义
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
目前国内许多学校图书馆借阅工作部分还是手工管理,工作效率很低,并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理。(这一部分再稍微增加一点内容,论文写作中不要使用第一人称和第二人称,使用第三人称)
1.2 国内外发展现状
飞速发展的科技社会要求人们掌握最新科技最前沿的知识,书籍作为人们获取并增长知识的主要途径,图书馆在人们的生活中占据了主要的位置。
图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和科研机构。图书馆的产生,是保存人类文化遗产的需要。因为有了图书馆这一机构,人类的社会实践所取得的经验、文化、知识者得以系统地保存并流传下来,成为今天人类宝贵的文化遗产和精神财富。近代,资本主义大工业的产生,要求工人有较多的劳动知识和劳动技能,图书馆从而真正走入平民百姓当中,担负起了对工人的科学知识文化教育的任务。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,有着手工管理所无法比拟的优点:例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。(这一部分好像没有怎么介绍国内外发展现状)
1.3 课题研究内容
本课题的主要研究内容就是设计一套资料管理系统,用以取代传统的手工管理方式。基本功能如下:
1. 资料信息的录入
将有关资料信息录入数据库。
1
天津理工大学中环信息学院2010届本科毕业设计说明书
2. 资料信息的检索
根据指定条件查询相关的资料,包括单条件查询和多条件查询。 3. 资料信息的修改 资料信息的修改以及删除。 4. 资料的借阅
资料借阅信息的登记,并能打印借阅单。 5. 资料的催还
过期资料的催还通知并打印催还单。 6. 资料的归还
归还资料,并作适当的归还记录。 7. 用户的权限设置 不同用户的使用权限不同。
1.4 软、硬件环境
1.4.1客户机配置要求
1. 硬件环境(最低配置)
(1) CPU :600 兆赫 (MHz) Pentium 处理器 (2) 内存:256MB以上 (3) 硬盘剩余空间:180M以上 2. 软件环境(最低配置)
操作系统: Windows 98、2000、xp
1.4.2 服务器配置要求
1. 硬件环境(最低配置)
(1) CPU :600 兆赫 (MHz) Pentium 处理器 (2) 内存:512MB以上。 (3) 硬盘剩余空间:1G以上。 2. 软件环境(最低配置)
(1) 操作系统:Window2000/XP(需要安装IIS) (2) 后台数据库:Microsoft SQL Server 2000或更高 (3) 开发工具:Microsoft Visual Studio 2003
2
天津理工大学中环信息学院2010届本科毕业设计说明书
第二章 开发工具介绍
本城市公交查询系统主要是使用B/S模式,使用Visual Basic.Net语言,结合SQL Server数据库,三层构架结构开发的。下面将所使用的语言模式及开发工具做一个简单的介绍:
2.1 ASP.NET的简介
2.1.1 VB.NET的概述
VB.NET是Visual Basic.net的简称。提到VB.net,就不能不先提一下VB(Visual Basic)。 Visual Basic是Windows环境下的一种简单、易学的编程语言,由于其开发程序的快速、高效,深受程序员的喜爱。严格地来说,Visual Basic只是半面向对象的语言,其面向对象的能力及程序的执行效率往往不能一些程序员的需要,因此,大的项目很少使用Visual Basic来开发。Visual Basic的最后一个版本是Visual Basic 6.0。
在Visual Basic 6.0之后,微软公司推出了全新的“.NET构架”,在其第一个版本-Visual Studio.NET 7.0中,集成了Visual Basic 7.0、Visual C++ 7.0及C#,其中的Visual Basic 7.0(VB 7.0),即是VB.net的第一个版本。
VB.net是微软最新平台技术,是.net framework SDK的一种语言。VB.net和VC#.net在功能上没有区别。编译以后生成的可执行文件被称为Assembly,即程序集。
VB.net的版本号是VisualBasic7.0,它的运行是建立在CLR(Common Language Runtime)和MSIL(Microsoft Intermediate Language)虚拟器上的。其实,它的机制和Java差不多。
2.1.2 VB.NET的特点
VB.net 继承了VB6.0的可视化和易学易用的特点,同时结合了完全面向对象的方法大大减轻了程序开发者的工作。
(1) VB.NET完成集成到Visual Studio集成开发环境中,这个集成开发环境与VB在若干方面有差异。主要体现在窗体的布局及菜单等方面都有所不同。
(2) VB.NET的项目也与VB不同。在VB中,项目使用基于引用的项目文件包含对项目项的引用,这些引用指定项目项的路径。VB.Net使用基于文件夹的模型,即所有项目项均放置在项目文件夹层次结构中。
(3) 在数据访问技术、数据访问具体实现方法和数据绑定上的更改。在VB.NET中使用ADO.NET来访问数据库,ADO.NET是.NET框架中的一部分,其对应的类库是.Net Framework SDK的真子集。在VB.NET中实现数据库访问的方法有两种:其一是在程序设计阶段,通过创建、配置数据适配器DataAdapter和生成数据集DataSet;其二是运行中,通过编程方式动
3
天津理工大学中环信息学院2010届本科毕业设计说明书
态创建、配置数据适配器和创建、生成数据集。
在VB中实现数据绑定是通过设置控件的属性来实现的,通常是把控件的显示属性绑定到数据源中的相应字段。在VB.NET中,数据绑定的应用范围更加广泛,可以把任何控件的任何属性绑定到包含数据的任何结构中。
(4) 对Web的开发的更改。在VB.NET中是使用ASP.NET来编写Web页面的。在ASP中使用的也不再是脚本语言,而是真正意义的编程语言,如VB.NET、C#。凭借ASP.Net的Web应用程序、XML Web Service等基于Web的功能,使用VB.NET开发WEB页面与开发Window应用程序很相似。Web页面代码也显得有条有理了。
2.1.2 VB.net与VB区别
VB.net是基于.NET框架的完全对向对象的编程语言,而VB 6.0只是半面向对象的语言,使用VB.net可以编制出功能更加强大的windows程序。现在,我们把VB.net和VB 6.0做一下比较,看看VB.net对比VB 6.0有着什么样的特性和优点。
1.在VB 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。在VB.net中,可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。构造函数的使用,简化了编码的过程和出错的机会。
2.VB.net编写线程的能力比VB 6.0有很大的增强。
3.在VB 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。在VB.net中,可以使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。
4. VB.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。
5.因为VB.net是基于.NET框架的,可以与其它.NET语言协同工作。
6.在VB.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点。如果你能进一步学习VB.net,你会发现更多的新特性和优点。(整篇论文中不要使用第一人称和第二人称,使用第三人称)
2.2 SQL Server简介
2.2.1 SQL Server特点
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。 3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管
4
天津理工大学中环信息学院2010届本科毕业设计说明书
理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows XP的膝上型电脑到运行Windows 2003的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
2.2.2 SQL Server功能
1.数据定义
SQL让用户定义存储数据的结构和组织,以及存储数据项之间的关系。 2.数据检索
SQL允许用户或应用程序从数据库中检索存储的数据并使用它。 3.数据操作
SQL允许用户或应用程序通过添加新数据、删除旧数据和修改以前存储的数据对数据库进行更新。
4.访问控制
可以使用SQL来限制用户检索、添加和修改数据的能力,保护存储的数据不被非授权的用户所访问。
5.数据共享
可以使用SQL来协调多个并发用户共享数据,确保他们不会互相干扰。 6.表数据完整性
SQL在数据库中定义完整性约束条件,使它不会由于不一致的更新或系统失败而遭到破坏。
2.3 B/S简介
2.3.1 B/S的概述
B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管
5
天津理工大学中环信息学院2010届本科毕业设计说明书
理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。
随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大特点是:用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW创览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。
2.3.2 B/S的优缺点
1.B/S结构的优点
(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2)业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 (4)开发简单,共享性强 2.B/S 模式的缺点
(1)个性化特点明显降低,无法实现具有个性化的功能要求。 (2)操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 (3)页面动态刷新,响应速度明显降低。
(4)功能弱化,难以实现传统模式下的特殊功能要求。
2.4 三层构架简介
2.4.1 三层构架的概述
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。
6
天津理工大学中环信息学院2010届本科毕业设计说明书
2.4.2 三层构架的原理
3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。如图2.1所示:
图2.1 三层构架图
Fig.2.1 The diagram of 3-tier application
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
1. 表示层
位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
2. 业务逻辑层
业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。
业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演
7
天津理工大学中环信息学院2010届本科毕业设计说明书
了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。
3. 数据访问层
数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。
简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。8
天津理工大学中环信息学院2010届本科毕业设计说明书
第三章 系统需求分析
根据数据库系统生存期的设计方法,从数据库应用系统和开发的全过程来考虑,将数据库应用系统设计分为以下几个阶段:规划、需求分析、概念设计、逻辑设计、物理设计。
3.1软件需求分析
3.1.1普通用户功能需求
要设计一个良好的资料借阅管理系统,就必须首先明确该应用环境对系统的要求。资料借阅管理系统的应用背景为:方便用户查询借阅图书。普通用户是系统的服务对象,也是系统的主要参与者。一个资料借阅管理系统的好坏主要是由普通用户来评判的。因此,该系统需满足以下几方面需求:
1. 图书管理:包括对图书的增加,注销,修改,查询。 2. 读者管理:包括对读者的增加,注销,修改,查询。 3. 图书流通管理:包括图书的借阅管理,还书管理,续接管理。
3.1.2管理员功能需求
(1) 管理员是一个软件系统的管理者,需要处理各种信息的增添、修改、删除,也要对用户的信息进行维护,在本软件中,管理员可以实现以下功能:
(2) 组织各种新书的信息,添加到图书信息表 (3) 可添加、注销、和更新图书信息 (4) 能处理借阅、续借和还书。
(5) 可以对过期未还书的读者进行罚款处理。
(6) 可以按图书编号精确查询,也可以按图书类别、图书名称及索书号进行组合模糊查询。 (7) 可以按读者编号精确查询,也可以按读者姓名、所在系及所在专业信息进行组合模糊查询。
(8) 可以统计图书借阅历史记录以及目前图书的借阅状况。 (9) 可以统计读者借阅历史记录以及目前读者的借阅情况。 (10) 可以进行软件登陆身份验证。
9
天津理工大学中环信息学院2010届本科毕业设计说明书
3.2 软件功能模块设计
3.2.1 软件功能分析
通过对本系统功能的集中和分解,从内容结构上对软件功能进行如下划分: 1. 系统管理:用户登录管理及退出系统。
2. 图书管理:分为图书流通,图书采购,图书注销三个模块。其中图书流通又包括图书借阅,续借图书,归还图书三个子模块。通过对图书编号及读者编号的查询,以确认是否达到借阅、续借、归还、注销的条件等,之后进行相关操作。图书采购录入图书的详尽信息,完成采购工作。
3. 读者管理:分为添加读者,注销读者,罚款管理。能对读者(学生)的详细信息进行录入并添加。
4. 信息维护:分为读者信息维护和图书信息维护。通过图书编号或读者编号精确查询,查找出对应记录,然后将其显示在相应文本框,在修改后保存会数据库。
5. 统计查询:分为读者信息查询和图书信息查询。两个模块分为精确查询和模糊查询,可以根据不同查询需要进行查询。
本系统包括的功能模块如图3.1所示:
3.2.2 数据项分析
通过对系统功能模块的分析,设计数据项如下:
1. 图书信息包括:图书编号、ISBN号、书名、作者、出版社、出版日期、图书类别、单价、馆藏数量、借出数、借出次数。
2. 读者信息包括:读者编号、读者姓名、性别、年龄、系别、专业、可借阅总数、现借阅书数、总借阅书数、合计欠费数。
3. 图书借阅信息包括:图书编号、读者编号、借书日期、还书日期。 4. 管理员信息包括:管理员账号,密码。
10
天津理工大学中环信息学院2010届本科毕业设计说明书
图书馆管理系统 系统管理图书管理读者管理信息维护统计查询帮助 增 加用 户 删 除 用户
切换用户 退出系统 图书流通 图书采购 注销图书 添加渎职 注销读者 图书信息维护 读者信息维护 图书信息统计 读者信息统计 关于 图书借阅归还图书续借图书出版社信息管理 罚款管理
11
图3.1 系统功能模块简图
Fig.3.1 The diagram of system function model
天津理工大学中环信息学院2010届本科毕业设计说明书
3.3数据库结构设计
3.3.1 数据库概念结构设计
1. 图书实体的E-R图,如图3.2所示:
馆藏数 单价 图3.2 图书实体的E-R图 Fig.3.2 Book E-R diagram
ISBN图书编号 书名 作者 借出次图书 借出数 出版社 出版日图书类别 2. 读者出版社实体关系的E-R图,如图3.3所示:
图3.3 读者、出版社实体关系的E-R图 Fig.3.3 Book and Publishinghouse E-R diagram
图书编号 出版社名 mn图书 出版 出版社 出版社号 出版社号 12
天津理工大学中环信息学院2010届本科毕业设计说明书
3. 图书、图书类别实体关系的E-R图,如图3.4所示:
图书 图3.4 图书、图书类别实体关系的E-R图 Fig.3.4 Book and The Category of The Book E-R diagram
图书编号 索书号 m n 属于 图书类别 类别名 索书号
4. 读者实体的E-R的图,如图3.5所示:
现借阅年龄 可借阅专业
图3.5 读者实体的E-R图 Fig.3.5 Reader E-R diagram
总罚款读者编读者姓总借阅读者 性别 系别
13
天津理工大学中环信息学院2010届本科毕业设计说明书
5. 读者、系别、专业实体关系的E-R图,如图3.6所示:
读者编号 读者 m 系别系名 专业号 n 专业名 m 属于 1 系别 1 系别号 系别号 包含 n 专业 专业号 读者编号
属于 专业号 图3.6 读者、系别、专业实体关系的E-R图 Fig.3.6 Reader 、Depertment and speciality E-R diagram
6. 借书关系E-R的图,如图3.7所示:
图3.7 借书关系的E-R图
Fig.3.7 The Relationship of Borrow Books E-R diagram
读者编还书否 图书编读者 m 借书 n 图书 借书日还书日
14
天津理工大学中环信息学院2010届本科毕业设计说明书
7. 还书关系的E-R图,如图3.8所示:
借书日
图3.8 还书关系的E-R图
Fig.3.8 The Relationship of return Books E-R diagram
读者编还书否 图书编读者 m 还书 n 图书 还书日
8. 续借关系E-R图,如图3.9所示:
图3.9续借关系E-R图
Fig.3.9 The Relationship of renew Books E-R diagram
读者编还书否 图书编读者 m 续借 n 图书 借书日还书日
15
天津理工大学中环信息学院2010届本科毕业设计说明书
9. 罚款实体的E-R图,如图3.10所示:
图3.10 罚款实体E-R图 Fig.3.10 The Fine E-R diagram
读者编图书编读者 m 罚款 n 图书 归还日罚款
10. 管理员实体的E-R图,如图3.11所示:
图3.11 管理员实体的E-R图 Fig.3.11 The Librarian E-R diagram
用户名 密码 管理员
3.3.2 数据库逻辑结构设计
本系统使用SQL Server 2000将数据划分为图书信息表、图书类别表、图书与图书类别关系表、出版社信息表、图书出版社信息表、读者信息表、系别信息表、读者与系别关系表、专业信息别、读者与专业关系表、系别与专业信息表、图书借阅信息表、图书流通信息表、罚款信息统计表和管理员信息表15个部分。下面将各表中的字段进行以下简单介绍:
1. 图书信息表(Book)
图书信息表是用来存储图书信息的表,由图书编号、ISBN号、书名、作者和单价等。其
16
天津理工大学中环信息学院2010届本科毕业设计说明书
中图书编号为主键。
表3.1 图书信息表 Table 3.1 Book
字段名 Book_id ISBN Book_name Author Money 中文描述 图书编号 ISBN号 书名 作者 单价 类型 varchar Char varchar varchar Int 50 18 50 50 4
长度 主键否 是 否 否 否 否 可否为空 否 否 否 否 可 2. 图书类别表(Category)
图书类别表,记录图书类别。其中索书号是主键。
表3.2 图书类别表 Table 3.2 Category
字段名 Category
中文描述 类型名 类型 varchar varchar 50 50 长度 主键否 是 否 可否为空 否 否 Category_id 索书号 3. 图书·图书类别关系表(Book & Category)
记录图书与图书类编的对应关系,其中图书编号与索书号是主键。
表3.3 图书〃图书类别关系表 Table 3.3 Book & Category
字段名 Book_id
中文描述 图书编号 类型 varchar varchar 50 50 长度 主键否 是 是 可否为空 否 否 Category_id 索书号 4. 出版社信息表(Publishinghouse)
记录出版社信息,包括出版社名称与出版社编号。其中出版社号为主键。
表3.4 出版社信息表 Table 3.4 Publishinghouse
字段名 PublishingHouse_id 中文描述 类型 长度 50 50 17
主键否 是 否 可否为空 否 否 出版社号 varchar PublishingHouse_name 出版社名 varchar 天津理工大学中环信息学院2010届本科毕业设计说明书
5. 图书 & 出版社关系表(Book & PublishingHouse)
记录出版社和图书的对应关系,其中出版社号与图书编号是主键。
表3.5 图书〃出版社关系表 Table 3.5 Book & PublishingHouse
字段名 PublishingHouse_id Book_id Publish_time 中文描述 类型 长度 50 50 8 主键否 是 是 否 可否为空 否 否 否 出版社号 varchar 图书编号 varchar 出版日期 datetime
6. 读者信息表(Reader)
记录读者的详细信息,包含读者编号、姓名、性别、年龄、可借阅总数、现借阅数、总借阅数、罚款总数。其中读者编号是主键。
表3.6 读者信息表
Table 3.6 Reader
字段名 Roll_No Roll_Name Sex Age Borrow_num 中文描述 读者编号 姓名 性别 年龄 类型 varchar varchar varchar varchar int int int 50 50 50 50 4 4 4 4
7. 系别信息别(Department)
记录系别信息,包括系别名与系别号。其中系别号是主键。
表3.7 系别信息表 Table 3.7 Department
长度 主键否 是 否 否 否 否 否 否 否 可否为空 否 否 否 否 可 可 可 可 可借阅总数 int NowBorrow_num 现借阅数 Borrow_count 总借阅数 Fine_sum 罚款总数 字段名 Department_id Department_name 中文描述 系别号 系别名 类型 varchar varchar
18
长度 50 50 主键否 是 否 可否为空 否 否 天津理工大学中环信息学院2010届本科毕业设计说明书
8. 读者 & 系别关系信息表(Reader & Department)
记录读者与系别的对应关系,其中读者编号与系别号是主键。
表3.8 读者〃系别关系信息表 Table 3.8 Reader & Department
字段名 Roll_No Department_id 中文描述 读者编号 系别号 类型 varchar varchar
长度 50 50 主键否 是 是 可否为空 否 否 9. 专业信息表(Speciality)
记录专业信息,包括专业名称与专业编号。
表3.9 专业信息表
Table 3.9 Speciality
字段名 Speciality_id Speciality_name
10. 读者 & 专业关系信息表(Reader & Speciality)
记录读者与专业的对应关系,其中,读者编号与专业号是主键。
表3.10 读者〃专业关系信息表 Table 3.10 Reader & Speciality
中文描述 专业号 专业名 类型 varchar varchar 长度 50 50 主键否 是 是 可否为空 否 否 字段名 Roll_No Speciality_id
中文描述 读者编号 专业号 类型 varchar varchar 长度 50 50 主键否 是 是 可否为空 否 否 11. 系别 & 专业关系信息表(Department & Speciality)
表3.11 系别〃专业关系信息表 Table 3.11 Department & Speciality
字段名 Department_id Speciality_id
中文描述 系别号 专业号 类型 varchar varchar 长度 50 50 主键否 是 是 可否为空 否 否 12. 图书借阅信息表(Borrow)
记录图书当前的借阅状态,通过图书编号与读者编号两个主键,关联其他表格信息。其中读者编号与图书编号是主键。
19
天津理工大学中环信息学院2010届本科毕业设计说明书
表3.12 图书借阅信息表 Table 3.12 Borrow
字段名 Book_id Roll_No 中文描述 图书编号 读者编号 类型 varchar varchar datetime datetime 50 50 8 8 长度 主键否 是 是 否 否 可否为空 否 否 否 否 Borrow_Date 借书日期 Return_Date 还书日期
13. 图书流通统计表(Book Circulation)
记录图书流通的详细信息,包括馆藏总数、借出次数、借出数量。其中图书编号是主键。
表3.13 图书流通统计表 Table 3.13 Book Circulation
字段名 Book_id Total_num Send_num 中文描述 图书编号 馆藏总数 借出数 类型 varchar varchar int int 50 50 4 4 长度 主键否 是 否 否 否 可否为空 否 否 是 是 Send_count 借出次数
14. 罚款信息统计表(Fine)
记录读者的罚款信息。其中图书编号与读者编号是主键。
表3.14 罚款信息统计表
Table 3.14 Fine
字段名 Book_id Roll_No Return_Date Fine 中文描述 图书编号 读者编号 还书日期 罚款数 类型 varchar varchar datetime int 长度 50 50 8 4
主键否 是 是 否 否 可否为空 否 否 否 可 15. 管理员信息表(User)
记录管理员信息。当管理员进入后台时,须向该表查询是否存在该用户,并且该用户密码是否正确。其中用户名是主键。
表3.15 管理员信息表
Table 3.15 User
字段名 中文描述 类型 长度 20
主键否 可否为空 天津理工大学中环信息学院2010届本科毕业设计说明书
user_id passwd 用户名 密码 varchar varchar
50 50 是 否 否 否 说明:以上各表均满足三范式
(这一章的表名和图名英文翻译和中文含义对不上,需要认真翻译一下)
21
天津理工大学中环信息学院2010届本科毕业设计说明书
第四章 系统功能模块实现
在进行系统的正式开发之前,需要对系统做一个总体的规划,以确定系统的风格,内容、类型和所提供的功能。根据用户的需求,本系统划分为以下3个功能模块:
图4.1 系统主界面 Fig.4.1 Default
4.1 系统功能模块
系统功能模块界面如图4.2所示:
图4.2 系统功能主界面 Fig. 4.2 System Function
系统功能模块有切换用户、增加用户、删除用户、和退出系统四项功能。
22
天津理工大学中环信息学院2010届本科毕业设计说明书
4.2 图书管理模块
这部分模块分为图书采购、图书流通、注销图书和出版社信息管理四个子模块。该模块为本系统的主要功能模块之一。
4.2.1 图书采购模块
图4.3 图书采购 Fig.4.3 Book Purchasing
使用该模块购买图书时,在图4.3所示的文本框中输入所要录入图书的详细信息(str = \"insert into 图书信息表 values('\" & TextBox1.Text & \"','\" & TextBox2.Text & \"','\" &
TextBox3.Text & \"','\" & TextBox4.Text & \"',\" & TextBox9.Text & \") insert into 图书出版社关系表 values('\" & TextBox1.Text & \"','\" & PublishingHouse_id & \"','\" & TextBox6.Text & \"') insert into 图书类别关系表 values('\" & TextBox1.Text & \"','\" & TextBox8.Text & \"')insert into 图书流通统计表 values('\" & TextBox1.Text & \"',\" & TextBox10.Text & \TextBox12.Text & \")\"),确认无误后点击购买按钮,即会讲文本框中所列内容存入数据库。同时,后台数据库会自动根据图书编号将刚录入图书的信息查出,并与窗口下端输出显示,以验证录入是否成功。
23
天津理工大学中环信息学院2010届本科毕业设计说明书
4.2.2图书流通功能
图4.4 图书流通 Fig.4.4 Book Purchasing
资料借阅管理系统的核心功能模块既图书流通模块,包括借阅图书,续借图书,归还图书三个子模块。以借阅图书子模块为例,首先要对需要操作的图书及读者分别按照图书编号与读者编号(学号)进行查询,若对应文本框显示出所查询内容的相关信息,则证明所查询内容在本资料借阅系统中均有记录,可以借阅。之后点击借阅按钮,则对图书借阅信息表进行操作,完成借阅操作(str = \"insert into 图书借阅信息表 values('\" & TextBox1.Text & \"','\" & TextBox5.Text & \"','\" & BorrowDate & \"','\" & ReturnDate & \"','未还')\"),并再次通过图书编号及读者编号查询读者信息表、图书信息表和图书借阅信息表将相关数据显示在窗口的下方(str = \"select 图书借阅信息表.Book_id as 图书编号,图书借阅信息表.Roll_No as 读者编
号,Book_name as 图书名称,Roll_Name as 读者姓名,Borrow_Date as 借书日期,Return_Date as 还书日期 from 图书信息表,读者信息表,图书借阅信息表 where 图书借阅信息表.Book_id=图书信息表.Book_id and 图书借阅信息表.Roll_No=读者信息表.Roll_No\")。同时对图书流通统计表进行相关操作(str = \"update 图书流通统计表 set
Total_num=Total_num-1,Send_num=Send_num+1,Send_count=Send_count+1 where Book_id='\" & num & \"'\"),记录图书流通情况。续借图书与归还图书与此类似。
24
天津理工大学中环信息学院2010届本科毕业设计说明书
4.2.3注销图书
图4.5 图书注销 Fig.4.5 Book Cancellation
图书注销首先录入图书编号,然后查询图书,如果数据库内有该书,则会在图书名称文本框中显示出书名。点击注销即可将图书注销掉。(str = \"delete from 图书信息表 where Book_id='\" & num & \"'\")。
4.3 读者管理模块
本模块由添加读者和注销读者两个字模块组成。
25
天津理工大学中环信息学院2010届本科毕业设计说明书
4.3.1 添加读者
图4.6 添加读者 Fig.4.6 Reader Addition
本模块通过对读者相应信息的录入,再进行添加。(str = \"insert into 读者信息表 values('\" & TextBox1.Text & \"','\" & TextBox2.Text & \"','\" & TextBox3.Text & \"','\" & TextBox4.Text & \"','\" & TextBox5.Text & \"','\" & TextBox6.Text & \"')\")
4.3.2注销读者
图4.7 注销读者 Fig.4.7 Reader Cancellation
读者注销首先录入读者编号,然后查询读者,如果数据库内有该读者,则会在读者姓名文本框中显示出读者名字。点击注销即可将改读者注销掉。(str = \"delete from 读者信息表 where Roll_No='\" & num & \"'\")。
26
天津理工大学中环信息学院2010届本科毕业设计说明书
4.4 信息维护
本模块分为读者信息维护与图书信息维护两个子模块。
4.4.1图书信息维护
图4.8 图书信息维护(维护前) Fig.4.8 Book Information Maintaining
本模块主要完成图书与读者的信息修改功能。以图书信息维护为例:在图书编号文本框中输入所要查询的图书编号,若查询图书存在,会在右侧显示。同时也会在下侧相应的文本框中分别显示出来。图4.8为图书信息维护前的截图。
图4.9 图书信息维护(维护后) Fig.4.9 Book Information Maintaining
点击修改按钮后,对应的图书编号、ISBN号、馆藏书量、借出数和借出次数文本框变为
27
天津理工大学中环信息学院2010届本科毕业设计说明书
可用。此时对需要修改的数据项进行修改,然后点击保存按钮,即可将数据存档,同时将保存后的图书的信息再次显示出。在图4.7与4.8所示案例中,对所查图书的借出次数做了修改。(str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _ \"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _\"图书类别关系表.Category_id as 索书号,Money as 单价,\" & _ \"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from 图书信息表,\" & _\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _\"where 图书信息表.Book_id='\" & num & \"'and \" & _ \"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _\"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\")
4.4.2 读者信息维护
读者信息维护与图书信息维护模块运行机理完全相似,只是图书信息维护模块通过图书编号进行查询,而读者信息维护模块通过读者编号进行查询,因此不再重复叙述。
4.5 统计查询功能
本模块分为图书信息查询与读者信息查询两个子模块。两个模块均能用精确和模糊两种查询方式。
4.5.1 精确查询
28
天津理工大学中环信息学院2010届本科毕业设计说明书
图4.10 图书精确查询
Fig.4.10 The Accurate Searching of Book
精确查询是依据图书编号或者读者编号进行精确的查询。以图书查询为例,以图书编号为基础主键,结合各数据库表单,将所对应的图书的详尽信息列入对应的文本框中,效果如图4.10所示。(str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _ \"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from 图书信息表,\" & _\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _\"where 图书信息表.Book_id='\" & num & \"'and \" & _\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _\"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\")。
4.5.2 模糊查询
图4.11 图书模糊查询
Fig.4.11 The Fuzzy Searching of Book
图书模糊查询可以按图书名称、作者、索书号三个条件进行。对于按图书名称与按作者进行模糊查询时,只要输入文本框内的文字在系统中对应字段内容中包含,即会被列出。当按索书号进行模糊查询时,实际上相当于按索书号进行详细查询,该索书号所对应的该类图书均会被列出。
读者信息查询与图书信息查询类似,只是查询时查询条件不同而已。
29
天津理工大学中环信息学院2010届本科毕业设计说明书
第五章 总结
在做毕业设计之前我没有接触过VB.NET的知识,在我自学的前提下,通过樊老师和同学们的帮助,我终于完成了这个系统。我无法表达由自己一个人独立开发软件的成就感觉,尽管它还有很多不完善的地方。
VB.NET是一门很好上手的语言,至少我是这么认为,为了很好的与时俱进,我在这次制作过程中还学习了很多新的技术,也使用了一些比较成熟的技术。
在这次毕业设计过程中,我也学得到了很多和开发相关的技术领域的知识,同时也通过亲身实践,了解了多种软件的特性和使用方法,也增强了动手能力和独立解决问题的能力,从而更进一步地理解了所学的理论知识。
开发一个好的系统需要熟练的技巧和丰富的知识,由于自己能力有限和时间的限制,本系统还有许多不尽人意之处,功能也很简单,需要今后不断的改进。(这一部分再增加内容,达到多半篇)
30
天津理工大学中环信息学院2010届本科毕业设计说明书
参考文献
[1]Jeffrey L.Whitten著,Lonnie D.Bentley,Kevin C.Dittman[M] .系统分析与设计方法.北京:机械工业出版社, 2004.
[2]王珊,陈红 著.数据库系统原理教程[M]。北京:清华大学出版社,1998. [3]张海潘 著.软件工程编论[M] .北京:清华大学出版社,2003. [4]严蔚敏,吴伟民 著.数据结构[M] .北京:清华大学出版,2004. [5]王晓东 著.计算机算法设计与分析[M] . 北京:电子工业出版社,2005.
[6]William R.Stanek 著,SQL Server 2008管理员必备指南[M] . 北京:清华大学出版社,2009. [7]王珊,陈红 著.数据库系统原理教程[M].北京:清华大学出版社,1998.
[8]李春葆,金晶,曾平 著.VB.NET 2005程序设计教程[M] . 北京:清华大学出版社,2009. [9]David Schneider著,Visual Basic 2008程序设计(第七版)[M] . 北京:清华大学出版社,年代 .
[10]高守传 著,SQL结构化查询语言详解[M] .北京:人民邮电出版社,2007.
31
天津理工大学中环信息学院2010届本科毕业设计说明书
附 录
资料借阅系统部分代码
1. 登录界面代码
Imports System.Data.SqlClient Public Class Form1
Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds As New DataSet Dim da As New SqlDataAdapter
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim user As String Dim password As String user = TextBox1.Text password = TextBox2.Text Dim str As String
str = \"select * from 管理员信息 where user_id='\" & user & \"' and passwd='\" & password & \"'\"
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm Try
conn.Open() da.Fill(ds)
If ds.Tables(0).Rows.Count <> 0 Then Dim frm1 As New frmMain frm1.Show() Me.Hide()
32
天津理工大学中环信息学院2010届本科毕业设计说明书
Else
MessageBox.Show(\"密码或用户名错误,请重新输入\提示信息\") TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox1.Focus() End If
Catch ex As Exception
MessageBox.Show(\"登陆失败\提示信息\") End Try End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Application.Exit() End Sub End Class
2. 图书采购模块代码:
Imports System.Data.SqlClient Public Class frmBuyBook
Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds1 As New DataSet Dim ds2 As New DataSet Dim ds3 As New DataSet Dim da As New SqlDataAdapter
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close() End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
33
天津理工大学中环信息学院2010届本科毕业设计说明书
TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox3.Text = \"\" TextBox4.Text = \"\" TextBox5.Text = \"\" TextBox6.Text = \"\" TextBox7.Text = \"\" TextBox8.Text = \"\" TextBox9.Text = \"\" TextBox10.Text = \"\" TextBox11.Text = \"\" TextBox12.Text = \"\"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str As String
Dim PublishingHouse_id As String
str = \"select PublishingHouse_id from 出版社信息表 where PublishingHouse_name='\" & TextBox5.Text & \"'\"
conn.Open() ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书信息表\")
DataGrid2.DataSource = ds1.Tables(\"图书信息表\") PublishingHouse_id = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(0)
conn.Close()
conn.Open()
34
天津理工大学中环信息学院2010届本科毕业设计说明书
ds2.Clear()
str = \"insert into 图书信息表 values('\" & TextBox1.Text & \"','\" & TextBox2.Text & \"','\" & TextBox3.Text & \"','\" & TextBox4.Text & \"',\" & TextBox9.Text & \") insert into 图书出版社关系表 values('\" & TextBox1.Text & \"','\" & PublishingHouse_id & \"','\" & TextBox6.Text & \"') insert into 图书类别关系表 values('\" & TextBox1.Text & \"','\" & TextBox8.Text & \"')insert into 图书流通统计表 values('\" & TextBox1.Text & \"',\" & TextBox10.Text & \TextBox11.Text & \
comm.CommandText = str da.SelectCommand = comm da.Fill(ds2, \"插入\") conn.Close()
conn.Open() ds3.Clear()
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from 图书信息表,\" & _
\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _
\"where 图书信息表.Book_id='\" & TextBox1.Text & \"'and \" & _ \"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
comm.CommandText = str da.SelectCommand = comm
35
天津理工大学中环信息学院2010届本科毕业设计说明书
da.Fill(ds3, \"插入\")
DataGrid1.DataSource = ds3.Tables(\"插入\") conn.Close() End Sub End Class
3. 图书流通模块代码:
Imports System.Data.SqlClient Public Class frmBorrow
Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds1 As New DataSet Dim ds2 As New DataSet Dim ds3 As New DataSet Dim ds4 As New DataSet Dim ds5 As New DataSet Dim da As New SqlDataAdapter
Private Sub TabPage1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage1.Click
Me.Text = \"图书借阅\" End Sub
Private Sub TabPage2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage2.Click
Me.Text = \"续接图书\" End Sub
Private Sub TabPage3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage3.Click
Me.Text = \"归还图书\" End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As
36
天津理工大学中环信息学院2010届本科毕业设计说明书
System.EventArgs) Handles Button1.Click
If TextBox1.Text = \"\" Then
MessageBox.Show(\"请输入图书编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox1.Text
str = \"select Book_name,Author,Category from 图书信息表,图书类别关系表,图书类别表 where 图书信息表.Book_id='\" & num & \"' and 图书信息表.Book_id=图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds2.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds2, \"图书信息表\")
DataGrid2.DataSource = ds2.Tables(\"图书信息表\") If ds2.Tables(0).Rows.Count = 0 Then
MessageBox.Show(\"没有该图书\提示信息\") Else
TextBox2.Text = ds2.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(0)
TextBox3.Text = ds2.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(1)
TextBox4.Text = ds2.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(2)
End If conn.Close()
End If End Sub
37
天津理工大学中环信息学院2010届本科毕业设计说明书
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox5.Text = \"\" Then
MessageBox.Show(\"请输入图书编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox5.Text
str = \"select * from 读者信息表 where Roll_No='\" & num & \"'\"
str = \"select Roll_Name,Sex,Speciality_name from 读者信息表,读者专业信息表,专业信息表 where 读者信息表.Roll_No='\" & num & \"' and 读者信息表.Roll_No=读者专业信息表.Roll_No and 读者专业信息表.Speciality_id=专业信息表.Speciality_id\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds3.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds3, \"读者信息表\")
DataGrid3.DataSource = ds3.Tables(\"读者信息表\") If ds3.Tables(0).Rows.Count = 0 Then
MessageBox.Show(\"没有该学生\提示信息\") Else
TextBox6.Text = ds3.Tables(\"读者信息表\").Rows(DataGrid3.CurrentRowIndex).Item(0)
TextBox7.Text = ds3.Tables(\"读者信息表\").Rows(DataGrid3.CurrentRowIndex).Item(1)
TextBox8.Text = ds3.Tables(\"读者信息表\").Rows(DataGrid3.CurrentRowIndex).Item(2)
End If conn.Close()
38
天津理工大学中环信息学院2010届本科毕业设计说明书
End If End Sub
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim str As String Dim num As String num = TextBox1.Text Dim BorrowDate As Date Dim ReturnDate As Date BorrowDate = Now.Today.Date
ReturnDate = Now.Today.Date.AddDays(20)
str = \"insert into 图书借阅信息表 values('\" & TextBox1.Text & \"','\" & TextBox5.Text & \"','\" & BorrowDate & \"','\" & ReturnDate & \"','未还')\"
conn.Open() ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书借阅信息表\") conn.Close()
conn.Open() ds5.Clear()
str = \"update 图书流通统计表 set
Total_num=Total_num-1,Send_num=Send_num+1,Send_count=Send_count+1 where Book_id='\" & num & \"'\"
comm.CommandText = str da.SelectCommand = comm da.Fill(ds5) conn.Close()
39
天津理工大学中环信息学院2010届本科毕业设计说明书
conn.Open()
str = \"select 图书借阅信息表.Book_id as 图书编号,图书借阅信息表.Roll_No as 读者编号,Book_name as 图书名称,Roll_Name as 读者姓名,Borrow_Date as 借书日
期,Return_Date as 还书日期 from 图书信息表,读者信息表,图书借阅信息表 where 图书借阅信息表.Book_id=图书信息表.Book_id and 图书借阅信息表.Roll_No=读者信息表.Roll_No\"
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds4, \"查询\")
DataGrid1.DataSource = ds4.Tables(\"查询\") conn.Close() End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim str As String
str = \"update 图书借阅信息表 set Return_Date=Return_Date+20 where Book_id='\" & TextBox9.Text & \"' and Roll_No='\" & TextBox10.Text & \"'\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书借阅信息表\") conn.Close() conn.Open() ds4.Clear()
str = \"select 图书借阅信息表.Book_id as 图书编号,图书借阅信息表.Roll_No as 读者编号,Book_name as 图书名称,Roll_Name as 读者姓名,Borrow_Date as 借书日
期,Return_Date as 还书日期 from 图书信息表,读者信息表,图书借阅信息表 where 图书借阅
40
天津理工大学中环信息学院2010届本科毕业设计说明书
信息表.Book_id=图书信息表.Book_id and 图书借阅信息表.Roll_No=读者信息表.Roll_No\"
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds4, \"查询\")
DataGrid1.DataSource = ds4.Tables(\"查询\") conn.Close() End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Me.Close() End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Dim str As String
str = \"update 图书借阅信息表 set ReturnOrNot='已还' where Book_id='\" & TextBox11.Text & \"' and Roll_No='\" & TextBox12.Text & \"'\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds4.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书借阅信息表\")
MessageBox.Show(\"归还图书成功\提示信息\") conn.Close() End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As
41
天津理工大学中环信息学院2010届本科毕业设计说明书
System.EventArgs) Handles Button8.Click
ds4.Clear() TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox3.Text = \"\" TextBox4.Text = \"\" TextBox5.Text = \"\" TextBox6.Text = \"\" TextBox7.Text = \"\" TextBox8.Text = \"\" End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.Close() End Sub End Class
4. 注销模块代码:
Imports System.Data.SqlClient Public Class frmRegistration
Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds As New DataSet Dim ds1 As New DataSet Dim da As New SqlDataAdapter
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close() End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
42
天津理工大学中环信息学院2010届本科毕业设计说明书
TextBox1.Text = \"\" TextBox2.Text = \"\" End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim num As String Dim str As String num = TextBox1.Text
str = \"delete from 图书信息表 where Book_id='\" & num & \"'\" If conn.State = ConnectionState.Closed Then conn.Open() End If ds.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds, \"图书信息表\") conn.Close()
MessageBox.Show(\"该图书已注销\提示信息\") End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If TextBox1.Text = \"\" Then
MessageBox.Show(\"请输入图书编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox1.Text
str = \"select * from 图书信息表 where Book_id='\" & num & \"'\" If conn.State = ConnectionState.Closed Then conn.Open()
43
天津理工大学中环信息学院2010届本科毕业设计说明书
End If ds.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds, \"图书信息表\")
If ds.Tables(0).Rows.Count <> 0 Then
DataGrid1.DataSource = ds.Tables(\"图书信息表\") TextBox2.Text = ds.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(2)
Else
MessageBox.Show(\"未找到该图书\提示信息\") End If End If End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
If TextBox4.Text = \"\" Then
MessageBox.Show(\"请输入读者编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox4.Text
str = \"select * from 读者信息表 where Roll_No='\" & num & \"'\" If conn.State = ConnectionState.Closed Then conn.Open() End If ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str
44
天津理工大学中环信息学院2010届本科毕业设计说明书
da.SelectCommand = comm da.Fill(ds1, \"读者信息表\")
If ds1.Tables(0).Rows.Count <> 0 Then
DataGrid1.DataSource = ds1.Tables(\"读者信息表\") TextBox3.Text = ds1.Tables(\"读者信息表\").Rows(DataGrid1.CurrentRowIndex).Item(2)
Else
MessageBox.Show(\"未找到该读者\提示信息\") End If End If End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.Close() End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
Dim num As String Dim str As String num = TextBox4.Text
str = \"delete from 读者信息表 where Roll_No='\" & num & \"'\" If conn.State = ConnectionState.Closed Then conn.Open() End If ds.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds, \"读者信息表\") conn.Close()
MessageBox.Show(\"该读者已注销\提示信息\")
45
天津理工大学中环信息学院2010届本科毕业设计说明书
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
TextBox3.Text = \"\" TextBox4.Text = \"\" End Sub End Class
5. 查询模块代码:
Imports System.Data.SqlClient Public Class frmBookDemand Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds1 As New DataSet Dim ds5 As New DataSet Dim da As New SqlDataAdapter
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = \"\" Then
MessageBox.Show(\"请输入图书编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox1.Text
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次
46
天津理工大学中环信息学院2010届本科毕业设计说明书
数 from 图书信息表,\" & _
\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _
\"where 图书信息表.Book_id='\" & num & \"'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书信息表\")
If ds1.Tables(0).Rows.Count = 0 Then
MessageBox.Show(\"没有该图书\提示信息\") conn.Close() Else
DataGrid2.DataSource = ds1.Tables(\"图书信息表\") TextBox2.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(1)
TextBox3.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(2)
TextBox4.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(3)
TextBox5.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(4)
TextBox14.Text = ds1.Tables(\"图书信息表
47
天津理工大学中环信息学院2010届本科毕业设计说明书
\").Rows(DataGrid2.CurrentRowIndex).Item(5)
TextBox6.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(6)
TextBox15.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(7)
TextBox13.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(8)
TextBox12.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(9)
TextBox11.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(10)
TextBox10.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid2.CurrentRowIndex).Item(11)
conn.Close() End If End If End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim str As String str = \"\"
If Not TextBox7.Text = \"\" Then
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from \" & _
\"图书信息表,图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,\" & _
\"出版社信息表 where 图书信息表.Book_name like '%\" &
48
天津理工大学中环信息学院2010届本科毕业设计说明书
TextBox7.Text & \"%'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
If Not TextBox8.Text = \"\" Then
str = str & \" and Author like '%\" & TextBox8.Text & \"%'\" If Not TextBox9.Text = \"\" Then
str = str & \" and 图书类别关系表.Category_id like '%\" & TextBox9.Text & \"%'\"
End If End If
ElseIf Not TextBox8.Text = \"\" Then
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from \" & _
\"图书信息表,图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,\" & _
\"出版社信息表 where Author like '%\" & TextBox8.Text & \"%'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类
49
天津理工大学中环信息学院2010届本科毕业设计说明书
别表.Category_id\"
If Not TextBox9.Text = \"\" Then
str = str & \" and 图书类别关系表.Category_id like '%\" & TextBox9.Text & \"%'\"
End If
ElseIf Not TextBox9.Text = \"\" Then
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"Category as 图书类别,图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from \" & _
\"图书信息表,图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,\" & _
\"出版社信息表 where 图书类别关系表.Category_id like '%\" & TextBox9.Text & \"%'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
Else
MessageBox.Show(\"请输入查询条件\提示信息\") End If
If Not str = \"\" Then
If conn.State = ConnectionState.Closed Then conn.Open() End If ds5.Clear()
comm.Connection = conn
50
天津理工大学中环信息学院2010届本科毕业设计说明书
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds5, \"图书信息表\")
DataGrid1.DataSource = ds5.Tables(\"图书信息表\") conn.Close() End If End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox3.Text = \"\" TextBox4.Text = \"\" TextBox5.Text = \"\" TextBox6.Text = \"\" TextBox10.Text = \"\" TextBox11.Text = \"\" TextBox12.Text = \"\" TextBox13.Text = \"\" TextBox14.Text = \"\" TextBox15.Text = \"\" ds1.Clear() ds5.Clear() End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox7.Text = \"\" TextBox8.Text = \"\" TextBox9.Text = \"\" ds1.Clear() ds5.Clear()
51
天津理工大学中环信息学院2010届本科毕业设计说明书
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close() End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.Close() End Sub End Class
6. 信息维护模块代码:
Imports System.Data.SqlClient Public Class frmInfMaintaining
Inherits System.Windows.Forms.Form
Dim conn As New SqlConnection(\"Server=.;Database=Library Management System;Integrated Security=SSPI\")
Dim comm As New SqlCommand Dim ds1 As New DataSet Dim ds2 As New DataSet Dim ds3 As New DataSet Dim ds4 As New DataSet Dim da As New SqlDataAdapter
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = \"\" Then
MessageBox.Show(\"请输入图书编号\提示信息\") Else
Dim num As String Dim str As String num = TextBox1.Text
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
52
天津理工大学中环信息学院2010届本科毕业设计说明书
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"图书类别关系表.Category_id as 索书号,Money as 单价,\" & _ \"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from 图书信息表,\" & _
\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _
\"where 图书信息表.Book_id='\" & num & \"'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
If conn.State = ConnectionState.Closed Then conn.Open() End If ds1.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds1, \"图书信息表\")
If ds1.Tables(0).Rows.Count = 0 Then
MessageBox.Show(\"没有该图书\提示信息\") conn.Close() Else
DataGrid1.DataSource = ds1.Tables(\"图书信息表\") TextBox2.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(0)
TextBox3.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(1)
TextBox4.Text = ds1.Tables(\"图书信息表
53
天津理工大学中环信息学院2010届本科毕业设计说明书
\").Rows(DataGrid1.CurrentRowIndex).Item(2)
TextBox5.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(3)
TextBox6.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(4)
TextBox7.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(5)
TextBox8.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(6)
TextBox9.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(7)
TextBox10.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(8)
TextBox11.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(9)
TextBox14.Text = ds1.Tables(\"图书信息表\").Rows(DataGrid1.CurrentRowIndex).Item(10)
conn.Close() End If End If End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox3.Text = \"\" TextBox4.Text = \"\" TextBox5.Text = \"\" TextBox6.Text = \"\" TextBox8.Text = \"\" TextBox9.Text = \"\" TextBox10.Text = \"\" TextBox11.Text = \"\"
54
天津理工大学中环信息学院2010届本科毕业设计说明书
TextBox14.Text = \"\" TextBox2.ReadOnly = True TextBox3.ReadOnly = True TextBox10.ReadOnly = True TextBox11.ReadOnly = True TextBox14.ReadOnly = True ds1.Clear() ds2.Clear() ds3.Clear() ds4.Clear() End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox2.ReadOnly = False TextBox3.ReadOnly = False TextBox10.ReadOnly = False TextBox11.ReadOnly = False TextBox14.ReadOnly = False Button4.Enabled = True End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim num As String Dim str As String num = TextBox2.Text
str = \"update 图书信息表 set Book_id='\" & TextBox2.Text & \"',ISBN='\" & TextBox3.Text & \"' where Book_id='\" & TextBox1.Text & \"'\"
conn.Open() ds2.Clear()
comm.Connection = conn
comm.CommandType = CommandType.Text comm.CommandText = str
55
天津理工大学中环信息学院2010届本科毕业设计说明书
da.SelectCommand = comm da.Fill(ds2, \"修改\") conn.Close()
conn.Open() ds3.Clear()
str = \"update 图书流通统计表 set Total_num=\" & TextBox10.Text &
\TextBox1.Text & \"'\"
comm.CommandText = str da.SelectCommand = comm da.Fill(ds3, \"修改\") conn.Close()
conn.Open() ds4.Clear()
str = \"select 图书信息表.Book_id as 图书编号,ISBN as ISBN号,Book_name as 图书名称,\" & _
\"Author as 作者,PublishingHouse_name as 出版社,Publish_time as 出版时间,\" & _
\"图书类别关系表.Category_id as 索书号,Money as 单价,\" & _
\"Total_num as 馆藏数量,Send_num as 借出数,Send_count as 借出次数 from 图书信息表,\" & _
\"图书流通统计表,图书类别关系表,图书类别表,图书出版社关系表,出版社信息表 \" & _
\"where 图书信息表.Book_id='\" & num & \"'and \" & _
\"图书信息表.Book_id=图书流通统计表.Book_id and 图书信息表.Book_id=\" & _
\"图书出版社关系表.Book_id and 图书出版社关系表.PublishingHouse_id=\" & _
\"出版社信息表.PublishingHouse_id and 图书信息表.Book_id=\" & _ \"图书类别关系表.Book_id and 图书类别关系表.Category_id=图书类别表.Category_id\"
comm.CommandText = str
56
天津理工大学中环信息学院2010届本科毕业设计说明书
da.SelectCommand = comm da.Fill(ds4, \"图书信息表\")
DataGrid1.DataSource = ds4.Tables(\"图书信息表\") conn.Close() End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox1.Text = \"\" TextBox2.Text = \"\" TextBox3.Text = \"\" TextBox4.Text = \"\" TextBox5.Text = \"\" TextBox6.Text = \"\" TextBox7.Text = \"\" TextBox8.Text = \"\" TextBox9.Text = \"\" TextBox10.Text = \"\" TextBox11.Text = \"\" TextBox14.Text = \"\" TextBox2.ReadOnly = True TextBox3.ReadOnly = True TextBox10.ReadOnly = True TextBox11.ReadOnly = True TextBox14.ReadOnly = True ds1.Clear() ds2.Clear() ds3.Clear() ds4.Clear() End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.Close()
57
天津理工大学中环信息学院2010届本科毕业设计说明书
End Sub End Class
(这一部分不用粘这么多源代码,附10多篇就可以了,太浪费打印费
了)
58
天津理工大学中环信息学院2010届本科毕业设计说明书
致 谢
首先感谢我的导师樊建华老师的指导与帮助,在毕业设计完成之际,我的心情万分激动。从毕业设计的选题、资料的收集到论文的撰写编排整个过程中,我得到了许多的热情帮助,对我的毕业设计完成提出了很多宝贵的意见,她对我进行了悉心的指导和教育,使我的研究工作有了目标和方向,使我能够不断地学习提高。同时,樊老师渊博的学识、严谨的治学态度也令我十分敬佩,是我以后学习和工作的榜样。
愿把我的幸福和快乐都送给关心和支持过我的人,也愿他们一切如意。经过这次的资料借阅管理系统的设计让我深刻体会时间的重要性,不仅提高了动手能力,更加提高我的开发能力!
59
因篇幅问题不能全部显示,请点此查看更多更全内容