基于.NET的图书管理系统_第1页
基于.NET的图书管理系统_第2页
基于.NET的图书管理系统_第3页
基于.NET的图书管理系统_第4页
基于.NET的图书管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、 分类号 UDC本单位编号 密级Xx大学毕业设计论文题名和副题名 基于ASP.NET的图书管理系统作者姓名 学号 工作单位 联系 指导教师姓名 职称 工作单位 联系 辩论委员会主席评 阅 人 2021年6月摘 要当今时代是飞速开展的信息时代。在各行各业中都离不开数据处理,这使得计算机被广泛应用于信息管理系统。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息管理,能够大大地提高工作效率,而且增强了数据平安性。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含大量的信息数据管理。本论文主要阐述了一个基于ASP.NET和SQL Server 2000的图书管理系统的设计与实现

2、,该系统实现了用户管理、图书检索、借书还书、图书增删改功能。具有良好的人机界面。关键词: ASP.NET, SQL Server 2000, 图书管理, 信息AbstractToday is a rapid development of information age. In all walks of life can not be separated from data processing, which is widely used in computer information management system. The greatest advantage the computer

3、is to be able to use its information management. The use of computer information management, can greatly improve efficiency, and enhanced data security. As a distribution center for information resources, there are many books and users in the library. So a library includes a large number of informat

4、ion data management. This paper mainly expounds the design and implementation of a library management system which is based on ASP.NET and SQL Server 2000. This MIS system includes many modules such as user management, book search, borrow books and return books, additions and deletions of books with

5、 a good user interface.Keywords: ASP.NET, SQLServer2000, Book Management, Information目 录 TOC o 1-3 h z u HYPERLINK l _Toc226565305 第1章 前言 PAGEREF _Toc226565305 h 1 HYPERLINK l _Toc226565306 1.1 背景介绍 PAGEREF _Toc226565306 h 1 HYPERLINK l _Toc226565307 1.2 系统设计目的及内容 PAGEREF _Toc226565307 h 1 HYPERLINK

6、 l _Toc226565308 第2章 综述 PAGEREF _Toc226565308 h 2 HYPERLINK l _Toc226565309 2.1课题来源 PAGEREF _Toc226565309 h 2 HYPERLINK l _Toc226565310 2.2需求分析 PAGEREF _Toc226565310 h 2 HYPERLINK l _Toc226565311 2.2.1 功能需求 PAGEREF _Toc226565311 h 2 HYPERLINK l _Toc226565312 2.2.2 其他需求 PAGEREF _Toc226565312 h 3 HYPE

7、RLINK l _Toc226565313 第3章 设计方案 PAGEREF _Toc226565313 h 4 HYPERLINK l _Toc226565314 3.1 ASP.NET简介 PAGEREF _Toc226565314 h 4 HYPERLINK l _Toc226565315 3.2 SQL Server简介 PAGEREF _Toc226565315 h 5 HYPERLINK l _Toc226565316 3.3 系统设计方案 PAGEREF _Toc226565316 h 6 HYPERLINK l _Toc226565317 第4章 系统设计 PAGEREF _T

8、oc226565317 h 7 HYPERLINK l _Toc226565318 4.1 系统结构 PAGEREF _Toc226565318 h 7 HYPERLINK l _Toc226565319 4.1.1 系统框架图 PAGEREF _Toc226565319 h 7 HYPERLINK l _Toc226565320 4.2 模块介绍 PAGEREF _Toc226565320 h 7 HYPERLINK l _Toc226565321 4.3 数据库结构设计 PAGEREF _Toc226565321 h 8 HYPERLINK l _Toc226565322 第5章 系统实现

9、 PAGEREF _Toc226565322 h 10 HYPERLINK l _Toc226565323 5.1 开发环境及工具 PAGEREF _Toc226565323 h 10 HYPERLINK l _Toc226565324 5.2 模块说明及程序流程设计 PAGEREF _Toc226565324 h 10 HYPERLINK l _Toc226565325 5.2.1 模块说明 PAGEREF _Toc226565325 h 10 HYPERLINK l _Toc226565326 5.2.2 模块流程 PAGEREF _Toc226565326 h 11 HYPERLINK

