几种打开记录集方式的比较
先定义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,功能比较强大,但比较复杂。
这种方式还有更有用的用法。详见其它参考资料。
