用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

利用ASP实现网上数据库检索

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:51:00
【本文由PB创新网为您整理】

ASP是目前公认的建立Windows NT下动态站点最好的工具之一。它与ADO(Active Data Object,一种新的数据访问模型)的充分结合,提供了强大的数据库访问功能,使之成为进行网上数据库管理的重要手段。

1ASP简介

    ASP内含于Internet Information Server(简称IIS)中,扩展名以.asp表示。ASP文件可以用常规的文本编辑器编辑,也可以利用专门的辅助开发工具InterDev进行开发设计,InterDev的优点是将整个Web程序设计(包括网页设计、ASP程序设计、数据库管理等)融为一体,比较适合于较大工程项目的开发研制。ASP使用VBScriptJavaScript等脚本语言作为开发工具,镶嵌于HTML文本中,使用“<%%>”将ASP的程序包含起来。当用户从浏览器向Web服务器提出请求时,Web服务器会自动将ASP的程序解释为标准的HTML格式的主页内容,用户端只要使用常规可执行HTML程序的浏览器,就可浏览ASP所设计的主页内容,因此与浏览器无关,并且保证了ASP的源程序代码不会外漏。

    ASP中包括五个内置的ActiveX服务器组件和五个内置的对象:Database Access component(数据库访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Content Linking component(内容链接组件)、Browser Capabilities component(浏览器信组件)以及Request(请求对象)、Server(服务器对象)、Session(会话对象)、Response(响应对象)、Application(应用程序对象)。在所有ASP组件中,最有用的是数据库访问组件,也称为ActiveX数据对象或ADO。在站点发布数据库将使用这个组件及其中包含的对象,以完成对ODBC数据源的读写。

    此外,ASP技术的另一个重要特点是,程序员可以利用JavaVisual Basic Visual C++等语言制作适应自己特殊需要的ActiveX服务器组件来扩充ASP的功能,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI程序所不及的。

2ADO结合开发网上数据库检索程序

    ASP技术与ADO技术相结合,可以实现基于WWW的数据库管理功能,用户可在浏览器画面中检索、输入、更新和删除数据库信息,从而建立提供数据库信息的主页内容。ADO主要提供了七个对象和四个集合来完成对于数据库的管理,包括:ConnectionCommandParameterRecordsetFieldPropertyError以及FieldsPropertiesParametersErrorsConnection对象用来建立与数据库的连接,Command对象完成对数据库的操作,Recordset对象可以查看或操作数据库中返回的数据。而Field 对象和Fields集合允许对当前记录的每一个字段进行操作,Parameter 对象和Parameters集合为Command对象提供信息和数据,Property 对象和Properties集合为ConnectionCommand RecordsetField对象的特性提供信息,Error对象和Errors集合在错误发生时提供错误信息。

    下面介绍开发数据库检索程序的基本设计方法:

⑴ 创建数据库源名(DSN)DSN是通过ODBC创建,由ODBC使用和识别的、用以连接应用程序和后台数据库的数据库逻辑名。具体创建ODBC数据源的方法可参阅有关资料,这里不再介绍。假定已为一个SQL Server数据库创建了取名为“BOOK”的 ODBC数据源。

创建数据库链接(Connection)。通过服务器对象的CreateObject方法,可以创建Connection对象和使用变量接受对象引用。一旦连接对象创建之后,它就可用来打开到任何ODBC数据源的连接。如下∶

dim conn  ‘申明变量

Set Conn=Server.CreatObject("ADODB.Connection")  ‘创建链接对象

Conn.Open "book",IUSR_TSG01, ""   ‘打开到ODBC的链接,其中IUSR_TSG01为授权的用户ID号,用户口令未加设置。程序员应根据自己的情况进行更替。

创建数据对象(Recordset)Recordset ADO中比较复杂的对象,有许多的属性和方法,包括:Eof(文件尾)、Bof(文件头)、Absolutepage(绝对页)、Recordcount(记录计数) Pagecount(页计数)等属性以及MoveFirst(移到第一条记录) MoveLast(移到最后一条记录) MoveNext(移到下一条记录) MovePrevious(移到上一条记录)等常用方法。数据对象与ASPSession对象结合,还可以实现检索结果的分页处理。

Dim Rs  ‘申明变量

Set Rs=Server.CreatObject("ADODB.Recordset")   ‘创建数据对象

Rs.PageSize=10  ‘设置一页所显示的记录数

操作数据库。ADO通过执行标准的SQL语句实现检索功能,因此首先要定义SQL查询语句,然后执行该查询命令,最终形成一个检索结果集合。

Dim sql    ‘申明变量

sql="select * from publication  where title like 'ASP%%'"  ‘定义SQL查询语句,检索数据库的publication表中书名以ASP开头的所有图书的记录

Const  adOpenkeyset=1  ‘定义Recordset的类型

Rs.Open Sql,conn, adOpenkeyset   ‘执行sql语句,在数据对象Rs中保存检索结果。

ASP中引用返回结果。假如准备在浏览器上显示检中的图书信息,可以采用以下两种方法:

<% Response.write(Rs.("Title"))%>

<%=Rs("Title")%> 

关闭数据库对象和链接对象。在程序结束前一定要关闭ADO对象,释放服务器资源。如下:

     Rs.close

     Conn.close

     Set Rs=nothing

     Set Conn=nothing

下面是一个极其简单的检索程序:

Example.asp

<html>

<head>

<title>ASP数据库检索实例</title>

</head>

<%

Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "book"

Sql= "select * from publication  where title like 'ASP%%'"

Dim Rs

Set Rs=Server.CreateObject("ADODB.recordset") 

Const  adOpenkeyset=1

Rs.Open Sql,Conn, adOpenkeyset

%>

<FONT COLOR="#rrggbb" ><strong>检索词命中率:<%=Rs.Recordcount%><br><br>

<select size=8>

<%

Do while not  Rs.eof

%>

<option><% =Rs("title")%></option>

<%

     rs.movenext 

loop

%>

</select>

<%

rs.close

conn.close

set rs=nothing

set conn=nothing

%>

</body>

</html>       

可利用ASP技术开发图书馆网上书目检索程序,实践证明该方法简单、、实用、高效,是很值得学习的一种方法。

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:36,812.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号