当前位置: 首页 > 图文教程 > 网络编程 > ASP > 几种打开记录集方式的比较

ASP
编写通用的asp防注入程序
vbs(asp)下的Function 语句
ASP中类Class相关内容的整理资料
字符批量替换程序asp服务器版
旁注-网站小助手旭方修改免杀asp版
用正则表达式写的HTML分离函数
asp中"无限流"分页程序代码
asp的一个日期格式化函数
asp中创建多级目录的两段代码
asp中去除内容HTML标签的三个function函数
chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解
方便的大家admin及admin888 经过 md5加密后16位和32位代码
可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
asp动态级联菜单代码
ASP中经常使用的SQL语句与教程说明
实例分析之用ASP编程实现网络内容快速查找的代码
服务端 VBScript 与 JScript 几个相同特性的写法与示例
ASP 环境下 VBS 事件应用 示例代码
asp 之上传漏洞终结篇
asp中一段防SQL注入的通用脚本

ASP 中的 几种打开记录集方式的比较


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 205 ::
收藏到网摘: n/a

先定义conn.asp

再来看一看几种不同打开记录集(recordset)的方式

方式1、

 dim sql
 dim objRs

 sql = "select * from table1"
 set objRs = objConn.execute( sql )

这种方式通过执行sql,返回后得到记录集,比较简单地得到经过筛选过的记录集,但是通过这种方式得到的记录集,不能进行分页显示。

文件text1.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="conn.asp" -->

<%
 dim sql
 dim objRs
 
 sql = "select * from table1"
 set objRs = objConn.execute( sql )
 
 objRs.pagesize = 5
 objRs.absolutepage = 1
%>

请求该页面得到的结果是:

------------------------------------------------------------

错误类型:

ADODB.Recordset (0x800A0CB3)

当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。

/msg/test1.asp, 第 12 行

浏览器类型:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

网页:GET /msg/test1.asp

时间:2007年9月21日, 19:58:01

------------------------------------------------------------

方式2、

 dim objRs
 set objRs = Server.CreateObject( "ADODB.Recordset" )
 objRs.open "table1" , objConn , 1 , 2

用这种方式打开的记录可以进行分页显示。

<%
 dim objRs
 
 set objRs = Server.CreateObject( "ADODB.Recordset" )
 objRs.open "table1" , objConn , 1 , 2
 
 objRs.pagesize = 5
 objRs.absolutepage = 1
%>

用这个试试,哈哈,顺利运行。

但这种方式打开的记录集不能排序

文件test2.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="conn.asp" -->
<%
 dim objRs
 
 set objRs = Server.CreateObject( "ADODB.Recordset" )
 objRs.open "table1" , objConn , 1 , 2
 
 objRs.sort = "field1"
%>

请求该页面得到的结果是:

------------------------------------------------------------

错误类型:ADODB.Recordset (0x800A0CB3)

当前提供程序不支持排序或过滤所必需的界面。

/msg/test2.asp, 第 17 行


浏览器类型:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

网页:GET /msg/test2.asp

时间:2007年9月21日, 20:17:32

------------------------------------------------------------

怎办呢?

哈,这样就行啦。
 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="conn.asp" -->
<%
 dim objRs

 set objRs = Server.CreateObject( "ADODB.Recordset" )
 objRs.CursorLocation = 3
 objRs.open "table1" , objConn , 1 , 2
 
 objRs.sort = "field1 desc"
%>

总结一下:

 1、方式1,可以通过sql语句,方便地筛选你想要的记录。

 2、方式2,功能比较强大,但比较复杂。

  这种方式还有更有用的用法。详见其它参考资料。