




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 I 页 目 录1、概述32、开发工具选择32.1 ASP.net简介32.2 Microsoft SQL Server 2000简介82.3 运行环境92.4 开发软件的安装103、图书管理系统的开发173.1需求分析173.2 开发设计思想173.3 主要功能183.4 系统层次图184、数据库设计195、主要模块介绍265.1 用户登录界面265.2 图书浏览界面275.3 图书借阅界面285.5 图书管理界面315.6 读者管理界面315.7 用户管理界面346、总结37致谢38参考文献39第 42 页 基于web的图书管理系统摘要由于计算机技术的迅速发展和普及,与之紧密相关的图书管
2、理系统已经深入到现代图书馆中。在高校,图书管理系统作为计算机管理信息系统的一个应用,越来越发挥着它重要的作用。本文所介绍的图书管理系统是在ASP.net平台上,结合SQL数据库、WEB技术共同开发的。本系统完成了对图书的日常管理,包括对图书信息的添加、修改、删除等计算机管理工作。本文对采用的相关技术进行了描述,对各个子系统的功能、设计思路及设计方法都作了较为详细的描述。关键词:ASP.net;SQL;图书管理系统The library management system based on WebAbstractDue to the rapid development of computer t
3、echnology and the popularization, closely related the books management system management system into the modern library. In college, library management system as a computer management information system for an application, plays more and more important role in it. This article introduced the books m
4、anagement system management system is in the ASP.net platform, combined with the SQL database, WEB technology joint development. Completion of the system for the daily management of the library, including the book information to add, modify, delete and other computer management work. This article on
5、 the use of related techniques are described, the various subsystems of the function, design ideas and methods are described in detail. Key words: ASP.net; SQL; Library management system1、概述早期图书管理由于图书量比较少,所以主要是依靠人工管理,利用卡片的形式进行图书的借阅和归还。随着社会发展,图书馆的不断扩建,图书量的不断扩大,依靠原始的管理方法数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采
6、取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。为了满足图书管理现代化的需求,国内外软件商已经开发出许多商品化的图书管理软件,但它们大多是面向大型专业图书馆而开发的,专业性强且功能分工比较细,较难以掌握,不
7、适合中小型图书馆使用。综合以上考虑,一个操作简便,功能适合的图书管理系统对于中小型图书馆是很必要的。2、开发工具选择2.1 ASP.net简介ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。
8、它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。不过ASP的缺点也逐渐的浮现出来: 意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。 直译式的VBScript或JScript语言,让效能有些许的受限。 延展性因为其基础架构扩充性不足而受限,虽然有COM元件可用,但开发一些特殊功能(像文件上传)时,没有来自内置的支持,需要寻求第三方软件商开发的元件。 1997年时,微软开始针对ASP的缺点(尤其是意大利面型的程序开发方法)准备开始一个新项目来开发,当时ASP.NET的主要领导人Scott Guthrie刚从杜克大学毕业,他和IIS团队的Mark Ander
9、s经理一起合作两个月,开发出了下一代ASP技术的原型,这个原型在1997年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是Java语言。不过它马上就被纳入当时还在开发中的CLR平台,Scott Guthrie事后也认为将这个技术移植到当时的CLR平台,确实有很大的风险(huge risk),但当时的XSP团队却是以CLR开发应用的第一个团队。 为了将XSP移植到CLR中,XSP团队将XSP的内核程序全部以C#语言重新撰写(在内部的项目代号是 Project Cool,但是当时对公开场合是保密的),并且改名为ASP+,作为ASP技术的后继者,并且也会提供一个简单的移转方法给AS
10、P开发人员。ASP+首次的Beta版本以及应用在PDC 2000中亮相,由Bill Gates主讲Keynote(即关键技术的概览),由富士通公司展示使用COBOL语言撰写ASP+应用程序,并且宣布它可以使用Visual Basic.NET、C#、Perl与Python语言(后两者由ActiveState公司开发的互通工具支持)来开发。 在2000年第二季时,微软正式推动.NET策略,ASP+也顺理成章的改名为ASP.NET,经过四年的开发,第一个版本的ASP.NET在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成为ASP.NET的产品经理(到
11、现在已经开发了数个微软产品,像ASP.NET AJAX和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 以及 .NET Framework 4.0 已经在VS2010平台内应用。ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual S开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止
12、只知道它只能用在Windows 2000/2003 Server/VISTA/7/XP上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript , C+、F+。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。 ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对
13、比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#即可。ASP.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。ASP.net使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使A的基
14、于应用的开发更加具体和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.net可以加入自己定义
15、的任何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visu
16、al Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 ASP.NET 应用程序
17、时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语。你不需要先前的ASP开发经验,但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在A的世界开始展翅高飞了。当装载(hosting) ASP.NET 的 Web 服务器接收到 HTTP 要求时,HTTP 聆听程序 (H
18、TTP Listener) 会将要求转交给 URL 指定的网站应用程序的工作流程 (Worker Process),ASP.NET 的工作流程处理器 (aspnet_isapi.dll,若是 IIS 5.0 时则是 aspnet_wp.exe) 会解析 URL,并激活位于 System.Web.Hosting 命名空间中的 ISAPIRuntime对象,接收 HTTP 要求,并调用 HttpRuntime,运行 HttpRuntime.ProcessRequest(),在 ProcessRequest() 中使用 HttpApplicationFactory 建立新的 HttpApplicat
19、ion (或是指定的 IHttpHandler 处理器),再分派给 Page 中的 ProcessRequest() 或是 IHttpHandler 的 ProcessRequest() 方法,运行之后,再传回到 ISAPIRuntime,以及 aspnet_isapi.dll,最后交由 HTTP Listener 回传给用户端,因为运行程序有如管线般顺畅的运行,因此称为 HTTP Pipeline Mode。 在 ASP.NET 内部的 HTTP 处理器有: ISAPIRuntime:由 aspnet_isapi.dll 调用,初始化 HttpWorkerRequest 对象(会由IIS的版
20、本决定要初始化的版本)。 HttpRuntime:提供要求队列 (Request Queue)、调用 HttpWorkerRequest 中的 ProcessRequest() 方法,以及后续的处理工作。 HttpWorkerRequest:产生 HttpApplication、HttpRequest、HttpResponse 等基础对象的 HTTP 要求对象,并将要求转送到要处理的对象(并调用它的 ProcessRequest() 方法)。 IHttpHandler 与 IHttpAsyncHandler:负责处理 HTTP 要求的单元,由 ProcessRequest() 来分派与运行要求
21、。 ASP.NET网页中的事件程序 当 HttpWorkerRequest 调用 ASP.NET 网页(System.Web.UI 命名空间的 Page 类) 的 Page.ProcessRequest() 方法时,它会依序的引发 Page 内的各个事件,并同时调用在 Page 中所有控件的相关事件,其引发顺序为: PreInit 事件:运行预先初始化的工作,在ASP.NET 2.0中,若要动态调整主版页面 (Master Page)、布景主题 (Theme) 时,要在这个事件中调整。 Init 事件:运行初始化工作。 InitCompleted 事件:在完成初始化工作后引发。 Preload
22、 事件:运行预先加载的工作。 Load 事件:运行加载的工作,大多数的网页都拥有 Page_Load 事件处理程序,用户控件中也有 Page_Load 事件例程,都会在此时调用。 控件的 PostBack 变更通知:当网页侦测到是 PostBack 要求时,会引发 PostBack 消息通知的事件。 控件的 PostBack 相关事件:当网页侦测到是 PostBack 要求时,会引发 PostBack 消息指定的控件的事件。 LoadCompleted 事件:运行加载完成后的工作。 PreRender 事件:处理在产生 HTML 结果前的工作。 SaveStateCompleted 事件:处理
23、页面状态 (ViewState 与 ControlState) 储存完成后的事件。 Render 事件:处理产生 HTML 的工作。 Unload 事件:处理退出网页处理时的工作。 如果 HttpWorkerRequest 调用的是实现 IHttpHandler 界面的 HTTP 处理程序时,它只会调用 IHttpHandler.ProcessRequest() 方法,由它来处理程序的输出,不像 Page.ProcessRequest() 会处理事件顺序,因此 HTTP Handler 很适合轻量级的数据处理,像是输出文件数据流或是图片数据流等。ASP.net与ASP的区别:ASP是解释性编程
24、框架,而ASP.net是编译性框架,ASP.net无论是从执行效率和安全上都远远超过ASP而文件上也是有差异的ASP的后缀是.asp 而ASP.net则是 .aspx和.aspx.cs ,ASP.net实现了代码分离。可以说让代码管理更加直观。以往在ASP中常被使用的五大基本对象,在ASP.net中依然支持:Application:包装了 HttpApplication 对象,在程序中使用 Application 指令取得的对象,都是来自于 HttpContext.Current.Application 属性回传而得。 Request:包装了 HttpRequest 对象,在程序中使用 Req
25、uest 指令取得的对象,都是来自于 HttpContext.Current.Request 属性回传而得。 Response:包装了 HttpResponse 对象,在程序中使用 Response 指令取得的对象,都是来自于 HttpContext.Current.Response 属性回传而得。 Session:包装了 HttpSessionState 对象,在程序中使用 Session 指令取得的对象,都是来自于 HttpContext.Current.Session 属性回传而得。 Server:包装了 HttpServerUtility 对象,在程序中使用 Server 指令取得的对
26、象,都是来自于 HttpContext.Current.Server 属性回传而得。2.2 Microsoft SQL Server 2000简介SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活
27、性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。 结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、DB2、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBu
28、ilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。 美国国家标准局与国际标准化组织已经制定了SQL标准。SQL语言包含3个部分:数据定义语言Data Definition Language(DDL),定义:definition/ 例如:CREATE、DROP、ALTER等语句。 数据操作语言Data Manipulation Language(DML),操作:make/ 例如:INSERT、UPDATE、DELETE语句。 数据控制语言Data Controlling Language(DCL),控制:control/ 例如:GRANT、REVOKE、COMMIT、ROL
29、LBACK等语句。 SQL Server 2000 是Microsoft公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows XP 的微型计算机到运行Microsoft Windows 2003 Server 的大型多处理器的服务器等多种平台使用。SQL Server 2000 是基于客户机/服务器(Client/Server)模型的新一代大型关系型数据库管理系统DBMS(database manageme
30、nt system),它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为个人/企业的数据管理提供强大的支持。2.3 运行环境硬件环
31、境:处理器:Pentium 4或以上内存:至少1G以上硬盘空间:至少20G硬盘空间以上操作系统:Windows 2000/XP/Vista/7软件环境:本系统在windows XP 及Microsoft Visual Studio2005及Microsoft SQL Server2000中实现。2.4 开发软件的安装安装Microsoft Visual Studio2005:运行安装目录下的Setup.exe如下图所示;在弹出对话框中选择 安装Visual Studio 2005,至于msdn library和service release等增强功能组件则可以选择不安装选择所需安装的Visua
32、l Studio 2005组件,输入产品密钥和用户名称,单击下一步;选择需要安装的功能,以及目标路径;选择完成后单击“安装”;至此Microsoft Visual Studio2005安装完成,文件比较大,安装很慢。Microsoft SQL Server2000安装:运行安装文件,选择安装简体中文个人版选择安装SQL Server 2000组件选择安装数据库服务器计算机名选择“本地计算机”,单击下一步选择创建新的SQL Server实例,或安装“客服端工具”,单击下一步。选择服务器和客户端工具,单击下一步选择服务账户如下图所示身份验证模式选择混合模式,密码和用户名均为sa,单击下一步一切设置
33、完成后,单击下一步开始安装,几分钟后安装完成。3、图书管理系统的开发3.1需求分析随着学校图书馆的规模不断扩大,图书数量急剧增加,有关图书的各种信息量也成倍增长。面对庞大的信息量需要有图书管理系统来提高管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校图书管理,其主要任务是用计算机对图书信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了图书管理系统。3.2 开发设计思想本图书信息管理系统采用B/S模式来实现客户端对服务器端的调用,所谓B/S模式即浏览器/服务器模式,是一种从传统的二层C/S模式
34、发展起来的新的网络结构模式。在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向WEB服务器提出访问数据库的要求,WEB服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给WEB服务器,WEB 服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器,以友好的WEB页面形式显示出来。如图该系统运行于服务器端,完全采用ASP.net+SQL开发,客户端只需安装有WINDOWS系统即可使用本系统。WEB浏览器WEB浏览器WEB浏览器WEB服务器数据库服务器该系统包括用户登录
35、、图书浏览、图书借阅、图书归还、图书管理、读者管理、个人信息等主要功能模块。3.3 主要功能用户登录模块:系统用户必须输入正确的用户名和密码才可以登陆管理系统。图书浏览模块:主要针对一般用户,用于图书的检索。图书借阅模块:由图书管理员使用,图书管理员按照书号和书名查找图书,并显示该书的剩余数,学生按照学号和姓名登记借书,并显示已借图书数量。图书归还模块:由图书管理员使用。图书管理模块:由图书管理员使用,修改图书详细信息、添加新书。读者管理模块:由系统管理员使用,用于添加删除读者信息。用户管理模块:由系统管理员使用,用于添加删除系统用户。个人信息模块:用于系统管理员或图书管理员修改自己用户信息。
36、3.4 系统层次图系统层次图如图3-1所示:用户登录一般用户user0图书浏览修改个人信息用户登录图书借阅图书管理员user1图书管理系统图书归还图书管理修改个人信息用户登录读者管理系统管理员user2用户管理修改个人信息图3-1 系统层次图4、数据库设计首先,在“开始”菜单中选择“所有程序”“Microsoft SQL Server”“服务管理器”启动SQL2000的服务,如图所示然后在“开始”菜单中选择“所有程序”“Microsoft SQL Server”“企业管理器”在打开的菜单中右键单击数据库,选择“新建数据库”,输入名称后点击完成。打开新建的数据库,右键单击表,选择新建表新建的每个
37、表的主键都需要设定,对于用户信息表:主键设为UserCode,数据类型为numeric,长度为9且不允许为空,主要用来记录用户的编号;UserName定义为varchar型,用来保存可变长度的字符串,主要用来记录用户的真实姓名;LoginID定义为varchar型,用来保存可变长度的字符串,主要用来保存用户的登录ID;LoginPwd定义为varchar型,用来保存可变长度的字符串,主要用来保存用户的登录密码;LoginTime定义为datetime型,用来记录用户的登录时间;UseLvl定义为varchar型,用来保存可变长度的字符串,主要用来规定用户的权限级别。表 1 用户信息表对于读者信
38、息表:主键设为SID,定义为numeric数据类型,用来记录读者的编号;StudentID,定义为datetime型,用来记录读者的学号;StudentName,用来记录读者的姓名,定义为varchar型,用来保存可变长度的字符串,主要是为了以后可以修改录入错误的姓名。表 2 读者信息表对于图书信息表:主键设为BookID,定义为int整型,长度为4且不为允许为空;BookName,定义为varchar,长度设为100,用来保存书籍的名称,有的书名比较长,故这个长度设置的也比较大;BookCLS,定义为varchar,主要用来将书籍分类;Publisher,定义为varchar,主要用来记录出
39、版商信息;Author,定义为varchar,主要用来记录书籍作者信息;Desc,定义为varchar,主要用来记录书籍的关键字以及对于书籍的简单描述信息,信息量比较大,故长度设为500;ISBN,定义为varchar,主要用来记录国际标准书号(International Standard Book Number);TCODE,定义为varchar,主要用来记录书籍的二维条码;WithDisk,定义为varchar,主要用来记录书籍是否带有光盘、副刊等信息;BookNum,定义为int整型,主要用来记录书籍在数据库中的编号;InDateTime,定义为datatime,主要用来记录书籍录入数据
40、库的时间表 3 图书信息表对于图书借阅信息表:主键设为booksubid,定义为int整型,长度为4且不允许为空值;BookID,定义为varchar,用来记录书名书号;outDateTime,定义为datetime,主要用来记录书籍被借出的时间;outStudentID,定义为varchar,主要用来记录借出书籍的读者的姓名;outActionUser,定义为numeric,主要用来记录借出书籍的读者的学号;isIN,定义为numeric,主要用来记录同一本书籍,图书馆中还有多少剩余量;inDateTime,定义为datetime,主要用来记录书籍被归还的时间;inStudentID,定义为
41、varchar,主要用来记录归还书籍的读者的姓名;表 4 图书借阅信息表系统中数据库的链接以及数据的操作功能封装成几类(UserInfomation类,BookInfo类,BookOut类,Student类),存放在App_code文件中。在系统的各功能模块中,引用相应的类以及事件,完成对数据库的操作。例如数据库的链接实现代码为: Public Class clsDataBase Const connStr = Data Source=(Local);Initial Catalog=Bookmanage; &_Integrated Security=True Public Shared Fun
42、ction Open() As SqlConnection Try Dim myConnect As New SqlConnection myConnect.ConnectionString = connStrmyConnect.Open() If myConnect.State Data.ConnectionState.Open Then Return Nothing Else Return myConnect End If Catch ex As Exception Return Nothing End Try End Function Public Shared Sub Close(By
43、Ref clsDdb As SqlConnection) Try If clsDdb.State = Data.ConnectionState.Open Then clsDdb.Close() clsDdb = Nothing End If Catch ex As Exception WriteLog.Write(ex.ToString) End Try End Sub Public Shared Function getData(ByRef clsDdb As SqlConnection, ByVal cmd As SqlCommand) As DataTable Dim cmdAdapt
44、As New SqlDataAdapter(cmd) Dim ds As New DataSet cmdAdapt.Fill(ds) Return ds.Tables(0)End Function Public Shared Sub Execute(ByRef clsDdb As SqlConnection, ByVal cmd As SqlCommand) cmd.ExecuteNonQuery() End SubEnd Class5、主要模块介绍在已启动SQL服务管理器使SQL数据库在后台运行的基础上,打开Microsoft Visual Studio2005,选择“打开网站”,选中我的文
45、件夹,点击确定,使Microsoft Visual Studio2005开始加载相关的页面,加载完成之后,找到Index.aspx页面,点击调试按钮即可运行本系统。5.1 用户登录界面用户登录界面如图5-1所示:图5-1 用户登录界面在用户登录界面中输入正确的用户名和密码,点击“登录”按钮即可登录图书管理系统,如果输入错误的用户名或者密码,则会提示错误。检测用户名和与之相对应的用户密码是由系统与后台数据库中的用户信息表中记录的用户信息进行比对,比对正确的话即可登录系统,比对出错则会返回相应的错误提示信息。如果未输入任何用户信息便点击“登录”按钮,则系统会重新加载此登录界面。主要程序代码: Pr
46、otected Sub Submit_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit.ServerClick Dim userInfo As UserInfomation = _ UserInfomation.getUserInfo(Nothing, txtLoginId.Text, txtPwd.Text) If Not userInfo Is Nothing Then Session.Contents(userCode) = userInfo.userCode Response.
47、Redirect(index.aspx) Else lblMsg.Text = 用户名或者密码错误,请重新输入! End IfEnd Sub5.2 图书浏览界面图书浏览界面如图5-2所示:图5-2 图书浏览界面当用户输入需要查找的书籍部分信息之后,单击“检索”按钮,系统会连接到数据库的图书信息表来查找相应的书籍,并将相关的书名,分类,作者,出版社等信息返回显示在预览框中,实现此功能的代码如下: Protected Sub Search_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Search.ClickG
48、RIDVIEW.DataSource = BookInfo.getBookList(BookName.Text, BookCls.Text, Publisher.Text, Author.Text)GRIDVIEW.DataBind()End Sub5.3 图书借阅界面图书借阅界面如图5-3所示:图5-3 图书借阅界面当用户查找到需要借阅的书籍之后,可以在图书借阅的界面输入自己的学号,需要借阅的书籍名称,单击“借出”按钮实现借阅过程。同时系统会将此次借阅的指令发送到后台数据库备存,实现此功能的相关代码如下: Protected Sub btnOut_Click(ByVal sender As
49、Object, ByVal e As System.EventArgs) Handles btnOut.Click Dim bookOut As New BookOut Dim bookInfo As New BookInfo Dim student As New Student bookInfo = Global.BookInfo.getbookInfo(Nothing, BookTCODE.Text) student = Global.Student.getStudent(StudentID.Text) bookOut.bookID = bookInfo.bookID bookOut.ou
50、tActionUser = Session.Contents(userCode) bookOut.outDateTime = Now() bookOut.outStudentID = StudentID.Text Global.BookOut.AddOut(Me, bookOut)End Sub5.4 图书归还界面图书归还界面如图5-4所示:图5-4 图书归还界面当用户想要归还曾经借阅的书籍,在图书归还界面输入学号和借阅的书籍名称,单击“归还”实现图书的归还操作,系统也会将后台数据库中的相关借阅信息删除,实现此功能的代码如下:Protected Sub btnOut_Click(ByVal s
51、ender As Object, ByVal e As System.EventArgs) Handles btnOut.Click Dim bookOut As New BookOut Dim bookInfo As New BookInfo Dim student As New Student bookInfo = Global.BookInfo.getbookInfo(Nothing, BookTCODE.Text) student = Global.Student.getStudent(StudentID.Text) bookOut.bookID = bookInfo.bookID b
52、ookOut.outActionUser = Session.Contents(userCode) bookOut.outDateTime = Now() bookOut.outStudentID = StudentID.Text Global.BookOut.UpdIn(Me, bookOut)End Sub5.5 图书管理界面图书管理界面如图5-5所示:图5-5 图书管理界面对于图书管理员来说,图书馆中的新书籍添加、书籍相关信息录入错误的修改,均在图书管理界面进行。图书信息的修改可以单击“详细”选项进入修改页面来修改或删除图书,新书籍的添加可以在输入相关信息之后单击“添加新书”来新增图书。
53、5.6 读者管理界面读者管理界面如图5-6、图5-7、图5-8所示:图5-6 读者管理界面图5-7 添加读者界面图5-8 读者详细信息界面在读者管理界面,可以新增读者,也可以修改以往读者的错误身份信息。在图5-6界面点击“新增读者”,在读者详细信息中输入读者的相关身份信息,点击提交便可完成新读者的添加,对于读者的编号则由后台数据库按照读者的添加次序进行自动编号;如果读者身份信息输入错误或者读者不再使用本系统,可以在“读者详细信息”界面中输入该读者的身份信息,点击删除,即可完成将该读者从本系统的后台数据库中信息移除。 Public Shared Sub Insertstudent(ByRef pPage As Page, ByVal studentInfo As Student) Dim SClsDb As SqlConnection = New SqlConnection T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业贴牌定制酒合同范本
- 公园停车位承包协议合同
- 公共租房购买协议书模板
- 协商终止服务合同协议书
- 三座摩托车租借合同协议
- 合伙做汽车运输合同范本
- 合同无效返还财产协议书
- 2025年聘用合同范本
- 厂房拆墙改造合同协议书
- 临时用工的个人合同范本
- 2025年放射工作人员培训考试试题及答案
- 2025-2030超大型矿用卡车电动化转型技术路线及成本效益分析
- 2025至2030中国太阳能发电中的水泵行业发展趋势分析与未来投资战略咨询研究报告
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 剖析我国公立医院管理体制:问题洞察与改革路径探究
- 2025年药品监管与安全知识考试卷及答案
- 大讲堂+管理办法
- 高中班级常规管理课件
- 销售部区域划分管理办法
- 2025年法院书记员招聘考试笔试试题附答案
- 超声波龈下刮治术专题讲解
评论
0/150
提交评论