ASP+SQL 图书管理系统毕业论文.doc
ASP+SQL 图书管理系统目 录第1章 前言3第2章 系统开发概述42.1 开发的背景42.2 开发的环境42.2.1 asp概述42.2.2 SQL数据库概述52.2.3 Dreamweaver简介5第3章 系统设计分析73.1 初步分析73.1.1 系统框架搭建73.1.2 系统需求分析83.2 详细分析83.2.1 系统功能目标83.2.2 数据库设计9第4章 系统详细设计114.1 图书管理系统首页界面114.2 用户注册页面224.3 图书书目查询244.4 个人信息查询及修改264.5 在线调查284.6 读者聊天室首页294.7 留言板首页31第5章 结论33第6章 谢词34第7章 参考文献35第1章 前言随着图书馆规模的不断扩大,图书数量及有关图书的各种信息量也成倍增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化。随着计算机及网络技术的飞速发展,信息系统的作用也越来越大。在信息时代传统的管理方法必然被计算机为基础的信息管理所取代,因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用ASP作前端的应用开发工具,利用SQL作为后台的数据库,利用WINDOWS XP作为系统平台;而全部采用Microsoft的操作系统及其应用开发工具开发的图书管理系统。主要采用ASP和SQL两种技术来实现该图书管理系统,ASP+SQL图书管理系统来实现复杂图书馆的图书管理的简单化、规范化、信息化,实现简易借书,方便读者之间交流。让图书馆更好的为学校,社会服务。第2章 系统开发概述2.1 开发的背景二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。总的来说,尽管有的图书馆用计算机进行管理,但是信息管理还是比较落后,没有发挥它的效力,资源闲置比较突出,这就是ASP+SQL图书管理系统开发所要解决的问题。基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的进行查询和修改图书情况等图书管理操作2.2 开发的环境2.2.1 ASP概述ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使动态网页具有无限的扩充能力,这是传统的CGI程序所远远不及的地力。由于ASP技术的出现和日趋成熟,大规模开发基于WWW的应用系统开始成为现实。ASP(动态服务器主页),是IlS中的一个很重要的组件。它实际上是一个服务器端的脚本环境。当脚本运行在服务器端时,Web服务器会自动将ASP的程序码,解释为标准HTML格式的主页内容,再送到用户端的浏览器上显示出来。用户端只要使用常规可执行HTML码的浏览器,即可浏览ASP所设计的主页内容。ASP可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。ASP所有程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP网页具有以下特点:利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试.服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现和那个Email或访问文件系统等。由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。2.2.2 SQL数据库概述SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。提高应用程序的运行能力,在编写应用程序时,开发人员可以直接将sql块内嵌到应用程序中,其最大的优点是可以降低网络开销、提高应用程序性能。对于其他异质数据库,当应用程序访问rdbms时,每次只能发送单条sql语句。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。当开发数据库应用程序时,为了简化客户端应用程序的开发和维护工作,可以首先将企业规则或商业逻辑集成到sql子程序(过程、函数和包)中,然后在应用程序中调用子程序实现相应的程序功能。SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。所有关系数据库的公共语言,由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户2.2.3 DREAMWEAVER简介Dreamweaver是由Macromedia公司推出的,用于网页开发和网站管理的专业化设计工具。它采用了多种新技术,具有设计和开发网站过程中需要的网站管理、网站设计、页面制作、多媒体制作和动画制作等丰富实用的功能;它具有友好的操作界面,在文档窗口中可以打开各种浮动面板,同时还可以使用系统内置的多种对象进行操作。2.2.3.1 网页制作效率高 Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。Dremweaver能与您喜爱的设计工具,如Playback Flash,Shockwave和外挂模组等搭配,不需离开Dremweaver便可完成,整体运用流程自然顺畅。除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。2.2.3.2 网站管理方便 使用网站地图可以快速制作网站雏形、设计、更新和重组网页。改变网页位置或档案名称,Dreamweaver 会自动更新所有连结。使用支援文字、HTML码、HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。 2.2.3.3 控制能力比较强 Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP, Apache,BroadVision, Cold Fusion,iCAT, Tango与自行发展的应用软体。当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页第3章 系统设计分析3.1 初步分析3.1.1 系统框架搭建3.1.1.1 系统登录登入系统用户系统管理员系统非用户系统在系统登入界面中,要对用户的身份进行很好的区分,这样,每个用户才能具有自己相应的权限,而不能一概而论。同时对于不同权限的用户来讲,他们进入的是同一系统,操作界面是完全不一样的。3.1.1.2 非用户进入非用户功能主要分为两类类:“查询书籍”、“浏览书籍” ,非用户如有自己想借的书籍,可以在线进行注册,成为普通会员。非用户权限查询书籍浏览书籍3.1.1.3 用户主要功能界面普通用户功能个人资料拥有权限个人基本资料修改密码留言板聊天室借书普通用户,可以进行简单的图书操作,管理涉及自身的操作。3.1.2 系统需求分析图书管理系统是一种信息化管理系统,从技术角度来讲,要满足基本的开发功能,中药数据的维护,现在的图书管理系统的种类比较多,也很复杂,有基于客户端和服务器端的,系统设计负责,而且出错的概率也比较大,作为一般的图书要想信息化管理图书,所花出的代价是比较大。所以对一种简单易用的图书管理系统需求很大。所以技术上选择了基于ASP+SQL的模式进行图书管理系统的开发。图书管理系统是典型的信息管理系统,其开发主要包括后台数据库SQL的建立和维护以及前端ASP应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。从用户的角度来讲,系统需要满足用户和非用户、管理员三者的各自权限,这三者也是到通过一个终端系统进行登入的,所以对他们的权利界限划清清楚,不仅要满足管理员的日常管理工作,同样需要满足日常用户的借阅和查询和还书功能,所以在一个终端系统中进行这样的设计,必须清晰系统搭建的架构。3.2 详细分析3.2.1 系统功能目标不同用户进入图书管理系统,具备不同的权限,可以进行不同的操作,普通用户可以进行图书浏览和图书分类浏览,进行图书借阅并了解自己的借书情况和个人情况。非用户进入系统,可以进行图书的查询,根据自己的需要,可以进行注册,进行图书借阅。图书管理员进行图书管理,也可以改变用户的状态来限制其权限等功能权限。用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。管理员可以定期或者不定期对数据库进行备份,防止系统出现错误时,数据的丢失,造成不必要的影响。实现模糊查询,使用户得到更多的相关记录。并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。管理员对非法用户可以进行锁定,使其不在具备相应的权限。保障图书信息管理的安全。管理员也可以根据用户的要求,主动为用户添加和建立账号,使用户直接可以进行图书的借阅和查询相关操作。3.2.2 数据库设计数据库的设计,主要运用SQL2000进行设计,其中主要涉及闪客信息、用户信息、管理员信息、图书类别、图书信息和消息发布。相对来讲里面的内容虽然设计的有点简单,但是比较全面,考虑到的管理员、拥护和非用户的数据库的建立,同时在保证了图书信息和图书类别数据具有的情况下,增加了管理员信息发布功能。3.2.2.1 管理员数据库设计3.2.2.2 用户表设计3.2.2.3 图书信息数据库设计3.2.2.4 图书信息类别设计第4章 系统详细设计4.1 图书管理系统首页界面代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http:/www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><!- InstanceBeginEditable name="doctitle" -><title>无标题文档</title><!- InstanceEndEditable -><link href="css/link.css" rel="stylesheet" type="text/css" /><style type="text/css"><!-bodyfont-size: 12px;color: #164675;body background-color: #FFFFFF;margin-left: 20px;margin-top: 10px;margin-right: 20px;margin-bottom: 40px;p margin-left:15px;margin-top: 12px;margin-bottom: 12px;-></style><link href="css/table.css" rel="stylesheet" type="text/css" /><script language="vbscript">sub mover() m1.scrollAmount=0end subsub mout() m1.scrollAmount=3end sub sub showTime() dim wi,iwi=Weekday(Date() dim weekweek=array("","日","一","二","三","四","五","六")dim tt=time()h=hour(t)if h>=0 and h<6 then msg="凌晨好!"elseif h<8 then msg="早上好!"elseif h<12 then msg="上午好!"elseif h<18 then msg="下午好!"elseif h<24 then msg="晚上好!"end if t1.innerHTML="<b>现在时间:" & now() & " 星期" & week(wi) & " " & msg & "</b>"settimeout "showTime()",1000 end sub dim str str="欢迎光临本网站!" sub showStatus() window.status=strstr= mid(str,2) & left(str,1)settimeout "showStatus()",1000 end sub sub window_onload() showstatus end sub function new_open()set newck=open("tpjg.asp","my","width=300,height=300,left=100,top=20")end function</script><!- InstanceBeginEditable name="head" -><!- InstanceEndEditable -></head><body onload=showTime()><table width="920" height="690" border="1" align="center"> <!-DWLayoutTable-> <tr> <td height="130" colspan="3" valign="top"><img src="images/t.jpg" width="918" height="127" /></td> </tr> <tr> <td height="30" colspan="3" valign="middle" bgcolor="#E0F3F7"> <a href="index.asp">首页</a> <a href="聊天室/ltsindex.asp" target="_blank">读者聊天室</a> <a href="留言板/lyb.asp" target="_blank">留言版</a> <a href="Context%20Linking/MAIN.ASP" target="_blank">在线小说</a> <span id="t1" style="float:right; margin-bottom:8px">时间显示</span> </td> </tr> <tr> <td width="210" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" > <!-DWLayoutTable-> <tr> <td width="207" height="175" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="207" height="35" valign="middle" bgcolor="#DCE9F3"><strong> 用户登录</strong></td> </tr> <tr> <td height="140" valign="top"><%if session("flag")<>"1" then%><form id="form1" name="form1" method="post" action="loginCheck.asp"> <p align="center">新用户请先<a href="register.asp"><font color="#FF9933">注册</font></a></p> <p align="center">用户名 <label> <input name="username" type="text" size="15" /> </label> </p> <p align="center">密 码 <input name="pwd" type="password" size="15" /> </p> <p align="center"> <label> <input type="submit" name="Submit" value="登录" /> </label> <label> <input type="reset" value="取消" /> </label> </p> </form><%else%><form id="form1" name="form1" method="post" action="updateyh.asp"> <p align="center">我们欢迎您</p> <p align="center">用户名: <%=session("name")%> </p> <p align="center">性 别: <%=session("sex")%> </p> <p align="center"> <label> <input type="submit" name="Submit" value="修改资料" /> </label> <label> </label> </p> </form><% end if %></td> </tr> </table> </td> </tr> <tr> <td height="113" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="189" height="35" valign="middle" bgcolor="#DCE9F3"><strong> 图书快速搜索</strong></td> </tr> <tr> <td height="68" valign="top"><form id="form2" name="form2" method="post" action="selectbook.asp"> <p align="center"> <label> 书 名: <input name="bname" type="text" size="16" /> </label> </p> <p align="center"> <label> <select name="select"> <option value="m">模糊查询</option> <option selected="selected" value="j">精确查询</option> </select> </label> <label> <input type="submit" name="Submit3" value="搜索" /> </label> </p> </form></td> </tr> </table></td> </tr> <tr> <td height="205" valign="top"><table width="100%" height="216" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="207" height="35" valign="middle" bgcolor="#DCE8F3"><strong> 图书分类查询</strong></td> </tr> <tr> <td height="170" valign="top"> <p><a href="fenleibook.asp?lei=文艺艺术">文艺艺术类<<</a></p> <p><a href="fenleibook.asp?lei=自然科技">自然科技类<<</a></p> <p><a href="fenleibook.asp?lei=人文社科">人文社科类<<</a></p> <p><a href="fenleibook.asp?lei=小说">小说类<<</a></p> <p align="center">友情链接</p> <p align="center"><!-#include file="AD.asp" -></p></td> </tr> </table></td> </tr> </table></td> <td width="503" rowspan="2" valign="top"><table width="100%" height="498" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="487" height="32" valign="middle" bgcolor="#DCE9F3"><strong> <!- InstanceBeginEditable name="EditRegion2" ->最新上架<!- InstanceEndEditable -></strong></td> </tr> <tr> <td height="462" valign="top"> <!- InstanceBeginEditable name="EditRegion3" -><p><!- #include file="newbook.asp" -></p><!- InstanceEndEditable -></td> </tr> </table> </td> <td width="207" height="215" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="204" height="35" valign="middle" bgcolor="#DCE9F3"><strong> 公告栏</strong></td> </tr> <tr> <td height="176" valign="top"><p></p><br /><marquee loop="-1" id="m1" scrollamount="3" width="170" height=180 direction="up" 'onMouseOver="mover()" onMouseOut="mout()"><p>世界图书日营销活动</p><p>杨百万常州报告会</p><p>常州第三届读书节</p><p>哈里·波特7中文版首发</p><p>暑期读书活动</p></marquee></td> </tr> </table></td> </tr> <tr> <td height="257" valign="top"><table width="100%" height="271" border="0" cellpadding="0" cellspacing="0"> <!-DWLayoutTable-> <tr> <td width="204" height="35" valign="middle" bgcolor="#DCE8F3"><strong> 在线调查</strong></td> </tr> <tr> <td height="4"></td> </tr> <tr> <td height="209" valign="top"><p>你觉得本系统的内容:</p> <form id="form3" name="form3" method="post" action="tpjg.asp" target="_blank"> <p> <label> <input name="radiobutton" type="radio" value="a" checked="checked" /> </label> 非常丰富</p> <p> <label> <input type="radio" name="radiobutton" value="b" /> </label> 比较好</p> <p> <label> <input type="radio" name="radiobutton" value="c" /> </label> 比较少</p> <p> <label> <input type="radio" name="radiobutton" value="d" /> </label> 非常少<br /></p> <p> <label> <input type="submit" name="Submit4" value="提交" /> </label> <label> <input type="button" name="Submit5" value="查看结果" onclick="new_open()" /> </label> </p> </form></td> </tr> </table> </td> </tr> <tr> <td height="40" col