《毕业设计(论文)基于CS模式的图书馆管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于CS模式的图书馆管理系统.doc(39页珍藏版)》请在三一办公上搜索。
1、图书馆管理系统摘要随着信息技术的不断发展,当今世界已经进入了信息时代。对知识和信息的及时获取,已经成为了人们的一项基本需求。图书馆拥有丰富的文献和信息资源,是人们日常生活中知识和信息的重要来源,在现代社会中的地位愈来愈重要。图书馆中存放了大量的信息资源,必然需要一个高效的信息系统进行管理和维护。图书管理系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,用户界面友好等特点。 本文介绍了在Visual Studio C# 环境下开发图书管理信息系
2、统的过程。本图书馆管理系统总的实现目标是:建立以馆藏书目为基础的图书数据库;实现馆内图书的信息化管理并提供基于C/S模式的图书馆用户终端系统。关键字:图书馆管理系统、数据库、VisualC#.NET应用Library Management SystemAbstractAs information technology continues to evolve, the world has entered the information age. On timely access to knowledge and information has become one of the basic ne
3、eds of people. Library, which is an important source of knowledge and information in daily life, has a wealth of literature and information resources, is an increasingly important role in modern society.Libraries store huge amounts of information resources, necessarily requires an efficient informat
4、ion system for management and maintenance.Library management system is a typical management information system (MIS), which mainly includes the establishment and maintenance of the background database and front-end application development. The former required to build a database which insures the co
5、nsistency, integrity and safety of data. For the latter requires the application fully functional, user friendly interface and so on.This article describes the process to develop a library management information system under the Visual Studio C # environment.The overall goal for the library manageme
6、nt system to achieve is: To establish a database based on the collection of books of the library; to achieve the Librarys information management and a C/S mode-based library terminal system of library users.Keywords: Library Management, Database,C#.NET 目 录第1章 绪论11.1 课题研究背景及意义11.2 研究现状31.3 课题内容3第2章 系
7、统结构52.1 设计目标52.2 系统结构52.3 系统平台52.3.1 系统平台62.3.2 数据库平台62.3.3 Web平台72.3.4 C#技术72.3.5 .NET技术82.3.6 系统开发平台92.4 系统实现的功能102.4.1 登陆模块102.4.2 图书管理模块102.4.3 用户管理模块102.4.4 借出归还图书管理模块10第3章 数据库设计113.1 数据库选择113.2 数据库分析123.2.1 图书入库流程123.2.2 借书流程133.2.3 还书流程133.2.4 图书管理流程143.2.5 借阅人员管理流程143.2.6 系统使用人员管理流程153.2.7 惩
8、罚流程163.2.8 主系统流程图:173.3 数据库设计183.3.1 books表的设计183.3.2 status表的设计183.3.3 books_status表的设计193.3.4 users表的设计203.3.5 roles表的设计203.3.6 2.2.6 users_roles表的设计203.3.7 oeders表的设计213.4 ER图22第4章 图书馆管理系统的设计与实现244.1 数据库访问244.2 主窗体的设计与实现264.3 登陆窗体的设计与实现264.4 书籍管理系统的设计与实现284.5 人员管理窗体的设计与实现24.5.1 借书界面24.6 系统测试4第5章
9、论文总结6致 谢7参考文献8第1章 绪论1.1 课题研究背景及意义2000年6月22日,微软公司推出了其下一代计算计划Microsoft.NET,这项计划将使微软现有的软件在Web时代不仅适用于传统PC设备,而且也能够满足强劲增长势头的新设备、新业务的要求。作为一个开发平台,.NET定义了一种公用语言子集,这是一种为符合其规范的语言与类库之间提供无缝集成混合语。.NET统一了编程类库,提供了网络间通信标准可扩展标记语言的完全支持,.NET的推出使开发人员应用程序变得更容易、更简单。.NET是一个开发的平台,它实现了人和计算机的更好的交流,最为重要的是.NET改变了人们对计算机软件技术的一贯看法
10、,.NET与Windows平台紧密集成,并和计算机的错做系统融合在一起,成为一个无缝的平台。随着计算机功能的大幅度提升,操作也变得简单,用户也渐渐的摆脱人为的硬件束缚。自由访问Internet,自由的查看和使用网络上的数据。.NET出现之前,信息存储在中央服务器内,而且用户的所有操作都需要依靠他们,让这些不同网址之间相互传递有意义的信息,或者让那个它们相互合作提供更广泛更深层次的服务,还是一件十分困难的事情。.NET的出现意味着人们可以使用一种简单的节目就可以编写、浏览、编辑和分享信息,而且还可以得到功能强大的信息管理工具。由于使用的所有文件都以符合网络协议的格式存在,所有,所有的商业用户和个
11、人用户都可以方便的查找和使用其中的信息,用户可以使用相同的工具与他们的供应商、商业伙伴和客户高效的沟通和分享信息,这样就创造出一种全新的协同工作模式。.NET框架编写出来的代码是与平台无关的,只要该平台支持.NET框架的运行,那么就可以直接在该平台上运行。.NET的作用不仅仅是将开发人员从必须掌握多种框架的束缚中解脱出来,通过创建跨编程语言的公共API集,.NET框架可以提供强大的跨语言继承性、错误处理和调试功能。现在开发人员可以自由地选择他们喜欢的编程语言。.NET使编程人员梦想的语言互用性变为现实。C#能够在心的微软.NET平台上快速开发种类丰富的应用程序。.NET平台使用了大量的工具和服
12、务,能够最大限度地发掘和使用计算及通信能力。由于一流的面向对象的设计,从构建组建形式的高层商业对象到构造系统级应用程序,你都会发现C#将是最合适的选择。不仅如此,C#还能为C+程序员提供快捷的开发方式,又没有丢掉C和C+的基本特征强大的控制能力。C#与C、C+有着很大程度上的相似。在默认情况下,C#的代码在.NET框架提供的“可操控”环境下运行,不允地进行内存操作,最大的特色是没有了指针。而且C+中的一些操作符也没有了。C#用真正的关键字换掉了那些把活动模板库(ALT Active Template Library)和COM搞得乱糟糟的关键字,如OLE_COLOR BOOL VARIANT_B
13、OOL DISPIDXXXXX等。每种C#类型在.NET类库中都有了新的名字。C#的语法也不再像C+那样冗余,只保留了常见的形式。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。根据调查得知,以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥
14、它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的
15、查询和修改图书情况。1.2 研究现状图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源,对于图书馆管理人员来说,图书馆管理包括图书信息管理、学生信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便。所以开发这个图书馆管理系统系统,让管理员方便的管理图书及用户信息,学生方便的借书。1.3 课题内容本设计主要研究的是用.NET开发工具开发一个图书馆管理系统软件,其具体体现在图书入库、借阅图书、归还图书、管理
16、员对图书的管理。运用SQL Server 2000数据库操作技术和.数据访问技术,设计并优化了图书管理系统。(1)图书馆管理员对图书进行注册登记,也就是将图书的基本信息(如:书序号,书名,出版社,出版时间)预先存入数据库中(2)图书管理员和学生都能通过用户和密码就登陆到图书馆管理系统,数据库中保存用户密码(3)通过图书馆管理员对借书界面输入书籍名称和借阅人员,在数据库中生成借书记录(4)通过图书馆管理员对还书界面进行操作,先填入还书名称,可以搜索借出信息数据表中是否有该信息。(5)提供友好的用户界面,尽量避免误操作。本文通过书名来进行书籍的确定,更实际的情况是使用一些自动化的解决方案,如条形码
17、等,其次,借书人通过书名来确定,实际的情况可能会通过学号或者借书证号的唯一标识来确定。第2章 系统结构2.1 设计目标图书馆管理系统是一个典型的结合数据库应用的信息管理系统,本文总体的设计目标是:建立以馆藏图书为基础的书目数据库;实现图书馆新书采购、图书编目、借阅流通、文献检索等功能的信息化管理;建立图书馆的客户端软件。2.2 系统结构图书馆管理系统采用C/S架构设计。C/S即Client/Server(客户机/服务器)计算模式,是一种开放式结构、集中式管理、协作式处理方式的主从式的网络计算模式,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境
18、的优势。在C/S网络中,到底谁为客户机、谁为服务器完全按照其当时所扮演的角色来确定,一般定义是:提出服务请求的一方为“客户机”,而提供服务的一方则称为“服务器”。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。大型软件系统多以此作为首选设计标准。2.3 系统平台总体系统平台由以下部分组成:系统平台、数据库平台、Web平台、C#技术与系统开发平台等。2.3.1 系统平台系统平台分为客户端系统平台和服务器端系统平台。1. 客户端系统平台。本系统采用C/S结构,客户端需采用当今通
19、用的Windows 9X、Windows NT、Windows 2000,Windows XP等操作系统平台。在C/S模式中,需要安装客户端软件。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。Windows XP是一款支持多用户的操作系统,它发行于2001年10月25日,Windows XP是继Windows 2000与Windows Me之后的下一个Microsoft Windows版本。Windows 2000的强大优势体现为基于标准的安全性、可靠性及管理功能;而Windows 98与Windows Me的最佳特
20、性则以即插即用功能、简易用户界面及创新支持服务为代表。Windows XP正是集上述Windows操作系统之大成,创造出空前优秀的Windows产品。Windows XP构建于获得增强的Windows 2000代码基础之上,并针对家庭用户和商务用户需求提供了不同的产品版本:Windows XP Home Edition和Windows XP Professional。Windows XP包括了简化了的Windows 2000的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。2. 服务器端系统平台。服务器端采用Windows XP Professional SP3,基于N
21、T技术构建的Windows XP,集诸多功能和优良特性于一身,安全性好、运行极稳定、管理容易是它的三大特征。2.3.2 数据库平台数据库系统是管理大量的、持久的、可靠的和共享的数据的工具。SQL (Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如查询、更新、删除、修改数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Sel
22、ect,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。目前的数据库包括Access、Visual FoxPro或者Inter Base数据库,对于开发C/S、B/S结构数据库系统功能较弱,特别在数据量增大的情况下运行速度变得很慢。本系统数据量较大,所以应优先选择一个大中型数据库Oracle或者SQL Server 2000,考虑到Oracle过于庞大,管理也比较复杂,最终采用较简单宜用功能又较强大的SQL Server 2000数据库系统。2.3.3 Web平台服务器采用微软公司开发的IIS5.1(Intern
23、et信息服务)。IIS5.1是专为Windows XP设计的Web服务器软件。在因特网/企业网上的基于浏览的开发方案中,Microsoft的IIS起到客户端与服务器端的链接作用。当访问者在浏览器中键入对您服务器上的一个网页进行访问的请求,这个请求通过网络路由到服务器端,然后服务器再将它交给IIS处理。并根据请求的文件名对该网页进行相应的处理。如该文件是以.asp为扩展名或者该文件是某种类型的请求文件,那么IIS将对该页面上的代码进行处理。2.3.4 C#技术C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了
24、诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。2.3.5 .NET技术Web服务从由
25、简单网页构成的静态服务网站,发展到可以交互执行一些复杂步骤的动态服务网站,这些服务可能需要一个Web服务调用其他的Web服务,并且像一个传统软件程序那样执行命令。这就需要和其他服务整合,需要多个服务能够一起无缝地协同工作,需要能够创建出与设备无关的应用程序,需要能够容易地协调网络上的各个服务的操作步骤,容易地创建新的用户化的服务。微软公司推出的.NET系统技术正是为了满足这种需求。.NET将Internet本身作为构建新一代操作系统的基础,并对Internet和操作系统的设计思想进行了延伸,使开发人员能够创建出与设备无关的应用程序,容易地实现Internet连接。.NET系统包括一个相当广泛的
26、产品家族,它们构建于XML语言和Internet产业标准之上,为用户提供Web服务的开发、管理和应用环境。.NET系统由以下5个部分组成。.NET开发平台.NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发者工具和ASP.NET。.NET服务器:.NET服务器是能够提供广泛聚合和集成Web服务的服务器,是搭建.NET平台的后端基础。.NET基础服务:.NET基础服务提供了诸如密码认证、日历、文件存储、用户信息等必不可少的功能。 .NET终端设备:提供Internet连接并实现Web服务的终端设备是.NE
27、T的前端基础。个人计算机、个人数据助理设备PDA,以及各种嵌入式设备将在这个领域发挥作用。.NET用户服务:能够满足人们各种需求的用户服务是.NET的最终目标,也是.NET的价值实现。在这5个组成部分中,.NET开发平台中的.NET框架,是.NET软件构造中最具挑战性的部分,其他4个部分紧紧围绕.NET框架来进行组织整合。.net 即DotNet。2.3.6 系统开发平台由于采用C#作为开发语言,SQL Server 2005作为数据库解决方案,它们都是Microsoft产品,与Visual Studio软件集成,不存在兼容性问题,所以本系统的开发环境为Microsoft Visual Stu
28、dio 2005。Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。2005 年,微软发布了 Visual Studio 2005。这个版本的
29、Visual Studio仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。这个版本的 Visual Studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的 Visual Studio Express 版本。2.4 系统实现的功能图书馆管理系统作为一个结合管理和信息处理的应用程序,由以下功能模块构成系统管理、读者管理、流通管理、图书管理等模块组成。2.4.1 登陆模块设置用户和密码登陆,保证系统的安全性。2.4.2 图书管理模块该模块的主要功能有:图书入库,
30、增加修改和删除2.4.3 用户管理模块用户的增加、修改、删除。2.4.4 借出归还图书管理模块该模块的主要功能是对图书的借阅、归还、逾期清单和过期后罚款的一些管理。第3章 数据库设计3.1 数据库选择由Oracle公司开发的Oracle数据库系统,几乎可用于当今所有的操作系统平台上。其功能强大,查询快速,并用拥有极高的稳定性;可与各种网站开发语言相配合成为它的最大优势。而且Oracle在各个操作系统和硬件平台上都有自己的产品,能够做到这点Oracle是经过很多年的经验积累才有的。并且Oracle在实时性、安全性、稳定性等方面也具有优势,这一点是很多企业级应用所证明的。但是Oracle也有很多的
31、缺点,例如图形操作界面比SQL Server差等。另外,Oracle推崇的是企业级的应用,所以很多服务和软件是要购买后才提供服务的。因此不准备采用。Access是微软的一个小型桌面数据库产品。最初它只作为一个单独的产品进行销售,现在它已经成为微软Office办公套件中不可缺少的部件了12。如今它已经成为世界上最流行的桌面数据库管理系统之一。Access与Windows操作系统结合紧密,并且可以实现和MS SQL Server无缝连接,具有操作简便、分析功能强、使用广泛等优点。缺点是只能在Windows平台上使用,是一种小型的数据库系统,它只适用于个人使用,数据的处理效率、容量、安全方面也较低,
32、因此不准备采用。前文已简述SQL sever 2005的强大的数据库服务,并根据实际情况,本课题选择SQL server 2005作为数据库存储信息。3.2 数据库分析数据库管理和维护的功能是专为管理人员设计和制作的,创作的主要宗旨是为管理人员提供方便、快捷的管理和维护整个系统数据的功能。数据库管理和维护是图书管理系统的核心,在这一部分使用ASP.NET + SQL Server技术,利用Visual Studio 2005、Microsoft SQL Server 2005软件完成。最终达到使管理员可以对系统的数据进行管理与维护的目的。它除了要实时管理图书信息信息外,还可以对其他数据提供必要
33、的管理和维护功能。系统管理员可以对用户信息、书籍信息等进行管理,包括对注册用户的管理(增加、删除、修改、更新用户基本信息等等)图书馆管理系统应该具备几个基本的功能:图书入库、借书、还书、图书管理、借阅人员管理、系统使用人员管理和惩罚管理等。3.2.1 图书入库流程 作为一个图书馆信息管理系统,其主要用途是对馆内的图书进行管理。图书只有进入系统后才能对外进行借阅,其流程如下图3-1 图书馆入库流程 采购人员书商 仓库书当图书有了采购计划时,可以预先在系统中进行图书的录入,但此时图书的状态是采编状态,并不可以进行借阅操作。当图书采购完成之后,之前的状态为采编的图书真正的进入了系统当中,此时图书的状
34、态时可借状态,可以对外借阅。3.2.2 借书流程借书流程是图书馆信息管理系统中最为重要的一个功能,作为图书馆的核心业务,为广大用户提供服务。基本的流程如下:借阅人员 管理人员书图3-2 借阅流程3.2.3 还书流程还书流程跟借书流程是相对的,还书在一般情况下必然在借书事件之后发生的。图3-3 还书流程借阅人员 管理人员书3.2.4 图书管理流程图书馆流程属于图书馆信息管理系统中的一个与借阅用户不直接相关的流程。主要是由图书馆的工作人员完成。修改管理人员添加其他删除书图3-4图书馆管理流程3.2.5 借阅人员管理流程借阅人员管理属于图书馆信息管理系统中开展对外业务的一个基本流程,只有对借阅人员进
35、行管理,才能开展基本业务。基本的借阅人员管理流程如下修改管理人员添加其他删除学生用户图3-5 借阅人员管理流程3.2.6 系统使用人员管理流程系统使用人员管理流程属于图书馆信息系统中一个基本部分,不直接与图书馆的具体业务相关,但与本信息系统使用密切相关。基本的系统使用人员管理流程如下:图3-6 系统使用人员管理流程修改管理人员添加其他删除馆员3.2.7 惩罚流程惩罚流程属于图书馆信息管理系统中一个附加的功能。超出图书的基本借阅周期是一个常见现象,在还书时可以对此类现象进行一定的惩罚,如罚款。基本的惩罚流程如下:书管理人员罚款管理人员图3-7 惩罚流程3.2.8 主系统流程图:登录选择操作进入用
36、户信息管理图书信息管理管理员管理其他继续操作退出NY图3-8 主系统流程图3.3 数据库设计3.3.1 books表的设计书是图书馆的核心对象,作为一个图书馆信息管理系统需要对图书馆中所允许管理的书籍进行全面的管理,因此设计一个表,命名为books,在该表中存储所有的书籍:名称:即书名.作者:作者可能是一个,也有可能是多个出版社:出版此书的出版社出版日期:出版此书的日期,可能是完整的年、月、日,也可能不完整。得出books表信息如下表3-1 books表字段名类型是否为主键是否为空说明book_idUniqueidentifier是否titlevarchar否否pressvarchar否否pu
37、b_datedatetime否否3.3.2 status表的设计系统管理中的书籍有两种属性:一种是采编状态一种是可借状态,这样就需要在数据库中用一张表来保存和管理书籍中可能出现的状态。因此建立status表表3-2 status表字段名类型是否为主键是否为空说明Status_idunqueidentifier是否statusvarchar否否3.3.3 books_status表的设计还需要一张表来保存每本书的状态,这张表保存书的ID和状态的ID,同时记每条记录中还需呀有一个自己的ID。因此建立books_status表表3-3 books_status表字段名类型是否为主键是否为空说明boo
38、ks_status_iduniqueidentifier是否book_iduniqueidentifier否否status_iduniqueidentifier否否表books、表status和表books_status之间的关系如下booksbook_idtitlepresspub_datestatusstatus_idstatusbooks_statusbook_status_idbook_idstatus_id图3-8 表间的关系3.3.4 users表的设计users表永远存储系统中的用户,该user表中需要存储用户的登录名和密码。而密码需要加密存储,本文中使用明文存储。表3-4 st
39、atus表字段名类型是否为主键是否为空说明user_idunqueidentifier是否user_namevarchar否否passwordvarchar否否3.3.5 roles表的设计roles表用于存储系统中的角色,该roles表中需要存储系统中可能存在的不同用户类型。比如系统管理员、图书馆工作人员和借阅人员等。表3-5 roles表字段名类型是否为主键是否为空说明role_idunqueidentifier是否roles_namevarchar否否3.3.6 2.2.6 users_roles表的设计user_roles表是一个关联数据表,这张数据表只能够存储了系统中角色和用户之间的
40、关系,包括用户的id和角色的id。字段名类型是否为主键是否为空说明user_roles_iduniqueidentifier是否roles_iduniqueidentifier否否user_iduniqueidentifier否否表3-6 users_roles表表user_roles、表users和表roles之间的关系如下usersusers_iduser_namepasswordrolesrole_idrole_name users_rolesuser_roles_iduser_idrole_id 图3-9 表间的关系3.3.7 oeders表的设计Orders表中存储每本书借出的记录,
41、在每条记录中应该包括借书人的id,所借书籍的id,书籍借出的日期,在书籍被归还的时候,应该还包括还书的日期。本文只考虑书籍超期归还的情况,不考虑书籍丢失的清楚表3-6 users_roles表字段名类型是否为主键是否为空说明order_iduniqueidentifier是否book_iduniqueidentifier否否user_iduniqueidentifier否否release_datedatetime否是Return_datedatetime否是3.4 ER图建立所有数据表如下:books:书籍表books_status:书籍状态关系表orders:借书关系表roles:角色表st
42、atus:状态表users:用户表users_roles:用户角色关系表statusstatus_idstatusbooks_statusbook_status_idbook_idstatus_id booksbook_idtitlepresspub_dateordersorder_idbook_iduser_idrelease_datereturn_daterolesrole_idrole_nameusersusers_iduser_namepasswordusers_rolesuser_roles_iduser_idrole_id第4章 图书馆管理系统的设计与实现4.1 数据库访问数据库访
43、问是管理系统中最常见的工作之一,因为一般的管理系统都会将大量的数据存储到数据库中。这样,对数据库的访问就成了管理系统项目开发中的重要一环。这里借助了一个小的代码访问代码生成工具SubSonic来辅助数据访问代码的编写。由于数据库访问的代码均类似,所以以books数据表访问为例。books数据表访问代码分为两个部分,一个是文件Book.cs,另一个是BookController.cs文件,一个文件用来定义数据结构,一个用来定义一些常用的方法,如:save、inser、updata等。下面是一些代码:插入数据:public void Insert(int BookId,int StatusId)
44、BooksStatus item = new BooksStatus(); item.BookId = BookId; item.StatusId = StatusId; item.Save(UserName); 更新数据库中的数据:public void Update(int Id,int BookId,int StatusId) BooksStatus item = new BooksStatus(); item.Id = Id;item.BookId = BookId;item.StatusId = StatusId; item.MarkOld(); item.Save(UserName
45、); 删除指定ID的数据: public bool Delete(object Id) return (BooksStatus.Delete(Id) = 1); DataObjectMethod(DataObjectMethodType.Delete, false) public bool Destroy(object Id) return (BooksStatus.Destroy(Id) = 1); 4.2 主窗体的设计与实现应用程序运行后,用户首先将通过输入用户名和密码进入系统。本文将主窗体设计为一个MDI多文档界面窗体,在显示主窗体的同时显示登陆窗体,强制用户进行登陆操作。主窗体的设计如图:图4-1 主窗体的设计图窗体的大小设置为640*480,在窗体中添加了主菜单控件、