在指定了想要连接的数据库后,就可以通过以下方法连接并打开数据库 :
< %
Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open constr
%>
第二步 : 指定想要执行的 SQL 指令,可以使用 RecordSet。
当连接了数据库后就可以对数据库进行操作,比如查询、删除、更新等等,这些操作都是通过
SQL 指令来完成的,如下例在数据库表 datebase 中查询所有姓名中有“A”的记录 :
< %
sql="select * from datebase where name like 'A%%'"
Set rs = Conn.Execute(sql)
%>
尽管 Connection 对象简化了连接数据库和查询任务,但 Connection 对象仍有许多不足。
确切地说,检索和显示数据库信息的 Connection 对象不能用于创建脚本,您必须确切知道要对
数据库作出的更改,然后才能使用查询实现更改。对于检索数据、检查结果、更改数据库, ADO
提供了 Recordset 对象。正如它的名称所暗示的那样, Recordset 对象有许多您可以使用的特性,
根据您的查询限制,检索并且显示一组数据库行,即记录。 Recordset 对象保持查询返回的记录的
位置,允许您一次一项逐步扫描结果。根据 Recordset 对象的指针类型属性设置,您可以滚动和更新
记录。数据库指针可以让您在一组记录中定位到特定的项。指针还用于检索和检查记录,然后在这些
记录的基础上执行操作。 Recordset 对象有一些属性,可用于精确地控制指针的行为,提高您检查
和更新结果的能力。
Recordset 的使用方法如下 :
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL 指令 , Conn, 1, 1 ' 读取
或
rs.Open SQL 指令 , Conn, 1, 3 ' 新增、修改、或删除
第三步 : 使用 RecordSet 属性和方法,并显示执行的结果。
通过以上指令,我们创建了一个包含数据的游标 (RecordSet)“rs”,事实上游标是存储在
活动内存中的类似记录和字段的数组的东西,当通过 RecordSet 组件创建一个游标时,它从数据
提供者的得到一个数据集,并用它来充实游标,我们可以想象 ADO 产生的 RecordSet 是一个象
电子表格的记录,它有一行行的记录,在任何时候都有一行是它的当前行,而 RecordSet 的字段
是用 RecordSet 的 Field 集合表示的。下面列出了所创建的 RecordSet 对象 ( 游标 ) 的一些
属性和方法 :
rs.Fields.Count: RecordSet 对象的字段总数。
rs(i).Name: 第 i 个字段的名称, i 由 0 算起到 rs.Fields.Count-1。
rs(i): 读取第 i 个字段的数据, i 由 0 算起到 rs.Fields.Count-1。
rs(" 字段名称 "): 读取指定字段的数据。
rs.RecordCount: 游标中的数据记录总数。
rs.EOF: 是否已指到最后一条记录。
rs.MoveNext: 将指标移到下一笔记录。
rs.MovePrev: 将指标移到上一笔记录。
rs.MoveFirst: 将指标移到第一笔记录。
rs.MoveLast: 将指标移到最后一笔记录。
rs.Close: 关闭 RecordSet 对象
有关 ADO 的其他介绍,作者将在今后给大家详细讲解。
二、 Content Linking 组件
如果你的网站有一系列相互关联的页面的话, Content Linking 组件将非常适合你的需求,
它非但可以使你在这些页面中建立一个目录表,而且还可以在它们中间建立动态连接,并自动生成
和更新目录表及先前和后续的 Web 页的导航链接。这对于列出联机报刊、电子读物网站以及论坛
邮件是十分理想的选择。
Content Linking 组件创建管理 URL 列表的 Nextlink 对象,要使用 Content Linking
组件,必须需要先创建 Content Linking List 文件。 Content Linking 组件正是通过读取这个
文件来获得处理我们希望链接的所有页面的信息。事实上该文件是一个纯文本文件,其内容如下 :
page1.htm one
page2.htm two
page3.htm three
page4.htm four
page5.htm five
page6.htm six
这个文本文件的每行有如下形式 :
url description comment
其中, URL 是与页面相关的超链地址, description 提供了能被超链使用的文本信息,
comment 则包含了不被 Content Linking 组件解释的注释信息,它的作用如同程序中的注释。
description 和 comment 参数是可选的。
下面我们来看看如何具体使用 Content Linking 组件 :
< html>
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< title> 网络电子读物宝藏 < /title>
< /head>
< body>
< p> 网络电子读物导航
< %
Set Link = Server.CreateObject("MSWC.NextLink")
count = Link.GetListCount("nextlink.txt")
Dim I
For I=1 to count
%>
< ul>< li>< a href="< %= Link.GetNthURL("nextlink.txt", I) %>">< %= Link.GetNthDescription("nextlink.txt", I) %>< /a>
< % Next %>
< /body>
< /html>
在以上代码中,我们先用 GetListCount 方法确定在文件 nextlink.txt 中有多少条项目,
然后利用循环语句,并使用 GetNthURL、 GetNthDescription 方法逐一将存储在 nextlink.txt
文件中的内容读出并显示给客户端浏览器。
下面列出了 Content Linking 组件所有可使用的方法 GetListCount(file) 统计内容链接列表
文件中链接的项目数。
GetNextURL(file) 获取内容链接列表文件中所列的下一页的 URL。
GetPreviousDescription(file) 获取内容链接列表文件中所列的上一页的说明行。
GetListIndex(file) 获取内容链接列表文件中当前页的索引。
GetNthDescription(file,index) 获取内容链接列表文件中所列的第 N 页的说明。
GetPreviousUR(file) 获取内容链接列表文件中所列的上一页的 URL。
GetNextDescription(file) 获取内容链接列表文件中所列的下一页的说明。
GetNthURL(file,index) 获取内容链接列表文件中所列的第 N 页的说明。
在我们创建了网站的总导航页面后,我们当然还希望在每一页中添加一个“上一页”、“下一页”
的导航超链,下面我们就来看看如何实现导航超链。
由于考虑到你的网站可能包含了上千或更多的页面,所以我们不可能在每一个页面中都编写
实现导航超链的 ASP 代码。因此,我们必须利用前几篇中所学到的服务器端包容 SSI,这样就避免了
大量的重复作业,请看下例 :
< !--#include file="nextprev.inc"-->
只要将这端代码放在每个页面中即可。 nextprev.inc 文件的内容如下 :
< %
Set Link = Server.CreateObject("MSWC.NextLink")
count = Link.GetListCount("nextlink.txt")
current = link.GetListIndex("nextlink.txt")
If current > 1 Then
%>
< a href="< %= Link.GetPreviousURL("nextlink.txt") %>"> 上一页 < /a>
< %
End If
If current < count Then
%>
< a href="< %= Link.GetNextURL("nextlink.txt") %>"> 下一页 < /a>
< % End If %>
今天的学习又到此结束了,以后希望大家多多练习与关注新的文章!