本文是一篇数据库论文范文,数据库有关本科论文开题报告,关于利用ASP技术实现图书目录查询系统相关毕业论文格式范文。适合数据库及可靠性及参考文献方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。
(内蒙古大兴安岭林业学校,内蒙古牙克石022150)
摘 要:该文首先介绍了开发图书查询系统选用的工具,在介绍了系统的总体设计和总体实现后详细论述了在实现图书查询系统中遇到的问题和解决的方法,并结合实例来说明ASP在图书查询系统中的应用技巧.
关 键 词:图书;ASP;分页显示;查询
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)11-2455-02
随着互联网的发展,人们对Web网页的要求越来越多的趋向于动态交互性,而这很大程度上依赖于Web数据库.因为动态交互需要强大的信息系统支持,信息数据以数据库形式表示更容易更新和管理.通过网页如何动态交互的访问数据库成为最关键的问题.ASP技术使得Web开发变得更加简单、快速、高效.基于ASP技术的图书查询系统的设计和实现是利用ASP技术访问WEB数据库实现动态交互的具体实例.
1系统开发工具的选择
ASP是一个服务器的脚本环境,内嵌在HTML页面中的脚本程序在这里运行并建立Web服务器应用程序.ASP使用VBScript、JaScript等简单易懂的脚本语言,脚本语言完全嵌入HTML不仅可快速的完成网站的应用程序,还实现了程序与页面的完美结合,并且ASP使用普通的文本编辑器(如windows的记事本)就可以进行编辑设计.ASP应用程序的实际实现过程中,界面设计和代码的编写实现一种紧密结合,能极大地提高效率.尤其在AdobeDreamweerCS3中,良好的界面设计可以极大地优化程序的结构,也具有较好的可读性.基于ASP和AdobeDreamweerCS3的这些优点,我们最终选择ASP和AdobeDreamweerCS3作为图书查询系统的主要开发工具.
2系统的总体设计
图书查询系统主要实现图书查询功能,用户输入要查找的内容及选定分类信息就可以快速地找到符合条件的图书,并看到查询结果.在本系统中,任何人都有权限使用查询功能,不做任何限制.由于实现的查询功能有多种,如按图书名称、作者等条件进行完全匹配查找和部分匹配的模糊查找,还有按多个条件进行逻辑与或者逻辑或的多条件查找,所以基于这些查询功能以及根据系统的需求分析,设计了3种查询类型,分别是简单查询、普通查询、高级查询.用户可以根据自己的条件自主的选择查询类型,使整个查询系统更具有人性化,也提高了查询效率.
3系统的总体实现
在简单查询、普通查询、高级查询中,查询类型的实现只是在查询语句构成上有区别,其他地方实现的方法都差不多,所以在以下的介绍中只对一种方法的实现进行详细的介绍.以简单查询为例,当用户输入查询条件提交后,提交的动作会自动调用ASP页面,在ASP页面中会执行相应的SQL查询语句,执行SQL查询需要连接数据库,那么ASP会访问WEB数据库,WEB服务器会接受浏览器的请求,通过ODBC或者OLEDB把连接请求发送给数据库服务器,连接数据库.连接数据库后,ASP会根据查询的条件,通过访问组件ADO到数据库中完成相应的查询操作,即执行SQL查询语句,并以结果集的形式返回给定义的记录集对象,记录集以分页的形式显示在界面上,供用户浏览.用户可以在已列出的文献信息上点击已联接的书名,就可看到相应文献的详细信息.
4解决系统实现中遇到的问题并总结心得
我在实现图书查询系统时,遇到了一些问题,在解决后积累了一些心得,并总结了一些在编制ASP应用程序中的技巧.
1)Response是ASP的内置对象,使用Response对象可将输出的信息发送到客户端浏览器,即向用户发送信息.Response对象中的Write方法在直接输出一个由变量表达的字符串时具有重要的作用,甚至它可以作为一种ASP向客户端返回HTML页面的一种主要方式.
2)对同一表单内的元素可以用Request.QueryString()或Request.Form()方法获得当前表单内的元素值.但Request.QueryString()方法很容易实现页面间的传值.这在实际编程中具有极大的便利.甚至在两个相邻的页面间也能顺利传值.其中Request也是ASP的内置对象,可以直接被调用.Request对象在HTTP请求期间,检索客户端浏览器传递给服务器的值,即获取用户信息.
3)在开发Web数据库应用程序时,由于ASP模型主要是基于服务器端的,只有当用户单击了一个ASP调用(如〈formmethod等于"get"action等于"jiandancheck.asp"〉)的超链接或表单的提交按钮后才能工作,否则无法对客户的输入做出实时响应.如一个检查各个输入域是否为空的操作,就必须数据传送到服务器端后,才能做出判断.表现在具体编程中,就是判断的代码必须放在下一个页面中.由于VBScript和JaScript是基于客户端的脚本语言,所以这种检查可以通过在ASP中内嵌VBScript或JaScript脚本来完成.实际上,一个成功的ASP应用程序经常是ASP模型与VBScript或JaScript脚本紧密结合的产物.
4)ASP中实现分页显示的方法
对于数据量较小的数据表而言,一次显示所有的数据是没有问题的,但数据库中可能有成千上万条记录,如果一次都显示出来的话消耗的时间太多,而且不方便用户筛选信息.为解决此问题在本系统中采用了分页显示的方法,我们可以将数据分割成数页,每页显示若干记录数据,并提供上、下页的查询方式,这样可以大幅度减少系统的负荷.该方法是用手工建立RecordSet对象,利用其PageSize(每页指定显示记录数),PageCount(总页码数)和Absolutepage(当前页码数)属性来控制分页的输出.当我们设置PageSize的值之后,数据库对象会自动将RecordSet的大小分为若干个Page,例如每页要显示10条记录则ASP语法如下:rs.PageSize等于10(其中rs为一个记录集)
在设置页面输出记录的多少以后,另外必须设置AbsolutePage的值,让数据库的指针自动移至对应的记录.AbsolutePage的写法如下:
rs.AbsolutePage等于1(设置目前处理范围(页数)).
RecordSet在设置AbsolutePage属性的值以后,数据库第一条记录数据的地址,将自动被改变,它的计算公式如下:第一条记录数据地址等于(AbsolutePage-1)*PageSize+1公式(1).
当所有的准备工作完成之后接下来就可以处理指定页面的数据了.
为了方便在线用户的浏览查阅和对系统功能进行测试,我将系统设计为每页显示3条记录,并在每页上方提供目前页数、总页数、总记录数、上一页、下一页、首页、尾页的功能.
为了完成上述的功能,我们在ASP中以Page变量记录目前的页数,Page变量的处理规则如下:
页面为0时的处理:当Page<1时,设置Page=1.
页面数大于实际页数:Page>PageCount时,将Page设为PageCount.
上面的处理原则对于上、下页浏览是特别有用的,可避免不可预料的情况发生,导致错误的情形发生.
在HTML的语法中,我们可以让网页自己调用自己,网页递归程序写法如下:
.
至于上、下、首、尾页数的控制,我们使用Page变量为参数,利用HTML参数传递方式,并以递归调用方式来简化程序的复杂度,页数控制如下:
对于下一页的超级连接,将Page页数加1,然后调用自己来处理.设Pages.asp为分页查询的ASP程序.
代码为:>下一页.其具体实现过程为:当点击下一页的连接后,系统会自动调用执行当前页,并在页面上显示对应的记录,而正确显示对应的记录是关键,显示的记录数仍由PageSize来决定,但显示的记录位置是由上述的公式(1)来计算的,显示的记录为除去前面所有页的记录总和的前PageSize条记录.
对于上一页的连接,将Page页数减1,利用Pages.asp(查询分页显示的ASP程序)达到调用自己的目的.
代码为:>上一页.
同理对于首页的超级连接,将Page页数赋值为1,然后调用自己来处理.对于尾页的超级连接,将Page页数赋值为rs.PageCount,后递归调用自己来处理.
5)ASP应用程序中如何解决页面间的传值是个关键的问题.在系统中没有实现页面间传值时,每次显示只能显示第一页的记录,分页显示无法正确的进行.经过老师的指导和同学的讨论,最终在本系统中采用了以下的方法,解决了分页显示这一难题:
对于在多个页面之间的传值,最适合的方法是利用Request.querystring属性.即在表单的Action或页面元素的超链接中,可以添加关于Request.querystring的引用.当用户按下“查询”按钮后,网页根据HTML中