《毕业设计(论文)基于C++技术图书馆管理系统的实现与设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于C++技术图书馆管理系统的实现与设计.doc(30页珍藏版)》请在三一办公上搜索。
1、目录中文摘要11前言32.开发工具介绍32.1SQL SERVER 2000322 ASP.NET43.图书馆管理系统的需求分析53.1图书馆管理员的需求53.2读者的需求73.3性能需求74.图书馆管理系统的可行性分析84.1结构的选择84.2技术可行性84.3经济可行性94.4操作环境及运行环境95图书馆管理系统的设计951E-R图分析与设计9511设计局部ER模式9512设计全局ER模式105.2数据表的创建135.3系统设计模块176图书馆管理系统的开发176.1读者登录界面设计176.2预约图书界面设计236.3催还图书界面设计256.4 图书馆总管理员256.5书库管理员277总结
2、28参考文献29致谢30中文摘要随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。特别是现代Internet的Web技术的发展大大地推动了社会各个方面的发展。设计一个现代的图书馆管理系统势在必行。图书馆管理系统是常用的信息管理系统之一,它的实现主要由两部分组成:数据库建立与维护和前台应用程序的开发。数据库要求非常强的一致性与完整性以及安全性,而前台应用程序则要求功能实现完善,简单易用。SQL server2005具有比较完善的功能。而Visual C#.NET是专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的
3、支持。综合各个方面选择C#作为程序设计语言和SQL server 2005数据库。通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并进一步设计了数据库结构和应用程序。由此得到了一个基本满足读者,图书馆管理员和高级管理者需求的图书馆系统。关键词:图书馆管理系统,C#.NET,SQL server 2005数据库1. 前言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够
4、充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的中小型图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的
5、来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,图书馆管理信息系统亦是如此。以往图书馆管理信息系统由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的图书馆管理信息系统就是为了使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。2.开发工具介绍2.1 SQL SERVER 2005SQL Server 2005是微软公司大型数据
6、库服务器,它使用了最先进的数据库构架,与Windows NT/2000平台紧密集成,具有完全的Web功能,人们用它可方便地管理数据库和开发应用程序。它通过对高端硬件平台、网络和存储技术的支持,为最大的Web站和企业的应用提供了可扩展性和高可靠性,能在Internet商业领域快速建立应用。此外,还增强了安全性,保护防火墙内外的数据,支持基于角色的安全并拥有安全审计工具。SQL Server 2005数据库服务器的自动调整和自动管理技术在数据库领域中处于领先地位。因此,我选择了SQL Server 2005 作为开发本系统使用的数据库。22 ASP.NET在.NET 环境下使用了ADO.NET构建
7、数据库应用系统中的数据访问层的步骤和方法。由于ADO.NET技术对ADO数据访问技术有了较大的改进,使得开发人员能够以较为灵活的方式查询和操作数据以及更新数据源,是所有数据驱动的.NET应用程序或者Web服务的核心部件。通过对这些技术的了解,使我们对.NET环境下如何开发数据库应用系统有了一个系统的、感性的认识。在后台代码的功能实现上,ASP.NET Web应用程序可以使用多种语言来开发,但是Visual C#.NET作为专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的支持。可以说,Visual C#.NET是开发ASP.NE
8、T Web应用程序较好的语言。结合使用Visual C#.NET和ASP.NET,用户可以方便的开发出功能强大的Web应用程序。ASP.NET的另一个强大的功能是它的网页处理时的三层构架,即浏览页面的前台HTML实现、浏览页面的后台C#代码的编写及后台代码与数据库的连接,正是其有这样的三层结构,所以它的安全性得到了很好的保障,这即为我们在上面所说的ADO.NET的一个具体的形式,也是对ADO.NET的实现方式有一个大概的了解,我们可以通过下面的数据访问流程图2.1所示:图 2.1 ASP.NET的三层结构从图片中可以很明显的看出,在显示层中,ASP.NET有自己的显示页面(.aspx),在这个
9、显示页面中存在着本身的后台代码(CodeBehind),之后在页面运行时,后台代码开始对逻辑层中的Business Layer的调用,触发系统后台的另外的.dll文件的运行,然后就是Business Layer通过关键字对Data Layer层文件的连接,最后对数据库的直接的访问是Data Layer中的层文件,通过数据库的访问后取得的数据按每层相连的方式再返回到ASP.NET的显示页面显示出来,用户即可以浏览取到的数据。通过前台的首次请求到最后数据的显示通过几个层次,所以要想通过非法的手段去修改数据库那将是非常困难的。也正是由于ASP.NET的这种功能,所以所做的图书馆管理系统也就选择了这种
10、开发平台。3.图书馆管理系统的需求分析本系统主要实现图书的录入,查询等功能,采用面向对象的分析方法对图书馆管理系统功能需求进行划分,可将需求划分为:管理员对功能的需求和读者对功能的需求两大部分。具体列举如下3.1 图书馆管理员的需求通过详细分析可知,管理员对功能的需求又可以分为图书馆总管和书库管理员对各自的功能需求。由于系统开发的总体任务是实现各种信息的系统化、规范化和自动化。所以图书馆总管对系统需要完成的功能有:读者信息的管理、图书信息的管理、书库管理员的管理等。书库管理员的功能主要为:出借图书、归还图书操作及自己密码的修改等功能。对读者信息的添加: 当有新的读者需要加入到图书馆管理系统中时
11、,图书馆总管就要对读者的各种信息进行集体录入。此外由于我们所做图书馆管理系统的读者主要针对的是学校的学生,故我们录入的主要是学生的各种信息,包括读者条形码、编号、读者姓名、读者性别、读者类型、出生日期、有效证件等。其中读者的编号可以是学生入学时的学号,唯一性的。权限的级别在下面的数据表中我们可以看到。读者信息的查询、修改和删除: 当图书馆总管需要查询某个读者的基本信息和借阅信息时,他们在服务端可以通过学号或者姓名可以找到这些信息,在找到后可以对这些基本的信息进行修改和保存。另外对于删除的功能则为,当某些学生快要毕业了,图书馆的管理人员就要对这些读者在图书馆中的一些基本信息进行删除掉,在这个删除
12、的过程中,图书馆的管理人员主要是进行模糊查找,找到学生编号前面的年份即可,然后可以很方便、快捷地进行数据删除功能。对图书信息的录入: 由于图书馆在每年都要购买许多的新书,所以对这些新买的新书进行编号添加到图书馆管理系统中将是一个非常巨大的工程,因此在图书的录入过程中包含了图书的一些基本的信息,有:条形码、图书编号、图书名称、图书类型、图书作者、图书出版社、ISBN编号、 出版日期、图书价格、图书所属书库、图书到馆日期等信息。图书信息的查询、修改及删除: 在这个过程中,我们是为了及时的了解图书在馆的最新的情况,图书馆管理员首先可以通过查询找到某一类编号的图书,然后查看它们的在馆信息,另外在查找到
13、该图书后可以修改及保存图书修改后的信息,再一个重要的功能就为当某些图书在借阅过程中破损或遗失什么的,我们暂时就要对该图书进行删除或者是修改该图书,只有这样及时的修改图书信息,读者在借阅过程中就可以很方便的找到所需要的图书,省去了许多不必要的麻烦,实现了快捷的目标。对书库管理员的管理: 在该过程中,主要是对新到的书库管理员进行添加,修改和删除等操作。这些操作我们可以仿照在对读者的操作中实现,只是我们在做数据库表时是不一样的。书库管理员的信息主要为:管理员编号、管理员名称、管理员密码、图书管理、读者管理、图书借还问题等。图书借阅管理: 在这个功能模块中,主要是书库管理员对图书馆中的图书进行借出的操
14、作,在这一步的实现过程中,当读者找到了自己所要的图书后交给书库管理员,书库管理员通过读取读者的借阅信息,看该读者是不是已经达到了借书的上限了,如果达到了,则该读者不能读图书的借阅,若没有达到上限,就可以对图书的借阅,书库管理员在系统中填写图书出借信息,然后显示借书成功提示信息。因此书库管理员填写的借书单包括的信息有:读者编号、图书编号、图书名称,另外在该表中还存在借书日期、应还日期、超期天数、罚款钱数的一些信息都是由系统自己去统计和完成。图书归还管理: 这个模块的操作是比较简单的,当读者把把所要归还的图书给书库管理员时,书库管理员执行的是一个与借阅管理相反的操作,在借阅管理中是图书后台数据库借
15、书表的插入操作,而归还图书则为对后台数据库借书表的删除操作,它删除的记录是同时满足了读者编号和图书编号都相符合的记录。同时,如果该读者在当前的还书日期超过了图书应还的日期,那么后台数据库对借书表中的超期天数、罚款钱数都有相应的计算,并在读者还书时显示出来该读者是否欠费,若是的话,就限制该读者的在图书馆的借阅功能和其它的一些功能;如果当前日期没有超过应还日期,则会提示图书归还成功。管理员密码的修改: 书库管理员在这个功能模块上可以修改自己的密码,而且这些操作是属于与自己本人编号相对应的改动,对系统上并没有多大的影响。和读者密码的修改在代码实现方式上有许多相似性。3.2 读者的需求由于读者对主数据
16、库表的修改权限不大,所以读者主要是浏览方面的功能。包括了读者本身信息的查看及修改、图书信息的查询、购书推荐、预约图书、查看新书通报、查看图书馆公告、图书馆留言等功能。读者本身信息查看及修改: 当一个读者到图书馆借阅图书或者归还图书时,他要对自己的一些基本的信息和借阅信息都要有相应的查看,通过查看这些已经存在的信息,读者可以了解到他是否还可以再借阅图书,现在已经借阅了几本图书,是哪几本书,并且这些书本的归还时间是什么时候,是否超期等,这样读者对自己的借阅信息就有了一个大概了解,就可以避免不盲目的跑去借阅图书了。对于修改操作主要的还是读者自己的密码的修改,因为这只关系到他自己的事情,所以对数据库中
17、其它的数据没有太大的影响。图书信息查询: 在这个模块中,读者可以对图书的信息进行查询,查询的方法有两种,一种是模糊查询,另一种是精确查询。对于模糊查询只是对图书的某一个字段查找,而且是任意匹配的形式。而对于精确查询则为对图书的各个字段进行查找,当添加了某个查询条件后,查询结果的记录集都在变化,这样读者可以方便的找到自己所要的图书。另外在查看记录集的过程中读者可以了解到该书本是否在馆可借,如果可借就可以在图书所在书库中找到,若没有的话,在图书所在书库中则不可以找到。这就是读者对图书的查询功能。预约图书: 在该模块中,当读者去图书馆借阅图书时,图书馆中的该书或许已经出借了且现在的库存数目为0,那样
18、的话,读者暂时就不可以借阅该图书了,所以读者可以在网络上对该书进行预约操作,这样当图书馆中该书有了库存后,他就有对该图书的优先借阅的权利,所以这可以帮助读者在借阅这方面提供很大的便利,由此也就产生了一个图书预约表,包含信息有:读者编号、图书编号、图书名称、图书作者、ISBN编号、所属书库等信息。查看图书馆留言及公告: 在这个功能模块上,我们主要是对图书馆最近的公告和信息进行查看,了解图书馆最近的一些图书管理方面的信息和最新图书的信息,另外在留言板上读者可以提出自己对图书馆在管理方面自己的意见或建议什么的,这对加强图书馆的管理次序是有很大的帮助,另外读者自己在规范次序上也会有很大的改变。3.3
19、性能需求图书馆在正常运行中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息,因此需要对读者资源、书籍资源、借书信息,还书信息进行及时处理,及时了解各个环节中信息的变更,力求提高管理效率。检验图书馆服务水平的重要标准。1.环境:图书室、阅览室环境清洁、安静、整齐、舒适;2.人员:图书馆管理工作人员热情、认真、主动,有专业能力;3.设备:图书馆设施先进、齐全,能满足功能需要; 4.文献:图书馆的文献资源符合工作性质与目标,数量多,质量好,有特色。一般的性能需求是指相互消息传递顺利,协议解析正确,界面友好,运行时间满足使用需要,安全性得到安全保证,不会出现基本的错误等。4.图
20、书馆管理系统的可行性分析4.1 结构的选择随着技术的进步,更多的层次被划分出来。目前,在Internet应用体系结构中,商务逻辑处理被单独划分为一层,作为Internet服务器。它对用户通过浏览器提交的表单进行分析,并得出对数据库服务器进行的查询,交给数据库服务器去执行并得到查询的结果,最后由Internet服务器用标准的HTML语言反馈回浏览器,称为B/S(Brother/Server)结构。计算机技术发展日新月异,传统的 C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可
21、以充分利用两端硬件环境的优势。而B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开
22、放环境;BS结构则不同,它的前端是以TCPIP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。4.2 技术可行性技术可行性是从前台和后台的开发工具选择上进行分析的。微软公司开发的ASP.NET远远超越了ASP及其它开发软件,同时也给Web开发人员提供了更好的灵活性,有效缩短了Web应用程序的开发周期。而SQL Server 是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据
23、库创建、开发、设计和管理功能。其版本SQL Server2005将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。SQL Server 2005 提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案,因此我们在图书馆管理系统中使用了在.NET环境基于Web页面的B/S服务模式。4.3 经济可行性在系统运行后的维护是非常重要的,并且其维护的费用还是很大的,如果是一个Windows Form的管理系统,要对数据的维护将要付出很大的代价,而且它的维护人员也比较的多和分散,因此对数据库的操作在各个时间段都是很频繁
24、的,人也很容易出现疲劳,问题也就会比较容易发生。但是我们现在用基于Web的B/S模型,我们修改数据的操作只在服务器端就可以了,而且它的人员也比较集中,对数据的修改只是在某段时间内比较的频繁,过了这个时间后就较轻松,所以人的精力也比较集中,那么数据库的操作也就不怎么会出现问题,因此在这方面的维护费用也大大的减少。4.4 操作环境及运行环境软件环境:操作系统:Windows XP, 数据库:SQL Sverver 2005,前台环境:Dreamweaver,Visual Studio.NET硬件环境:Cpu: Pentium 166 MHz 以上,内存至少128 MB,硬盘空间80 M,显示器80
25、0 *600或更高分辨率。5图书馆管理系统的设计51 E-R图分析与设计利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。511 设计局部E-R模式实体和属性的定义:图书(图书编号,图书名称,作者,出版社,出版日期,价格)借阅者(借书证号,姓名,性别,年级,密码)图书类别(图书类别编号,类别描述)ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1
26、:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图所示。解释如下:一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。512 设计全局E-R模式所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。一确定公共实体类型为了给多个局部E-R模式的
27、合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。二 局部E-R模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。设计全局E-R模式的目的不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。首先在该过程中发生的实体是图书信息和用户信息,他们之间产生的关系是借阅关系,在这个借阅关系中
28、,产生的对应关系为:图书信息:用户 = 1:1,用户:图书 = 1:N,从这个关系中我们可以看到:每一本图书只能被一个读者借阅,而一个读者又可以借阅多本图书的这层关系。另外在上图中我们可以看到图书信息和用户信息又有自己的一些关系属性,通过这些关系属性可以唯一的区别这些实体。这在下面的图5.1图5.6中可以看出密码用户ID书名图书ID 用户图书事务处理图书 mn 借阅操作 n n m书库管理员 m 管理管理总管理员 m n管理员ID密码图 5.1 总体E-R属性图图书信息图书编号条形码ISBN号书 名作 者出版社出版日期译者类型图5.2 图书属性图借 阅编 号图书编号读者编号借阅日期应还日期图
29、5.3 借阅信息属性图用 户 信 息用户编号所属年级用户类别姓 名性 别密 码图5.4 用户信息属性图预约信息读者编号图书出版社图书作者ISBN号书目名称图5.5 预约信息属性图推荐信息图书名称书目编号读者编号作 者ISBN号码书库图 5.6推荐信息属性图由于概念设计的结果是E-R图,DBMS一般采用关系型(该系统所使用的MS SQL Server就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行,导出系统主要的初始关系模式如图所示: 图5.7 关系模型5.2 数据表的创建
30、我们可以设计出了后台数据库的各个数据表。如表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可以为空借书日期Ba
31、ck_dateDatetime8可以为空归还日期Pass_dateInt4可以为空超期天数moneyMoney8可以为空欠款数目表5.3 图书表字段代号字段类型字段长度是否可以为空备注Book_no(关键字)Nvarchar20否图书编号Book_nameNvarchar100否图书名称Book_zuozheNvarchar50否图书作者Book_chubansheNvarchar50否图书出版社Book_outdayDatetime8否图书出版日期Book_priceInt4否图书价格ISBNNvarchar10否图书ISBN号Lib_departmentNvarchar50否图书所属书库B
32、ook_arrivedayDatetime8否图书到馆日期Book_stateNvarchar10可以为空图书在馆状态表5.4读者表字段代号字段类型字段长度是否可以为空备注Duzhe_no(关键字)Nvarchr50否读者编号Duzhe_nameNvarchr50否读者名称Sexbit1否读者性别Duzhe_departmentNvarchr50否读者所属学院uppowerNvarchr50否读者权限Duzhe_pwdNvarchr50可以为空读者密码表5.5 公告表字段代号字段类型字段长度是否可以为空备注IdNvarchar50否编号ZhutiNvarchar100否主题TimeDateti
33、me8否时间NeirongNvarchar200否内容 表5.6 权限表字段代号字段类型字段长度是否可以为空备注Jibie_noInt4否级别编号Jibie_nameNvarchar50否级别名称Borrow_numberint4否借书数目表5.7 权限记录表Jibie_noJibie_nameBorrow_number1图书馆总管152书库管理员103教师84学生55其他3 表5.8 留言表字段代号字段类型字段长度是否可以为空备注Duzhe_noNvarchar50否读者编号ZhutiNvarchar200否留言主题LeirongNvarchar4000否留言内容timeDatetime8否
34、留言时间表5.9 推荐表字段代号字段类型字段长度是否可以为空字段名称Duzhe_noNvarchar16否读者编号Book_nameNvarchar50否图书名称Book_chubansheNvarchar50可以为空图书出版社Book_zuozheNvarchar50可以为空图书作者ISBNnvarchar50可以为空ISBN号码表5.10 预约表字段代号字段类型字段长度是否可以为空备注Duzhe_noNvarchar50否读者编号Book_noNvarchar50否图书编号Book_nameNvarchar50否图书名称Book_zuozheNvarchar50可以为空图书作者ISBNNv
35、archar50可以为空ISBN号码Lib_departmentNvarchar50可以为空所属书库5.3 系统设计模块图书借阅图书归还图书续借图书预约管理员登录读者登录图书罚款借阅查询归还查询超期查询档案查询读者类型设置读者档案管理过期续借管理图书类型出版社管理图书注销图书征订读者管理图书管理登 录图书流通管理统计分析图书馆管理系统模块6图书馆管理系统的开发6.1读者登录界面设计在主界面中,我们首先要体现的是对整个系统功能有一个具体的显示,因此我们在设计时要对各个子系统的登录链接要存在控件。当我们从登录窗体输入读者的编号和密码时,则进入读者信息查看界面.图6.1 登录界面在设计中用到的控件如
36、表6.1所示:上面的页面为读者的登录界面,在这个的登录的过程中,对“登录”按钮的数据库连接代码实现为:string strconn = ConfigurationSettings.AppSettingsdsn; /从文件 Web.config 中取连接字符串SqlConnection cn = new SqlConnection(strconn); /连接本地计算机的 2 数据库cn.Open(); /打开数据库连接string mysql = select duzhe_no,duzhe_pwd from duzhe where duzhe_no=+tbx_no.Text+and duzhe_
37、pwd=+tbx_pwd.Text+;/创建SQL语句,检查duzhe表中的编号和密码是否正确SqlCommand cm = new SqlCommand(mysql,cn); /创建 Command 对象SqlDataReader dr = cm.ExecuteReader(); /执行 ExecuteReader 方法if(dr.Read() /若成功登录Sessionduzhe_no = drduzhe_no.ToString()/用 Session 进行传值操作Sessionduzhe_pwd=drduzhe_pwd.ToString();Response.Redirect(view_
38、duzhe.aspx);else lbl_message.Text=系统没有这个用户名或者密码有误!; /若登录失败tbx_no.Text=;tbx_pwd.Text=;当读者输入读者的学号和密码后,经过“登录”按钮对数据库系统数据的核对,判断系统中是否存在该读者的学号。查看读者的基本信息和图书借阅信息,还可以对密码的修改.此界面所用到的数据库duzhe表。图6.2读者信息界面在这个页面设计用到的控件,如表6.2所示:表6.2读者信息界面控件控件名称控件ID说明Label1Label1编号Label2Label2姓名Label3Label3性别Label4Label4所属年级Button1Bu
39、tton1借阅信息控件名称控件ID说明labblelbl_name姓名显示labblelbl_sex性别显示labblelbl_dep年级显示DataGridDataGrid1数据库连接窗口显示Button2Button2修改密码labblelbl_no编号显示通过上面的“按钮”代码运行后,当我们成功登录后,便跳转到了下面的读者基本信息查看界面,在这个界面中,我们可以看到其中的读者编号、姓名、性别、所属年级等信息都是只读的,这个功能的实现主要是在程序中我们通过了Session的传值功能实现的。另外在设计该界面时,为了体现设计的紧凑及信息显示的连贯性,在界面中,我们添加了一些其它信息调用按钮,点
40、击其中的“借阅”按钮,在下面的DataGrid中便可以显示出该读者当前的借阅信息。再一个就是读者可以对自己的密码进行修改,这通过“修改密码”按钮来实现的,点击后进入密码修改界面。要对读者的密码进行修改,我们普通的设计就是首先要验证输入的原密码,然后输入新密码,如果“新密码”框的输入符合规则且和“确认新密码”框的密码值是同样的,那么“确定”后便对密码进行了修改。图6.3 读者密码修改页面读者密码修改的源代码:string strconn= ConfigurationSettings.AppSettingsdsnSqlConnection cn= new SqlConnection (strcon
41、n); /连接本地计算机的LMS数据库cn.Open (); /构造SQL语句,该语句在Users表中检查用户名和密码是否正确string mysql= select duzhe_no,duzhe_pwd from duzhe where duzhe_no=+lbl_no.Text +and duzhe_pwd=+tbx_pwd.Text +;SqlCommand cm=new SqlCommand (mysql,cn); /创建Command对象SqlDataReader dr=cm.ExecuteReader (); /执行ExecuteReader ()方法if(dr.Read ()Sq
42、lConnection cn1= new SqlConnection (strconn); /修改密码cn1.Open ();string chsql=update duzhe set duzhe_pwd=+tbx_newpwd.Text+ where duzhe_no=no;SqlCommand cm1=new SqlCommand (chsql,cn1);cm1.Parameters .Add (no,SqlDbType.NVarChar);cm1.Parameters no.Value =lbl_no.Text .ToString ();cm1.ExecuteNonQuery ();cn
43、1.Close ();lbl_message.Text=密码修改成功,请返回后验证新;else lbl_message.Text =对不起,您输入的原密码不正确,请重新输入; 读者如果要查询书目,可以在此窗口中查询,有两种匹配模式,完全匹配和模糊匹配,单击确定进入需要界面,在上面的图书检索界面中,我们看到的只是一个简单的查询功能,读者首先要在查询类型的下拉框中选择是按哪种查询方式进行查询,然后输入这种方式的查询内容,最后选择到底是按“完全匹配”模式还是“模糊匹配”模式对数据进行查询。当选择“模糊匹配”时,在查找到的数据中只要包含了内容输入框中的字符便可以查找出来,这样找到图书数可能很多,读者自己在其中选择自己所要的图书。但当是“完全匹配”模式时,查找到的结果必须和