1、1论 文题 目: 图书馆管理系统 学 科 部: 专 业: 计算机科学与技术 班 级: 学 号: 学生姓名: &nb
2、sp; 指导教师: 起讫日期: 2前 言二十一世纪是信息化时代。网络化,信息化以成为一种必不可少的必备条件。作为基础教学与科研基地的高校自然走在行业的前列。全国高校都在建设和完善校园计算机网络,校园网已成为各高校必备的重要信息基础设施。 数据库是数据管理的最新技术,是计算机科学的重要分支
3、。网络数据库,即应用于计算机网络的数据库。Internet 本身就是世界范围内庞大的信息数据库,是 Web,接口与数据的结合,使得数据库应用便于网络的操作和控制远程数据库的交互及管理。网络数据库交互不像生产自动化控制系统那样,不要求实时交互,这更好地忽略了网关接口的一个主要缺陷不能持续连接,当查询的结果被传送到远程客户浏览器后,连接随即断开。因此数据库的大小并不是够成影响事物传输的关键因素。基于 Web 应用的网络数据库类型大致有文本数据库、Web 数据库和大型数据库几个。数据库接口是实现 Web 与数据库的高效无缝链接的桥梁。本毕业设计论文简介了一下数据库与网络数据库,并且通过本人设计的成果
4、开发一个图书馆管理系统向大家演示一下网络数据库的应用。实现动态网站无非就是实现 Web 页面与数据库之间的交互。为了体现当今世界网络和软件发展的一些新的思想和趋势,本人选择了 ASP 语言来作为制作网站的开发工具,数据库为 Microsoft 的 access 数据库。通过用 iis5 搭建的服务器平台,来开发动态网站。因此在此文中还对 asp、access 和 iis 进行了相关介绍。在设计中本人之所以选择 ASP 主要是因为 ASP 使用 VBScript 、 JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。而且无须 compile 编译,容易编写
5、,可在服务器端直接执行。我想虽然我目前还远远没有能力站在前面引领这些的发展方向,但能跟在后面推波助澜也是好的。因为那毕竟是向前迈进的表现。我尽一切努力使该软件更加准确和完善,便于大家使用。但是由于个人水平的限制,在开发当中不可避免的存在或多或少的问题,希望大家谅解。同时欢迎大家提出各种意见和建议,以促进我更好的为大家服务。3摘要数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库的管理最核心的技术就是对数据的管理,通常表现在数据的添加、修改、删除等基本操作功能的综合运用上。网络数据库,网络和数据库系统是优势互补的技术。数据库接口是 Web 页面与数据库之间沟通的桥梁。用 Activ
6、e Server Pages 技术(ASP)来开发动态网站,用windows2000+iis5 搭建的服务器平台。地址重定向,会话功能的实现和中文字符乱码问题的解决方案。设计的一些总体思路和解决办法。关键字: 数据库;网络数据库;接口;ASP;SQL2000;地址重定向;总体思路和解决办法。4AbstractThe data base is over a long period of time to lay in inside the computer and has organisation and aggregate data that can enjoy altogether.The m
7、anagement of the data base the most technology of nucleus is the management that the logarithm is relied on ,on the synthetical application of usual show basic operating function such as adds and revises and delete etc at the data .The network sum is the technology that the superiority is mended mut
8、ually according to the warehouse system in the mesh data warehouse. The data base interface is the bridge linked up between Web's paging and the data base. Develop the trends Web Sites with Active Server Pages technology (ASP) .The server terrace put up with windows2000+iis5 . The address is hea
9、vily fixed a direction,the settlement scheme of realizing of conversation merit ability and Chinese character gash problem .Some overall trains of thought reconcilations definitely methods of design .Keywords: database; mesh data warehouse; interface; ASP; SQL2000;5目录 前 言 2摘要 3Abstract4目录 5第一章
10、 数据库的简介和网络数据库的相关介绍 61.1 数据库 .61.2 数据库的管理技术 .61.3 网络数据库 .61.4 数据库接口 .61.5 网络数据库的运作机制 .71.6 动态网站 .7第二章 搭建服务器平台 92.1 硬件配置 .92.2 软件配置 .92.3 ASP 的相关介绍 92.4 IIS5 的相关介绍 12第三章 开发论述 133.1. 从功能模块角度进行系统分解 133.2.1 用户注册登陆系统功能模块 143.2.2 图书查询借阅功能模块 143.2.3 图书管理功能模块 143.2.4 类别管理功能模块 153.2.5 借阅管理功能模块 153.2.6 用
11、户管理功能功能模块 153.3 借阅管理功能模块 .16第四章 设计内容 184.1 设计总体思路(项目分析) .184.2 设计实现过程 .184.3 设计部分的具体分析 19参 考 文 献 37致 谢 386第一章 数据库的简介和网络数据库的相关介绍1.1 数据库数据库是数据管理的最新技术,是计算机科学的重要分支,因此对数据库学科的研究范围是十分广泛的。所谓数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。1.2 数据库的管理技术数据库的管理最核心的技术就是
12、对数据的管理,通常表现在数据的添加、修改、删除等基本操作功能的综合运用上。数据库数据管理功能的实现通常都有两种方法:一是通过使用已成型的通用数据库通讯协议 SQL,它最早由是 IBM 提出并应用于其公司开发的数据库上的;另一种通过你所使用的数据库自带的数据库管理系统,通常大多数较正式的商用数据库都有其专有的数据库管理系统。但出于统一的标准考虑,我个人认为还是应该使用通用数据库通讯协议 SQL 比较好。1.3 网络数据库现在随着 Internet 的重要性日渐明显,但并没有根本改变数据库系统的作用。因为虽然数据库系统是最高效的信息储存方式,但网络已被证明是在大范围内共享数据库的最高效方式。因此可
13、以说网络和数据库系统是优势互补的技术。为有效地利用这种优势互补,网络上大多数网站都大量地使用了数据访问技术。1.4 数据库接口Internet 本身就是世界范围内庞大的信息数据库。而 Web、接口与数据的结合使得数据库应用于网络而便于操作和控制远程数据库交互及管理。网络数据库交互不像生产自动化控制系统,一般不要求实时,这就更好地忽略了网关接口的一个主要缺陷,即不能持续连接,当查询的结果被回送到远端客户的浏览器之后连接就随即断开;因而数据库本身的大小并不成为影响事务传输速率的主要因素。基于 Web 应用的网络数据库类型大致有文本数据库、Web 数据库和大型数据库几个。数据库接口是实现 Web 与
14、数据库的高效无缝链接的桥梁。用户一般都使用 Web 表单来对数据库操纵。对于数据库交互,表单出发的前端从表单收集数据。分析数据,最后从数据库提示查询,如果是一个文本数据库,这个前端也同时是后端,它要完成数据库查询与翻译,并回送结果给客户机,如果是使用数据库管理,前端把查询放入一个表单中,然后送入数据库服务器,后端 CGI 负责查询结果,并应答用户,也可以将前后端集中在一个脚本里,通过创建进程实现;在 Windows 下则需要采用 OLE 组件技术或其他与程序之间的通信手段。 71.5 网络数据库的运作机制(1)运作流程 用户在客户端按下 FORM 上的 Submit 按钮或是按下链接,告知浏览
15、器完成输入后,浏览器将客户端输入的信息提交 WWW Server,Server 启动寻找指定的交互程序并将包装过的参数传入;接口程序依照传入参数完成指定的工作。如果此时需要传回对话结果,则程序会把对话结果传回给 Sever,Sever 再传至浏览器,完成整个工作流程。(2)资料传递方法Server 将用户资料传给交互程序之前,先要将不同资料转换为各种环境变量以供程序使用。这些环境变量是在 Server 端执行接口程序时被设定。实现交互亦即处理 Web 表单的方法通常有三种,POST,GET 和 HEAD。(3)输出 输出数据是交互流程的最后一部分,而送出的信息不只一种形态。为了使 Web 服务
16、器识别,在送出资料前,必须先送出特定的额外信息。1.6 动态网站(1) 动态网站 随着 Web 技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站。何为“动态” ,动态是相对于静态而言并不是指网页上的内容是运动的,或网页上具有动感十足的动画显示,而是指网页所提供给用户的信息可以不通过网页编辑器修改而自动改变,或整个网页的出现不是在浏览前就已产生,而是在用户要浏览时通过 Web server 动态生成网页,然后以 html 格式送给用户浏览。(2) 动态网站与数据库早期的网页都是
17、静态的,信息的更新很困难,这给人们的查找信息和分析问题带来了很多不便。随着 WWW 的应用领域的不断拓展,静态 Web 页面也越来越不能满足对信息服务的动态性、实时性和交互性的要求。而数据库技术经过几十年的发展,其功能越来越强大,Internet客户机Web 服务器数据库服务器8各种数据库系统如 SQL Server,Oracle,Sybase 等,都具有对大批量数据进行有效的组织,管理和快速查询查询功能。因此,将 Web 技术与数据库技术相结合,开发动态的与 Web 网页相交互的应用数据库,是构造网络的核心(注意:这和有的服务器下自带的 Web 数据库是有区别的,Web 数据库不需要通过开放
18、式数据库连接 ODBC 与服务器相连,它可以看做是服务器的自带功能) 。动态 Web 是相对于静态 Web 而言,它利用 Web 数据库访问技术将数据库中的数据在 Internet 上发布,利用固定生成的 Web 页面来发布数据库中的数据,使 Web 页面的设计与数据库相对独立,是动态 Web 的设计的基本原则。(3) 动态网站的解决方案实现动态网站无非就是实现 Web 页面与数据库之间的交互。它通常是通过一些相应的技术来实现的,如:CGI,ASP,JSP,PHP,ASP.net 等多种。早期的动态网站开发技术使用的是 CGIBIN 接口。开发人员编写与接口相关的单独的程序和基于 Web 的应
19、用程序,后者通过 Web 服务器来调用前者。这种开发技术存在着严重的扩展性问题每一个新的 CGI 程序要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将耗尽该Web 服务器所有的可用资源,直至其崩溃。为克服这一弊端,微软公司提出了 Active Server Pages(ASP)技术,该技术利用“插件”和 API 简化了 Web 应用程序的开发。该技术主要在微软的操作系统平台之上,主要工作环境是微软的 IIS 应用程序结构。ASP 程序无须编译, ASP 程序的控制部份,是使用 VBScript 、 JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套
20、命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。只需将 ASP 程序放在 WEB 服务器的虚拟目录下(该目录必须要有可执行权限) ,就可以通过 WWW 的方式访问 ASP 程序。PHP 动态网站开发技术与 ASP 相似,也是一种嵌入 HTML 文档的服务器端脚本语言。其语法大部分与 C、Java、Perl 等语言相似,并形成了自己的独有风格,利用该语言 Web 程序员可以快速地开发出动态网页。PHP 在大多数 Unix 平台、GUN/Linux 和微软 Windows 平台上均可以运行。PHP 存在一些弱点,主要是 PHP 是一种解释型语言,不
21、支持多线程结构,支持平台和连接的数据库都有限。这种动态网站开发技术能够在任何 Web 或应用程序服务器上运行,分离了应用程序的逻辑和页面显示,能够进行快速的开发和测试,简化了开发基于 Web 的交互式应用程序的过程。基于上述几点,在这次毕业设计中,我们选用的网络交互技术是 ASP,并且通过用windows2000+iis5 搭建的服务器平台,来开发动态网站。 9第二章 搭建服务器平台2.1 硬件配置由于服务器平台是搭建于 Windows2000 操作系统平台之上的。所以硬件配置要求较高,建议为:CPU:PIII 600Hz 以上内存:128M 以上硬盘空间至少 5G2.2 软件配置我们选用的数
22、据库为 Microsoft sql 2000,之所以选用 sql2000 是因为:1图形化用户界面,使系统管理和数据库管理更加直观、简单。2access 与 Windows NT 完全集成,利用了 NT 的许多功能,使用非常方便。要建立一个使用 ASP 技术的网站,我们使用 dreamweaver MX 作为开发工具,dreamweaver MX 是一种最新版本的网页开发工具,对 ASP 支持已经非常的成熟。(1) access2000 的安装microsoft access 2000 安装非常的方便,从 office2000 光盘中按照提示一步步操作就可以安装成功。(2) iis5 的安装1
23、、点击:【开始】-【设置】-【控制面板】-【添加/删除程序】 ,打开“添加/ 删除程序”对话框。2、 点击左边菜单栏中 “添加/删除 Windows 组件”项,打开 Windows 组件向导对话框(这个过程可能要花几十秒钟) ,在对话框“组件”列表中,选中 Internet 信息服务(IIS)项。3、 将 Windows 2000 安装盘放入光驱中,然后点击“下一步” 。这个步骤可能会花几分钟。4、 点击“完成”按钮,完成 IIS 的安装。2.3 ASP 的相关介绍本文将采取实例分析法,通过一系列的实例来介绍 ASP 。建立一个 ASP 页面。下面我们将建立一个自动监测浏览时间并根据不同时段动
24、态显示不同页面内容的 ASP 程序test1.asp := #00:00:00# Then %早上好,今天天气不赖啊 != #12:00:00# Then %下午好 !10哈喽 ! 今晚你有没有去 IRC 聊天 !将 test1.asp 保存在 WEB 服务器的虚拟目录 ( 如: aspsamp/) 下,并在浏览器中用 HTTP 的方式进行浏览,如: http:/ computername/aspsamp/test1.asp ,你将会新奇地发现,你的页面真的活起来了。虽然,这只是一个非常简单的实例,而且这一功能完全可以通过 JavaScript 完成,但是不难发现使用 ASP 要比 JavaS
25、cript 简洁、迅速得多,而且运用此法,你完全可以轻而易举地令你的网页在不同的时段展示不同的风格。此例中的“ Time ”实际上是一个 VBScript 内置的显示系统当前时间的函数,由于系统默认的脚本语言是 VBScript ,因此当你在 ASP 命令中调用该函数时,脚本引擎会自动将其转换成当前的系统时间。接下来我们将给 test1.asp 添加一点色彩,在 标识中添加“ bgcolor=“ ”即变为 “ ,并在 标记前添加如下语句:= #00:00:00# Then、bgc=“silver“ElseIf Time = #12:00:00# Thenbgc=“navy“Elsebgc=“r
26、ed“End If% 如此一来,当用户在不同的时段访问你的页面时,他们将会看到不同的页面背景色。我们可以做的事情还有很多,譬如你想知道在凌晨至十二点之间浏览你页面的客户的姓名,并向他或她问好,那么下面的这段程序将能助你达成心愿。首先你需要在页面中设置表单,将以下 HTML 代码剪贴到“ = #00:00:00# Then % ”之后: 欢迎光临我的主页,请填写以下信息 : First Name: 11Last Name: Title: Mr.Ms.然后在以上 HTML 代码后面添加如下 ASP 命令: 欢迎您 Mr. 。 欢迎您 Ms. 。 欢迎您 。 保存文件 test1.asp ,并在浏览
27、器中以 HTTP 方式进行浏览,如果此时的系统时间在凌晨 0:00:00 和中午 12:00:00 之间的话,浏览器将显示如下画面:这其实是一个在 Internet 和 Intranet 上常见的功能,即当用户在浏览器端填写完表单后,通过调用一个通用网关程序将用户数据传送到服务器,由服务器进行处理后再将结果返还给客户浏览器。过去为了实现这样的功能必须编写一个独立于 HTML 之外的 CGI 程序,并通过 HTML 进行调用,撇开 CGI 编写复杂等缺点不谈, CGI 的执行效率也是一个大问题,每一个表单 (form) 均须执行一个可执行文档,当多人同时上线使用时,多个文档同时执行,将大大降低
28、WEB 服务器的执行速度,如今 ASP 提供了与 HTML 完全相融的编程环境,显然要比使用 CGI 便捷得多。 下面让我们再来看看 ASP 的循环功能,譬如你希望当客户在晚间 7:00 至凌 0:00:00 浏览你的页面时,在页面中央显示 6 个笑脸 表示问候,那么你只需要将以下命令剪贴到“ Good Evening! ”后面即可: 12这是一个最最基本的循环语句,它将一个笑脸图片重复调用六次并显示在页面上。当然此例的效果完全可以用 HTML 做到,但是不难发现使用 ASP 大大缩短了代码的重复编写,使得程序具有良好的可阅读性。另外,当你制作一个诸如根据用户投票来给所评测的对象评定星级的评测
29、站点时,使用此法,你就完全不需要为每一个星级制作一幅图片。如果一个对象被评为 4 星级,那只需将一颗星的图片循环显示 4 次,以此类推即可。当然,当工作量较小的时候你不会感觉到 ASP 的好处,然而一旦数据量巨增,你将会深刻的体会到 ASP 动态网站给你带来的前所未有的轻、爽感受 !2.4 IIS5 的相关介绍 IIS 是 Internet Information Server 的缩写,它是微软公司主推的 Web 服务器, 最新的版本是 Windows2000 里面包含的 IIS 5.0,IIS 与 WindowNT Server 完全集成在一起, 因而用户能够利用 Windows NT Se
30、rver 和 NTFS(NT File System,NT 的文件系统)内置的安全特性, 建立强大、灵活而安全的 Internet 和 Intranet 站点。 IIS 的一个重要特性是支持 ASP。IIS 3.0 版本以后引入了 ASP,可以很容易的张贴动态内容和开发基于 Web 的应用程序。IIS 的安装,管理和配置都相当简单。13第三章 开发论述3.1. 从功能模块角度进行系统分解该系统平台从功能模块上分为五大模块:图书管理模块、图书查询模块、借阅查询模块,借阅管理模块和基础维护模块,学生可以使用这个系统进行注册、查询、借阅,而系统的管理员可以对图书的类别和详细信息进行全面的管理,以及查
31、询学生的借阅情况,对借阅进行续借,还书等操作,还可以对系统的信息进行管理。下面是本题要开发的图书馆管理系统的主要功能模块(参见下图):图书馆管理系统用户注册登陆系统功能模块图书查询借阅功能模块图书管理模块类别管理模块借阅管理模块用户管理模块图 1 图书馆管理系统平台各个功能模块图143.2.1 用户注册登陆系统功能模块用户通过此模块来进行注册,登陆等功能。图 2用户和管理员登陆界面3.2.2 图书查询借阅功能模块用户通过此功能模块来进行查询借阅功能,在这里实现了按照图书名称,作者名称,出版社,出版时间,价格范围和图书类别的查询,还可以有排序方法和排序方式的选择,找到图书之后,如果该书在图书馆的
32、话就可以借阅了。图 3图书查询借阅界面3.2.3 图书管理功能模块工作人员通过此模块来实现图书的添加和删除三个部分。图 4图书管理界面153.2.4 类别管理功能模块管理员通过此模块来进行类别的添加,修改和删除图 5类别管理界面3.2.5 借阅管理功能模块管理员通过此功能模块卡查看目前借阅的情况,实现还书的操作。在相应的书名后面点还书就可以实现还书的功能。如果借阅表里显示该用户已经还了该书,图书表中显示该图书状态为可借阅状态图 6查询管理界面3.2.6 用户管理功能模块该模块实现了管理员在用户管理里面可以进行普通用户和管理员信息的操作。实现普通用户的删除和管理员用户名及密码修改的操
33、作。图 7用户管理界面163.3 借阅管理功能模块下面是本图书馆管理系统系统所使用的数据字典:user 表:此数据表用来存储使用系统的用户信息。字段名称 字段类型 字段的说明userid 自动编号 系统自动生成的用户序号、此表主键Username 文本(50) 用户姓名password 文本(50) 用户密码useremail 文本(50) 用户 emailuserqq 文本(50) 用户 qqusertel 文本(50) 用户电话adddate 时间/日期 注册时间loginnum 数字 登陆次数lastvst 时间/日期 用户最后一次登陆的日期lent 表:此数据表用来存储学生借阅情况的数
34、据字段名称 字段类型 字段的说明id 自动编号 编号Username 文本(50) 姓名bookid 数字 书籍编号bookdata 时间/日期 借阅时间ishuan 文本(50) 是否归还huandata 时间/日期 应还时间content 表:此数据表用来存储图书的详细信息。字段名称 字段类型 字段的说明id 数字 图书编号name 文本(255) 图书名称author 文本(50) 图书作者introduce 文本(255) 图书简介productdate 时间/日期 出版日期content 备注 图书详细内容price 数字 价格categoryid 文本(50) 所属类别adddat
35、e 时间/日期 加入时间mark 文本(255) 出版社type 文本(255) 版本号pagenum 文本(50) 页数format 文本(50) 开本printed 文本(50) 印刷版次detail 备注 详细内容islent 文本(50) 是否被借出 17Category 表:此数据表用来存储图书类别的数据字段名称 字段类型 字段的说明categoryid 自动编号 编号category 文本(50) 图书类别admin 表:此数据表用来存储系统信息的数据字段名称 字段类型 字段的说明id 自动编号 编号admin 文本(50) 管理用户名password 文本(50) 管理密码zui
36、da 数字 最大借阅数fakuan 文本(50) 罚款价格(每天)18第四章 设计内容4.1 设计总体思路(项目分析)我们这次毕业设计是用 ASP 网络交互技术开发一个动态网站来展示网络数据库的具体应用。此次设计是共有两位同学共同完成,都有自己明确的分工。以软件工程化的方式来组织相互之间的关系。在这里我主要负责完成用户注册登陆系统和图书查询模块。实现动态网站无非就是实现 Web 页面与数据库之间的交互。出现在 Web 上的数据的容量各结构越来越多地要求将其存储和组织成为数据库,并产生基于这些数据库地 Web 页,这中间主要要注意完成四部分,即:数据库的建设;Web 页面的设计;页面与数据库间连
37、接的建立和功能的实现。数据库的建设主要是指建立数据表,定义其中的字段和字段属性;Web 页面的设计主要是指用 CSS 定义版面和用相应的工具美化页面;至于页面与数据库间连接的建立和功能的实现我将在下面做具体介绍。4.2 设计实现过程设计中各部分功能的实现通常是通过 ASP 程序来实现的,ASP 程序负责了全部的数据库与页面之间的沟通和信息在页面的输入输出。所以 ASP 程序的设计是在实现过程中除了数据库的建设和数据库的连接外最重要的部分。(1)数据库的设计和实现设计和实现数据库是非常重要的,并且是实现任何 Web 数据库应用程序的必不可少的部分。使用数据库的第一步是设计表和字段,第二步是用数据
38、库软件实现这个结构,第三步和第四步是添加和查询数据。我们用的是 access 2000 实现数据库的设计的:a. 创建空数据库首先,启动 access 2000,选新建数据库,我们把数据库命名为 tsgl.mdb。b.创建新表找到数据库 tsgl.mdb 就可以点新建表,来创建新的数据表,当然也可以在查询分析器中使用 sql 语言创建数据表。完成了上述所述后,就可以用 ASP 开始编写程序了。(2)数据库建立连接set conn=server.createobject(“adodb.connection“)DBPath = Server.MapPath(“/tsgl.mdb“)conn.Ope
39、n “driver=Microsoft Access Driver (*.mdb);dbq=“ c.删除 SQL 语句:delete from 数据表 where 要进行删除操作的数据表所属的主19索引名=“+要删除记录的主索引内容名);4.3 设计部分的具体分析(1)用户注册登陆系统:只有一个网站的合法用户才可以在这个网站中进行一些合法的图书查询、借阅等。所以必须先通过注册成为该网站的合法成员,登陆成功后才可以操作。因此在这个系统中我考虑要完成用户注册,用户登陆这两个部分。在程序中我一般都是先用 HTML 语言写一个首页,让用户在其上的文本框中键入信息并点击“提交”来触发其后的 ASP 程序
40、,让它对提交的信息进行处理。下面只是写出了解决功能的程序段,具体的程序及注释和流程图见附录。数据表 user 情况如下:字 段 名 数 据 类 型userid intUsername Nvarchar(50)password Nvarchar(50)useremail Nvarchar(50)userqq Nvarchar(50)usertel Nvarchar(50)adddate datetimeloginnum intlastvst datetime程序的基本描述:a.密码框和文本框:密码框和文本框的作用分别在于让用户输入文本和密码。它们区别在于,文本框可以把输入的内容显示出来,而密码框
41、不显示内容,而是用“*”来代替。文本输入框的显示为:密码输入框的显示为:b.登陆中的程序段该部分的设计思路是首先判断是否有 submit 事件触发,然后对提交的数据进行处理(出于安全性的考虑我们已经在会员注册的时候给密码使用 md5 加密),把可能引起安全隐患的字符过滤,登陆中用一个 if 语句来判断该用户是否为合法用户的。如果输入的用户名和密码都是正确的,那么就登陆成功了,反之则失败了。程序段为:if NOT isempty(request(“LoginSubmit“) thendim username,passwordusername=replace(trim(request(“usern
42、ame“),“'“,“)password=md5(replace(trim(request(“password“),“'“,“)set rs=server.CreateObject(“adodb.recordset“)rs.Open “select * from user where username='“判断是否有空格字符function IsWhitespace (s)var i;if (IsEmpty(s) return true;for (i = 0; i arrDaysInMonthNameList1 )return falseif ( (NameList1=
43、2) var author = document.forms'frmdata'.elements'author'.value;var manufacturer = document.forms'frmdata'.elements'manufacturer'.value;var smallprice = document.forms'frmdata'.elements'smallprice'.value;var largeprice = documen
44、t.forms'frmdata'.elements'largeprice'.value;var enabledate = document.forms'frmdata'.elements'enabledate'.value;var expiredate = document.forms'frmdata'.elements'expiredate'.value;if (!IsWhitespace(enabledate)if (!IsDate(enabledate)alert(“出
45、版日期 开始日期格式错误!“);26return false;if (!IsWhitespace(expiredate)if (!IsDate(expiredate)alert(“出版日期 结束日期格式错误!“);return false;var allNotEmpty = (!IsWhitespace(name) |(!IsWhitespace(author) |(!IsWhitespace(manufacturer) |(!IsWhitespace(smallprice) |(!IsWhitespace(largeprice)|(!IsWhitespace(enabledate) |(!I
46、sWhitespace(expiredate);如果查询的条件都为空if (!allNotEmpty)alert(“必需输入一个搜索条件“);return false;if (!IsWhitespace(smallprice)if (!checknumber(smallprice)alert(“价格数据不合法“);return false;if (!IsWhitespace(largeprice)if (!checknumber(largeprice)alert(“价格数据不合法“);return false;/判断是否为数字的函数function checknumber(str)var i;
47、27for(i=0;i“9“)return false;return true;if (!IsWhitespace(enabledate) return false;if (!IsWhitespace(smallprice) return false; b.信息提交的处理在使用 javascript 对信息判断正确后就执行信息提交,进入查询页面,主要代码如下:如果搜索条件为空if request.QueryString=“ then call MsgBox(“错误:没有搜索条件!“,“GoUrl“,“search.asp“)response.endend ifset rs=server.Cre
48、ateObject(“adodb.recordset“)name=trim(request.QueryString(“name“)author=trim(request.QueryString(“author“)manufacturer=trim(request.QueryString(“manufacturer“)enabledate=trim(request.QueryString(“enabledate“)expiredate=trim(request.QueryString(“expiredate“)smallprice=trim(request.QueryString(“smallp
49、rice“)largeprice=trim(request.QueryString(“largeprice“)OrderField=trim(request.QueryString(“OrderField“)Order=trim(request.QueryString(“Order“)code=trim(request.QueryString(“code“)28if OrderField=“ then OrderField=“adddate“if Order=“ then Order=“DESC“sql=“select pagenum,name,mark,id,author,productda
50、te,price from content where 1=1 “如果查询的图书名不为空if name“ thensql=sql&“and author like '%“&author&“%' “end if如果查询的出版社不为空if manufacturer“ thensql=sql&“and categoryid like '%“&code&“%' “end if如果查询的价格最小值不为空if smallprice= “&smallpriceend if如果查询的价格最大值不为空if largepric
51、e= '“&enabledate&“'“end ifsql=sql&“ order by “&OrderField&“ “&Orderrs.open sql,conn,1,1如果未查询到符合条件的数据if err.number0 then29call MsgBox(“数据库中无数据“,“Back“,“None“)response.Endend ifb、借书查询到想借的书后点书的名称就可以看到该图书的详细情况,如果该书已经借出了则不能再借,如果没有借出,可以点借阅本书,然后系统提示借阅成功。程序段为:if request(“action“)=“islent“ thenset rs=server.CreateObject(“adodb.recordset“)rs.open “s