10、l _Toc226565327 5.3 关键技术分析 PAGEREF _Toc226565327 h 13 HYPERLINK l _Toc226565328 第6章 系统运行效果 PAGEREF _Toc226565328 h 20 HYPERLINK l _Toc226565329 6.1 系统运行效果 PAGEREF _Toc226565329 h 20 HYPERLINK l _Toc226565330 6.2 测试结果 PAGEREF _Toc226565330 h 22 HYPERLINK l _Toc226565331 6.3自我评价 PAGEREF _Toc226565331

11、h 22 HYPERLINK l _Toc226565332 6.4改良意见 PAGEREF _Toc226565332 h 22 HYPERLINK l _Toc226565333 结束语 PAGEREF _Toc226565333 h 23 HYPERLINK l _Toc226565334 致谢 PAGEREF _Toc226565334 h 24 HYPERLINK l _Toc226565335 参考文献 PAGEREF _Toc226565335 h 25 HYPERLINK l _Toc226565336 附录 PAGEREF _Toc226565336 h 26第1章 前言1.

12、1 背景介绍 一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。 以上所描述的手工过程的缺乏之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能

13、力比拟低,一段时间内,所能效劳的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。 为方便对图书馆书籍、读者资料、借还书等进行高效的管理,于是提出了本课题。1.2 系统设计目的及内容图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。提高图书馆的工作效率,降低管理本钱。其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。前者要求建立起数据一致性、完整性强、数据平安性好的数据库。而后者那么要求应用程序具有功能完备、易

14、用等特点。本系统结合这些要求,采用ASP.NET技术和SQL SERVER 2000数据库进行系统的开发。提供了用户信息管理、图书信息检索、借书、还书、图书新增、图书销毁、图书信息修改功能。第2章 综述课题来源开发软件的一个目的是针对目前普遍的图书管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书管理系统。该管理系统与MIS系统相联系,在图书馆内部建成可靠,方便,并且功能齐全的MIS系统。从而在图书馆对新旧书的反响;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。当然对该软件的态度是渴

15、望获得显著的社会效益。开发软件的另一个目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。在一般的学校与科研机构,其下属的很多分支的研究中心,试验中心,各个学院,它们往往都有着自己的规模较大的图书资料室。而这些图书资料室由于本身规模不大因此其对书籍或资料的管理模式一般都比拟旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的根底上,寻求一个针对中小型图书资料室的管理软件是必要的。这种管理软件对硬件的要求很低,一般有一个比拟简单的效劳器与PC机组成的网络即可,再加上使用比拟廉价、性能不错的软件,这样就可以以较低的本钱来实现一个足够使用的功能,而这种模式也正满足了那种中小

16、型资料室,图书馆的要求。但是目前对这种管理软件的开发还处于一种比拟原始的阶段。开发者往往都是出于资金和时间的顾虑使用比拟陈旧的技术,并且各为己见,并且很少涉及网络。可是当今是一个网络化的社会,像资料室,图书馆这样的信息机构不能与网络联系起来岂不可惜,再加上如今单机版的图书管理软件多如牛毛,去开发一个类似的软件无疑是一种在时间上、精神上和资源上的极大浪费。所以出于多方面的考虑觉得有必要为这种有需要的中小型图书馆,资料室开发一种基于网络的图书资料管理软件。需求分析 功能需求根据用户需求,结合实际考察,图书管理系统要求具备如下功能:新增用户,修改注册用户信息能够根据图书名、ISBN号等方式检索图书信

17、息为读者提供借书、还书效劳图书新增功能图书销毁功能能够修改图书馆中现有的图书信息。2.2.2 其他需求要求系统响应速度快、可靠操作方便、界面友好第3章 设计方案3.1 ASP.NET简介ASP.NET不仅仅是下一版本的ActiveServerPage(ASP);它是统一的Web 开发平台,用来提供开发人员生成企业级Web应用程序所需的效劳。ASP.NET的语法在很大程度上与ASP 兼容,同时它还提供一种新的编程模型和结构,用于生成更平安、可伸缩和稳定的应用程序。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强该 ASP应用程序的功能。 ASP.NET是一个已编译的、基于.NE

18、T的环境,可以用任何与.NET兼容的语言包括VisualBasic.NET、C#和 JScript.NET.创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NET 框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型平安、继承等等。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具包括MicrosoftVisualStudio .NET一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将效劳器控件拖放到Web页的GUI 和完全集成的调试支持。 在创立ASP.NET应用程序、Web窗

