《基于c#图书馆管理系统的实现与设计本科论文.doc》由会员分享,可在线阅读,更多相关《基于c#图书馆管理系统的实现与设计本科论文.doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 陕西师范大学网络教育学院毕业论文(设计)论文题目 基于C#图书馆管理系统的实现与设计姓 名 王 卫 彬 学 号 50010620209080 专 业 计算机科学与技术 批次/层次 062/高 起 本 指导教师 郭 志 强 学习中心 重 庆 学 习 中 心 1目录中文摘要1Abstract21前言32.开发工具介绍32.1SQL SERVER 2000322 SQL Server 200543.中小型图书馆管理系统的需求分析53.1图书馆管理员的需求53.2读者的需求73.3性能需求74.图书馆管理系统的可行性分析84.1结构的选择(B/S与C/S)84.2技术可行性84.3经济可行性94.4
2、操作环境及运行环境95图书馆管理系统的设计951E-R图分析与设计9511设计局部ER模式9512设计全局ER模式105.2数据表的创建135.3系统设计模块176图书馆管理系统的开发176.1读者登录界面设计176.2预约图书界面设计236.3催还图书界面设计256.4 图书馆总管理员256.5书库管理员277总结28参考文献29致谢30基于C# 图书馆管理系统的设计与实现中文摘要随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。特别是现代Internet的Web技术的发展大大地推动了社会各个方面的发展。设计一个现代的图书馆管理系统势在必行。图书馆管理系统是常用的信息管理系
3、统之一,它的实现主要由两部分组成:数据库建立与维护和前台应用程序的开发。数据库要求非常强的一致性与完整性以及安全性,而前台应用程序则要求功能实现完善,简单易用。SQL server2000具有比较完善的功能。而Visual C#.NET是专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的支持。综合各个方面选择C#作为程序设计语言和SQL server 2000数据库。通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并进一步设计了数据库结构和应用程序。由此得到了一个基本满足读者,图书馆管理员和高
4、级管理者需求的图书馆系统。关键词:图书馆管理系统,C#.NET,SQL server 2000数据库AbstractAlong with the technical development and societys progress, the computer has become the people to live with the work in primary assistant.Specially the modern Internet Web technology development greatly impelled the social each aspect develop
5、ment.Designs for a modern age library management system imperative.The Library Management System of which development mainly contains two aspects that one is the establishment and maintenance of the backstage database and the other is the development of the fore-end application procedures is a typic
6、al Management Information System. The database which must has data consistency,integrality,security as well.And the sencond part will be characteristic with maturity of function,ease-to-use and so on. All above these,I chose the c# programming language and SQL server 2000 database. The reason why I
7、chose to use the MS SQL Server 2000 as a development tool is that it can handle strong data completely and exactly .And I chose Visual C#.NET among many would-be languages, because it is the best language in developing the application procedure.According the analysis of requirement min or small libr
8、ary ,carved up the module of function,analyzed the mode of database and designed its structure and application.By that the book management system can satisfy the basical need of the reader ,the adminsistrators of the library and the high-level adminsistrators.Keywords:Libray management system,C#.NET
9、,SQL server database 1. 前言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的中小型图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得
10、知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,图书馆管理信息系统亦是如此。以往图书馆管理信息系统由于缺乏适当的软件而
11、给其工作带来了很多不便。本论文所介绍的图书馆管理信息系统就是为了使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。2.开发工具介绍2.1 SQL SERVER 2000SQL Server 2000是微软公司大型数据库服务器,它使用了最先进的数据库构架,与Windows NT/2000平台紧密集成,具有完全的Web功能,人们用它可方便地管理数据库和开发应用程序。它通过对高端硬件平台、网络和存储技术的支持,为最大的Web站和企业的应用提供了可扩展性和高可靠性,能在Internet商业领域快速建立应用。此外,还增强了安
12、全性,保护防火墙内外的数据,支持基于角色的安全并拥有安全审计工具。SQL Server 2000数据库服务器的自动调整和自动管理技术在数据库领域中处于领先地位。因此,我选择了SQL Server 2000 作为开发本系统使用的数据库。22 ASP.NET在.NET 环境下使用了ADO.NET构建数据库应用系统中的数据访问层的步骤和方法。由于ADO.NET技术对ADO数据访问技术有了较大的改进,使得开发人员能够以较为灵活的方式查询和操作数据以及更新数据源,是所有数据驱动的.NET应用程序或者Web服务的核心部件。通过对这些技术的了解,使我们对.NET环境下如何开发数据库应用系统有了一个系统的、感
13、性的认识。在后台代码的功能实现上,ASP.NET Web应用程序可以使用多种语言来开发,但是Visual C#.NET作为专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的支持。可以说,Visual C#.NET是开发ASP.NET Web应用程序较好的语言。结合使用Visual C#.NET和ASP.NET,用户可以方便的开发出功能强大的Web应用程序。ASP.NET的另一个强大的功能是它的网页处理时的三层构架,即浏览页面的前台HTML实现、浏览页面的后台C#代码的编写及后台代码与数据库的连接,正是其有这样的三层结构,所以它的
14、安全性得到了很好的保障,这即为我们在上面所说的ADO.NET的一个具体的形式,也是对ADO.NET的实现方式有一个大概的了解,我们可以通过下面的数据访问流程图2.1所示:图 2.1 ASP.NET的三层结构从图片中可以很明显的看出,在显示层中,ASP.NET有自己的显示页面(.aspx),在这个显示页面中存在着本身的后台代码(CodeBehind),之后在页面运行时,后台代码开始对逻辑层中的Business Layer的调用,触发系统后台的另外的.dll文件的运行,然后就是Business Layer通过关键字对Data Layer层文件的连接,最后对数据库的直接的访问是Data Layer中
15、的层文件,通过数据库的访问后取得的数据按每层相连的方式再返回到ASP.NET的显示页面显示出来,用户即可以浏览取到的数据。通过前台的首次请求到最后数据的显示通过几个层次,所以要想通过非法的手段去修改数据库那将是非常困难的。也正是由于ASP.NET的这种功能,所以所做的图书馆管理系统也就选择了这种开发平台。3.中小型图书馆管理系统的需求分析本系统主要实现图书的录入,查询等功能,采用面向对象的分析方法对图书馆管理系统功能需求进行划分,可将需求划分为:管理员对功能的需求和读者对功能的需求两大部分。具体列举如下3.1 图书馆管理员的需求通过详细分析可知,管理员对功能的需求又可以分为图书馆总管和书库管理
16、员对各自的功能需求。由于系统开发的总体任务是实现各种信息的系统化、规范化和自动化。所以图书馆总管对系统需要完成的功能有:读者信息的管理、图书信息的管理、书库管理员的管理等。书库管理员的功能主要为:出借图书、归还图书操作及自己密码的修改等功能。对读者信息的添加: 当有新的读者需要加入到图书馆管理系统中时,图书馆总管就要对读者的各种信息进行集体录入。此外由于我们所做图书馆管理系统的读者主要针对的是学校的学生,故我们录入的主要是学生的各种信息,包括读者编号、读者姓名、所属年级、。其中读者的编号可以是学生入学时的学号,唯一性的。权限的级别在下面的数据表中我们可以看到。读者信息的查询、编辑和删除: 当图
17、书馆总管需要查询某个读者的基本信息和借阅信息时,他们在服务端可以通过学号或者姓名可以找到这些信息,在找到后可以对这些基本的信息进行修改和保存。另外对于删除的功能则为,当某些学生快要毕业了,图书馆的管理人员就要对这些读者在图书馆中的一些基本信息进行删除掉,在这个删除的过程中,图书馆的管理人员主要是进行模糊查找,找到学生编号前面的年份即可,然后可以很方便、快捷地进行数据删除功能。对图书信息的录入: 由于图书馆在每年都要购买许多的新书,所以对这些新买的新书进行编号添加到图书馆管理系统中将是一个非常巨大的工程,因此在图书的录入过程中包含了图书的一些基本的信息,有:图书编号、图书名称、图书作者、图书价格
18、等信息。图书信息的查询、修改及删除: 在这个过程中,我们是为了及时的了解图书在馆的最新的情况,图书馆管理员首先可以通过查询找到某一类编号的图书,然后查看它们的在馆信息,另外在查找到该图书后可以修改及保存图书修改后的信息,再一个重要的功能就为当某些图书在借阅过程中破损或遗失什么的,我们暂时就要对该图书进行删除或者是修改该图书,只有这样及时的修改图书信息,读者在借阅过程中就可以很方便的找到所需要的图书,省去了许多不必要的麻烦,实现了快捷的目标。对管理员的管理: 在该过程中,主要是对新到的书库管理员进行添加,修改和删除等操作。这些操作我们可以仿照在对读者的操作中实现,只是我们在做数据库表时是不一样的
19、。书库管理员的信息主要为:管理员编号、管理员密码、管理员名称等级问题等。资金分配: 这个模块的操作是比较简单的,当管理员想要了解资金在各种书籍中所占的比例,可以通过登入这个页面查询就一目了然了。3.2 读者的需求由于读者对主数据库表的修改权限不大,所以读者主要是浏览方面的功能。包括了读者本身信息的查看及修改、图书信息的查询、购书推荐、预约图书、查看新书通报、查看图书馆公告、图书馆留言等功能。读者本身信息查看及修改: 当一个读者到图书馆借阅图书或者归还图书时,他要对自己的一些基本的信息和借阅信息都要有相应的查看,通过查看这些已经存在的信息,读者可以了解到他是否还可以再借阅图书,现在已经借阅了几本
20、图书,是哪几本书,并且这些书本的归还时间是什么时候,是否超期等,这样读者对自己的借阅信息就有了一个大概了解,就可以避免不盲目的跑去借阅图书了。对于修改操作主要的还是读者自己的密码的修改,因为这只关系到他自己的事情,所以对数据库中其它的数据没有太大的影响。图书信息查询: 在这个模块中,读者可以对图书的信息进行查询,查询的方法有两种,一种是模糊查询,另一种是精确查询。对于模糊查询只是对图书的某一个字段查找,而且是任意匹配的形式。而对于精确查询则为对图书的各个字段进行查找,当添加了某个查询条件后,查询结果的记录集都在变化,这样读者可以方便的找到自己所要的图书。另外在查看记录集的过程中读者可以了解到该
21、书本是否在馆可借,如果可借就可以在图书所在书库中找到,若没有的话,在图书所在书库中则不可以找到。这就是读者对图书的查询功能。预约图书: 在该模块中,当读者去图书馆借阅图书时,图书馆中的该书或许已经出借了且现在的库存数目为0,那样的话,读者暂时就不可以借阅该图书了,所以读者可以在网络上对该书进行预约操作,这样当图书馆中该书有了库存后,他就有对该图书的优先借阅的权利,所以这可以帮助读者在借阅这方面提供很大的便利,由此也就产生了一个图书预约表,包含信息有:读者编号、图书编号、图书名称、图书作者、ISBN编号、所属书库等信息。查看图书馆留言及公告: 在这个功能模块上,我们主要是对图书馆最近的公告和信息
22、进行查看,了解图书馆最近的一些图书管理方面的信息和最新图书的信息,另外在留言板上读者可以提出自己对图书馆在管理方面自己的意见或建议什么的,这对加强图书馆的管理次序是有很大的帮助,另外读者自己在规范次序上也会有很大的改变。3.3 性能需求图书馆在正常运行中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息,因此需要对读者资源、书籍资源、借书信息,还书信息进行及时处理,及时了解各个环节中信息的变更,力求提高管理效率。检验图书馆服务水平的重要标准。1.环境:图书室、阅览室环境清洁、安静、整齐、舒适;2.人员:图书馆管理工作人员热情、认真、主动,有专业能力;3.设备:图书馆设施先
23、进、齐全,能满足功能需要; 4.文献:图书馆的文献资源符合工作性质与目标,数量多,质量好,有特色。一般的性能需求是指相互消息传递顺利,协议解析正确,界面友好,运行时间满足使用需要,安全性得到安全保证,不会出现基本的错误等。4.图书馆管理系统的可行性分析4.1 结构的选择(B/S与C/S)随着技术的进步,更多的层次被划分出来。目前,在Internet应用体系结构中,商务逻辑处理被单独划分为一层,作为Internet服务器。它对用户通过浏览器提交的表单进行分析,并得出对数据库服务器进行的查询,交给数据库服务器去执行并得到查询的结果,最后由Internet服务器用标准的HTML语言反馈回浏览器,称为
24、B/S(Brother/Server)结构。计算机技术发展日新月异,传统的 C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。而B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要
25、复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;BS结构则不同,它的前端是以TCPIP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。4.2 技术可行性技术可行性是从前台和后台的开发工具选择上
26、进行分析的。微软公司开发的ASP.NET远远超越了ASP及其它开发软件,同时也给Web开发人员提供了更好的灵活性,有效缩短了Web应用程序的开发周期。而SQL Server 是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。其版本SQL Server2000将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。SQL Server 2000 提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案,因此我们在图书馆管理系统中使用了在.NET环境基于Web页面的B
27、/S服务模式。4.3 经济可行性在系统运行后的维护是非常重要的,并且其维护的费用还是很大的,如果是一个Windows Form的管理系统,要对数据的维护将要付出很大的代价,而且它的维护人员也比较的多和分散,因此对数据库的操作在各个时间段都是很频繁的,人也很容易出现疲劳,问题也就会比较容易发生。但是我们现在用基于Web的B/S模型,我们修改数据的操作只在服务器端就可以了,而且它的人员也比较集中,对数据的修改只是在某段时间内比较的频繁,过了这个时间后就较轻松,所以人的精力也比较集中,那么数据库的操作也就不怎么会出现问题,因此在这方面的维护费用也大大的减少。4.4 操作环境及运行环境软件环境:操作系
28、统:Windows XP, 数据库:SQL Sverver 2000,前台环境:Dreamweaver,Visual Studio.NET硬件环境:Cpu: Pentium 166 MHz 以上,内存至少128 MB,硬盘空间80 M,显示器800 *600或更高分辨率。5图书馆管理系统的设计51 E-R图分析与设计利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。511 设计局部E-R模式实体和属性的定义:图书(图书编号,图书名称,作者,价格)借阅者(借书证号,姓名,性别
29、)图书类别(图书类别编号,类别描述)ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图所示。解释如下:一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。512 设计全局E
30、-R模式所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。一确定公共实体类型为了给多个局部E-R模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。二 局部E-R模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。设计全局E-R模式的目的
31、不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。首先在该过程中发生的实体是图书信息和用户信息,他们之间产生的关系是借阅关系,在这个借阅关系中,产生的对应关系为:图书信息:用户 = 1:1,用户:图书 = 1:N,从这个关系中我们可以看到:每一本图书只能被一个读者借阅,而一个读者又可以借阅多本图书的这层关系。另外在上图中我们可以看到图书信息和用户信息又有自己的一些关系属性,通过这些关系属性可以唯一的区别这些实体。这在下面的图5.1图5.6中可以看出编号用户ID用户n书名图书ID 图书图书管理 总管理员姓名管理员ID管理借
32、阅操作m n n m m m n密码图 5.1 总体E-R属性图图书信息图书编号定 价书 名作 者书库图5.2 图书属性图借 阅编 号书目编号读者编号借阅日期应还日期图 5.3 借阅信息属性图用 户 信 息用户编号所属年级姓 名密 码图5.4 用户信息属性图由于概念设计的结果是E-R图,DBMS一般采用关系型(该系统所使用的MS SQL Server就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行,导出系统主要的初始关系模式如图所示: 图5.7 关系模型5.2 数据表的创
33、建我们可以设计出了后台数据库的各个数据表。如表5.1表5.10所示:表5.1 管理员表字段代号字段类型字段长度是否可以为空备注Admin_no(关键字)Nvarchar16否管理员编号Admin_pwdNvarchar16可以为空管理员密码Admin_nameNvarchar4否管理员名称Admin_uppowerNvarchar20否管理员权限表5.2 借书表字段代号字段类型字段长度是否可以为空备注Duzhe_noNvarchar50否读者编号Book_noNvarchar50否图书编号Book_nameNvarchar50否图书名称Borrow_dateDatetime8可以为空借书日期B
34、ack_dateDatetime8可以为空归还日期Pass_dateInt4可以为空超期天数表5.3 图书表字段代号字段类型字段长度是否可以为空备注Book_no(关键字)Nvarchar20否图书编号Book_nameNvarchar100否图书名称Book_zuozheNvarchar50否图书作者Book_priceInt4否图书价格Lib_departmentNvarchar50否图书所属书库表5.4读者表字段代号字段类型字段长度是否可以为空备注Duzhe_no(关键字)Nvarchr50否读者编号Duzhe_nameNvarchr50否读者名称Duzhe_departmentNvar
35、chr50否读者所属学院Duzhe_pwdNvarchr50可以为空读者密码 表5.6 权限表字段代号字段类型字段长度是否可以为空备注Jibie_noInt4否级别编号Jibie_nameNvarchar50否级别名称Borrow_numberint4否借书数目表5.7 权限记录表Jibie_noJibie_nameBorrow_number1图书管理员153教师84学生55.3 系统设计模块图书借阅图书归还图书续借图书预约管理员登录读者登录图书罚款借阅查询归还查询超期查询档案查询读者类型设置读者档案管理过期续借管理图书类型出版社管理图书注销图书征订读者管理图书管理登 录图书流通管理统计分析图
36、书馆管理系统模块6图书馆管理系统的开发6.1读者登录界面设计在主界面中,我们首先要体现的是对整个系统功能有一个具体的显示,因此我们在设计时要对各个子系统的登录链接要存在控件。当我们从登录窗体输入读者的编号和密码时,则进入读者信息查看界面.图6.1 登录界面在设计中用到的控件如表6.1所示:上面的页面为读者的登录界面,在这个的登录的过程中,对“登录”按钮的数据库连接代码实现为:string strconn = ConfigurationSettings.AppSettingsdsn; /从文件 Web.config 中取连接字符串SqlConnection cn = new SqlConnect
37、ion(strconn); /连接本地计算机的 2 数据库cn.Open(); /打开数据库连接string mysql = select duzhe_no,duzhe_pwd from duzhe where duzhe_no=+tbx_no.Text+and duzhe_pwd=+tbx_pwd.Text+;/创建SQL语句,检查duzhe表中的编号和密码是否正确SqlCommand cm = new SqlCommand(mysql,cn); /创建 Command 对象SqlDataReader dr = cm.ExecuteReader(); /执行 ExecuteReader 方法
38、if(dr.Read() /若成功登录Sessionduzhe_no = drduzhe_no.ToString()/用 Session 进行传值操作Sessionduzhe_pwd=drduzhe_pwd.ToString();Response.Redirect(view_duzhe.aspx);else lbl_message.Text=系统没有这个用户名或者密码有误!; /若登录失败tbx_no.Text=;tbx_pwd.Text=;当读者输入读者的学号和密码后,经过“登录”按钮对数据库系统数据的核对,判断系统中是否存在该读者的学号。查看读者的基本信息和图书借阅信息,还可以对密码的修改
39、.此界面所用到的数据库duzhe表。图6.2读者信息界面在这个页面设计用到的控件,如表6.2所示:表6.2读者信息界面控件控件名称控件ID说明Label1Label1编号Label2Label2姓名Label3Label3性别Label4Label4所属年级Button1Button1借阅信息控件名称控件ID说明labblelbl_name姓名显示labblelbl_sex性别显示labblelbl_dep年级显示DataGridDataGrid1数据库连接窗口显示Button2Button2修改密码labblelbl_no编号显示通过上面的“按钮”代码运行后,当我们成功登录后,便跳转到了下面
40、的读者基本信息查看界面,在这个界面中,我们可以看到其中的读者编号、姓名、性别、所属年级等信息都是只读的,这个功能的实现主要是在程序中我们通过了Session的传值功能实现的。另外在设计该界面时,为了体现设计的紧凑及信息显示的连贯性,在界面中,我们添加了一些其它信息调用按钮,点击其中的“借阅”按钮,在下面的DataGrid中便可以显示出该读者当前的借阅信息。再一个就是读者可以对自己的密码进行修改,这通过“修改密码”按钮来实现的,点击后进入密码修改界面。要对读者的密码进行修改,我们普通的设计就是首先要验证输入的原密码,然后输入新密码,如果“新密码”框的输入符合规则且和“确认新密码”框的密码值是同样
41、的,那么“确定”后便对密码进行了修改。图6.3 读者密码修改页面读者密码修改的源代码:string strconn= ConfigurationSettings.AppSettingsdsnSqlConnection cn= new SqlConnection (strconn); /连接本地计算机的LMS数据库cn.Open (); /构造SQL语句,该语句在Users表中检查用户名和密码是否正确string mysql= select duzhe_no,duzhe_pwd from duzhe where duzhe_no=+lbl_no.Text +and duzhe_pwd=+tbx_
42、pwd.Text +;SqlCommand cm=new SqlCommand (mysql,cn); /创建Command对象SqlDataReader dr=cm.ExecuteReader (); /执行ExecuteReader ()方法if(dr.Read ()SqlConnection cn1= new SqlConnection (strconn); /修改密码cn1.Open ();string chsql=update duzhe set duzhe_pwd=+tbx_newpwd.Text+ where duzhe_no=no;SqlCommand cm1=new SqlC
43、ommand (chsql,cn1);cm1.Parameters .Add (no,SqlDbType.NVarChar);cm1.Parameters no.Value =lbl_no.Text .ToString ();cm1.ExecuteNonQuery ();cn1.Close ();lbl_message.Text=密码修改成功,请返回后验证新;else lbl_message.Text =对不起,您输入的原密码不正确,请重新输入; 读者如果要查询书目,可以在此窗口中查询,有两种匹配模式,完全匹配和模糊匹配,单击确定进入需要界面,在上面的图书检索界面中,我们看到的只是一个简单的查询功能,读者首先要在查询类型的下拉框中选择是按哪种查询方式进行查询,然后输入这种方式的查询内容,最后选择到底是按“完全匹配”模式还是“模糊匹配”模式对数据进行查询。当选择“模糊匹配”时,在查找到的数据中只要包含了内容输入框中的字符便可以查找出来,这样找到图书数可能很多,读者自己在其中选择自己所要的图书。但当是“完全匹配”模式时,查找到的结果必须和内容输入框的字符要完全匹配才可以找到,不然的话,是找不到图书查询结