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

王朝网络·other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

先定义conn.asp

<%

dim objConn

dim strConn

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chr(34) & Server.MapPath("data.mdb") & chr(34)

set objConn = server.createobject("adodb.connection")

objConn.open strConn

%>

再来看一看几种不同打开记录集(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

时间:

2005年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

时间:

2005年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,功能比较强大,但比较复杂。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有