19、体和Web 效劳时,开发人员可以选择以下两个功能,或者以他们认为适宜的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。“Web窗体用于生成功能强大的基于窗体的Web页。生成这些页时,可以使用ASP.NET效劳器控件来创立公共UI 元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成Web窗体,从而简化页面的代码。有关更多信息,请参阅 Web窗体页。有关如何开发ASP.NET效劳器控件的信息,请参阅开发ASP.NET效劳器控件。XMLW

20、ebservices提供了远程访问效劳器功能的途径。通过使用Web 效劳,企业可以公开其数据或业务逻辑的编程接口,然后客户端和效劳器应用程序就可以获得和操作这些编程接口。 这些模型中的每一个模型都可以充分利用所有ASP.NET功能,以及.NET框架和.NET 框架公共语言运行库的强大功能。这些功能以及使用它们的方法概述如下:如果您具有ASP开发技能,那么新的ASP.NET编程模型对您来说将会是非常熟悉的。不过,与ASP相比,ASP.NET 对象模型变化显著,它更为结构化并且面向对象。但这也意味着ASP.NET不是完全向后兼容的;几乎所有现有的ASP页都必须经过一定程度的修改后才可以在ASP.N

21、ET下运行。此外,用VisualBasicScripting 版本编写的现有ASP页通常将不会直接移植到ASP.NET中。不过,在大多数情况下,只需对少数几行代码进行必要的修改。从ASP.NET应用程序访问数据库是向Web站点访问者显示数据的常用技术。ASP.NET使得为此目的而对数据库的访问比以往更加方便。它还使您能够从您的代码管理数据库。有关更多信息,请参阅通过ASP.NET访问数据。3.2 SQL Server简介SQL Server 是一个关系数据库管理系统它是由Microsoft推出的。SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML)

22、 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为根底的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.

23、net、XQuery、XMLA、ADO.net 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。它具有以下特点:上手容易大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多向导(Wizard)帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数兼容性良好由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠

24、性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和效劳的基石。这些特点在.NET 战略中发挥着重要的作用。电子商务在使用由Microsoft SQL Server 2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询那么能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol超文本传输协议,HTTP来访问SQL Server 2000,

25、以实现面向SQL Server 2000数据库的平安Web连接和无须额外编程的联机分析处理OLAP多维数据集。数据仓库Microsoft SQL Server 2000非常明显的改良就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。3.3 系统设计方案基于以上介绍,本系统采用B/S架构设计。其中,前端显示采用ASP.

26、NET技术,语言采用C#。后台的数据库采用Microsoft公司的SQL Server 2000个人版。通过ADO.NET技术访问数据库。本系统开发完成后,部署到一台安装有IIS 6.0效劳器上运行。第4章 系统设计4.1 系统结构 系统框架图图书管理系统的系统框架图如下所示:图书管理系统用户管理借书还书图书管理新增用户修改用户图书检索图书借阅图书归还新增图书销毁图书修改图书4.2 模块介绍根据4.1系统结构图可以看出,图书管理系统需要实现的功能主要有三大块:“用户管理、“图书信息检索和借还书、“图书管理。“用户管理模块在本模块中,图书管理员可以新增一个图书馆用户,同时,图书馆管理员也可以查看

27、当前系统中所有用户一览,并且,图书管理员可以修改任意一个用户的根本信息或密码。“图书检索和借还书模块本模块提供应普通读者查询书目信息的功能,提供浏览器模式的图书信息检索工具。检索时可按书名、ISBN、作者、出版社、备注进行任意条件查询。本模块中提供的检索功能是一个模糊查询。本模块还提供了为某读者借阅书籍的功能,输入读者证件号,即可对根据检索条件检索出来的书籍进行借阅。本模块同时还提供了图书归还功能,首先根据读者证件号,查阅该读者当前正在借阅的书籍一览。可以对某一本想归还的书籍进行归还操作。 “图书管理模块:图书管理模块主要提供了针对图书馆藏书的管理功能。该模块提供了添加图书的功能,管理员可以在

28、本模块上录入图书馆引进的新书。图书维护:管理员实现对图书的维护,通过检索特定的书籍,管理员可以对该书籍的根本信息进行修改操作,如修改图书名称、在库数量、作者、定价等等。本模块还提供了图书销毁功能,管理员通过条件检索,获得待销毁图书一览信息,直接在页面上单击一个“删除按钮即可完成对该图书的销毁操作。4.3 数据库结构设计本系统使用的数据库管理系统为SQL Server 2000,下面介绍图书管理系统数据库的结构设计。我们在SQL Server的企业管理器中新建一个数据库,名为:BookStore。在本数据库下建立图书管理系统所需要的数据表。首先,我们建立一张用户表userinfosheet,该表

29、用于存储不同身份的用户数据,其模式如表4.1所示。表4.1 userinfosheet用户表字段名数据类型备注Codevarchar(10)用户证件号,主键userdispnamevarchar(32)用户昵称UserNamevarchar(32)用户姓名passwordVarchar(32)用户密码fpasswordvarchar(16)用户界面显示的用户密码,始终为*typechar(1)用户类型 U: 普通用户S:管理员 存储图书信息的表Bookinfosheet,如表4.2所示,用于存放图书管理系统中所有已录入的书目信息。表4.2 Bookinfosheet图书信息表字段名数据类型备注

30、CodeVarchar(32)图书编号,主键Namevarchar(32)书名sourcecodevarchar(32)图书源码Selfcodevarchar(32)自编代码isbnvarchar(32)ISBN号yyearVarchar(32)出版年份versionVarchar(32)图书版数authorvarchar(32)作者priceint图书价格presscodeVarchar(32)出版社编码loccodevarchar(32)书架号memovarchar(200)备注Numint在库数量 存储图书借阅信息的表lendInfo,模式如表4.3所示。改表存放了所有读者的借阅信息,借

31、书和还书都对该表进行操作。表3.3 lendInfo图书借阅表字段名数据类型备注Usercodevarchar(32)用户证件号BookcodeVarchar(32)图书编号statusint借阅状态BorrowDateVarchar(10)借阅时间returnDateVarchar(10)归还时间 存储出版社信息表pressinfosheet,模式如表3.4所示。该表存放了系统中的所有权限情况,本系统中只有四类权限:学生、老师、普通管理员和总管理员。表3.4 pressinfosheet出版社信息表字段名数据类型备注Codevarchar(10)出版社编号abbrNamevarchar(32

32、)简略名称fullnamevarchar(32)出版社全称此外,我们的数据库系统中还存在一个存储过程Procedure,名为dt_bookInfo,该存储过程用于返回图书馆中不同种类书籍的数量。其SQL脚本为:CREATE PROCEDURE dt_bookinfo AS (SELECT COUNT(*) FROM bookinfosheet)关于数据库BOOKSTORE的建库脚本请参照附录2.第5章 系统实现5.1 开发环境及工具系统开发环境软件环境:开发平台:Windows XP SP3数据库:SQL Server 2000 个人版WEB效劳器:IIS 6.0硬件环境:处理器: AMD T

33、urion 64 X2 1.9 GHz内存:2G硬盘:160G开发工具Microsoft Visual Studio 2005Visual Studio 2005是一款优秀的集成开发环境,它支持Windows应用程序和ASP.NET应用程序的开发,而且它内置了一个ASP.NET Development Server,支持ASP.NET WEB应用程序的调试,我们可以像调试Windows应用程序一样去调试ASP.NET应用程序。5.2 模块说明及程序流程设计 模块说明图书管理系统实现功能分为如下三个模块:“用户管理模块在本模块中,图书管理员可以输入用户编号、用户姓名、用户昵称和用户密码创立一个图

34、书管理系统的新用户,该用户默认为普通用户。同时,图书馆管理员也可以查看当前系统中所有用户一览信息。该用户一览界面上提供了三个按钮:“编辑、“修改密码、“删除,分别对应着:修改用户根本信息、修改用户密码和删除该用户功能。管理员登入系统后,单击这些按钮即可方便地实现对注册用户的管理操作。“图书检索和借还书模块本模块提供应普通读者查询书目信息的功能,提供浏览器模式的图书信息检索工具。检索时可按书名、ISBN、作者、出版社、备注进行任意条件查询。本模块中提供的检索功能是一个模糊查询。本页面中,对检索结果进行了分页显示,每页显示10条数据,在网页上提供了:“首页、“上页、“下页、“尾页和页码数字。用户可

35、以方便地快速定位到某一页。本模块还提供了为某读者借阅书籍的功能,首先输入检索条件检索需要借阅的书籍,待检索到的书籍在库数量不为0时,在页码上输入读者证件号,即可对根据检索条件检索出来的书籍进行借阅。如果检索到的书籍在库数量为0,此时那么无法借阅相关书籍。页面上会提示在库数量为0时无法借阅。本模块同时还提供了图书归还功能,首先根据读者证件号,查阅该读者当前正在借阅的书籍一览。在页面上,当前正在借阅的书籍一览以表格的形式显示出来。每行的最后一列提供了一个“归还按钮,管理员单击该按钮即可对该本书籍进行归还操作。“图书管理模块:图书管理模块主要提供了针对图书馆藏书的管理功能。该模块提供了添加图书的功能

36、,管理员可以在本模块上录入图书馆引进的新书。图书维护:管理员实现对图书的维护,通过检索特定的书籍,管理员可以对该书籍的根本信息进行修改操作,如修改图书名称、在库数量、作者、定价等等。本模块还提供了图书销毁功能,管理员通过条件检索,获得待销毁图书一览信息,直接在页面上单击一个“删除按钮即可完成对该图书的销毁操作。 模块流程图书管理系统三大模块的处理流程如下:“用户管理模块此处给出修改用户密码的处理流程,其他流程类似不再赘述。输入旧密码、两次输入新密码旧密码正确?修改数据库中用户密码提示信息:密码错误NY“图书检索和借还书模块 与用户管理模块类似,此处以借书为例,说明一下借书的处理流程。输入书籍查

37、询条件,查询书籍该书籍存在?该书无库存无法借阅书籍未找到无法借阅NY库存大于0?NY在库数量减一,指定用户借书记录加一“图书管理模块:此处以图书销毁为例,详细说明其处理流程,如以下图:输入书籍查询条件,查询书籍该书籍存在?书籍未找到无法借阅NY从书籍表中删除该书的信息5.3 关键技术分析在整个图书管理系统设计实现过程中,存在一些关键技术。以下对这些关键技术进行代码级的分析:数据库连接字符串获取代码0102SqlConnection conn;conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSetting

38、sconnection);第1行声明一个SqlConnection对象conn,用于连接SQL Server数据库。第2行从Web.config配置文件中读取Key为Connection的字符串,根据该字符串生成一个SqlConnection对象。接下来我们看一下web.config文件内容:该文件是一个XML文件,我们可以看到Key为Connection的标记的Value正是一个SQL Server连接字符串。!-数据以表格形式显示到页面代码在图书管理系统中,我们随处可见数据表中的数据以表格的形式显示在网页上,这是通过一个DataGrid控件来实现的。以用户信息为例,该页面是userinfo

39、.aspx,表格相关代码如下: 上表的代码中,标签对应到查询SQL语句的一个字段,而那么对应编辑命令、同理对应于一个按钮命令,如删除和修改密码。我们在标签中注册了几个处理事件,如下:OnCancelCommand=Grid1_Cancel OnEditCommand=Grid1_Edit OnItemCommand=Grid1_Mod OnPageIndexChanged=Grid1_PageIndexChanged OnUpdateCommand=Grid1_Update PageSize=10 OnItemDataBound=DataGrid1_ItemDataBound OnDelete

40、Command=DataGrid1_DeleteCommand这些事件分别对应于后台代码文件中的函数,此处不再赘述,仅仅分析一下填充该DataGrid的代码:01020304050607080910111213141516171819202122232425262728293031323334353637 public void BindGrid() SqlDataAdapter dtcmd =null; SqlDataReader dataR =null; DataTable dt =new DataTable(); string str2 = select count(*) as nums

41、 from userinfosheet; cmd = new SqlCommand(str2, conn); conn.Open(); dataR = cmd.ExecuteReader(); if (dataR.Read() if (dataRnums.ToString() = 0) Msg.Text = ; else Msg.Text = 合计:记录数 + dataRnums.ToString(); conn.Close(); string str1 = select * from userinfosheet order by code; dtcmd = new SqlDataAdapte

42、r(str1, conn); dtcmd.Fill(dt); #region 用来判断当前删除是否为当前页的最后一条记录 if (this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount - 1) & this.DataGrid1.Items.Count = 1) if (this.DataGrid1.CurrentPageIndex - 1 1) this.DataGrid1.CurrentPageIndex = this.DataGrid1.CurrentPageIndex - 1; else this.DataGrid1.Cur

43、rentPageIndex = 0; #endregion DataGrid1.DataSource = dt; DataGrid1.DataBind(); 第1行是函数名,填充DataGrid函数名为BindGrid第35行声明了三个变量,用于从数据库中获取数据以及将保存数据第616行翻开到数据库的连接,执行一条SQL语句获取用户表中用户的数量,用户数会在页面上显示。第17行关闭到SQL Server的连接。第1820行通过执行一条SQL语句,从数据库中将userinfosheet表中的数据取出来保存到一个DateTable对象中。第3536行将上一步取到的数据设置到DataGrid对象的D

44、ataSource属性中,调用DataBind函数使得userinfosheet表中的数据填充到DataGrid控件中,对用户来说此时页面上显示出一张表格。图书借阅处理代码借阅图书涉及到两张数据表的更新,分别是bookinfosheet和lendinfo。其代码如下:0102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 string CodeStr = e.Item.Cells0.Text; string userCode = tb_u

45、sercode.Text.Trim(); if (userCode = ) Msg.Text = 请输入借阅者证件号!; return; int number = int.Parse(e.Item.Cells6.Text.Trim(); if (number 0) string sql_insert; string sql_update; string today = DateTime.Today.Year.ToString() +-+ (DateTime.Today.Month 9 ? DateTime.Today.Month.ToString() : 0 + DateTime.Today.

46、Month.ToString(); today += - + (DateTime.Today.Day 9 ? DateTime.Today.Day.ToString() : 0 + DateTime.Today.Day.ToString(); sql_insert = insert into lendInfo(usercode, bookcode, borrowDate) values ( + userCode + , + CodeStr + , + today + ); sql_update = update bookinfosheet set num=num-1 where code= +

47、 CodeStr + ; SqlTransaction trans = null ; try conn.Open(); trans = conn.BeginTransaction(IsolationLevel.Serializable); cmd = new SqlCommand(sql_insert, conn, trans); cmd.ExecuteNonQuery(); cmd.CommandText = sql_update; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); DataGrid1.EditItemIndex = -

48、1; BindGrid(); Msg.Text = 借阅成功!; catch (SqlException) trans.Rollback(); Msg.Text = 借阅失败,请重试!; return; finally if (conn.State = ConnectionState.Open) conn.Close(); else Msg.Text = 该书已经没有库存!; 图书借阅操作分为三个步骤,首先输入借阅者证件号。然后生成两条SQL语句,分别用于将bookinfosheet表中相应书籍的在库数量减一和在lendinfo表中增加一条对应读者的借书记录。第17行代码获取读者编号和图书编号

49、,并判断页面上是否输入了读者编号,如果没有输入那么在页面上显示一条提示消息。第89行获取该书的在库数量,并且判断在库数量是否大于0,假设不大于0那么在页面上显示一条提示消息,该书已经没有库存,无法借阅。第1120行生成两条SQL语句,分别用于更新bookinfosheet中对应书籍的在库数量和向lendinfo表中插入一条借书记录。第2148行执行上一步生成的两条SQL语句,在这里为了确保数据库信息一致性和完整性,我们将这两条SQL语句放入一个事务Transaction中执行。这两条SQL语句要么全部执行,要么全部不执行。当两条SQL语句执行成功时候,页面上显示一条借阅成功的消息,否那么在页面

50、上显示一条借阅失败的消息。图书归还处理代码01020304050607080910111213141516171819202122232425262728293031323334353637string CodeStr = e.Item.Cells0.Text;string userCode = e.Item.Cells2.Text;string borrowDate = e.Item.Cells4.Text;string sql_update1;string sql_update2;string today = this.getToday();sql_update1 = update len

51、dInfo set status=1, returnDate= + today + where bookcode= + CodeStr + AND usercode= + userCode + AND borrowDate= + borrowDate + ;sql_update2 = update bookinfosheet set num=num+1 where code= + CodeStr + ;SqlTransaction trans = null; try conn.Open(); trans = conn.BeginTransaction(IsolationLevel.Serializable); cmd = new SqlCommand(sql_update2, conn, trans); cmd.ExecuteNonQuery(); cmd.CommandText = sql_update1; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); DataGrid1.EditItemIn

温馨提示

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

评论

0/150

提交评论