ASP代码中:set rs=conn.execute(sql)如何获取记录集总数
答案:3 悬赏:80 手机版
解决时间 2021-02-26 16:40
- 提问者网友:几叶到寒
- 2021-02-25 17:13
ASP代码中:set rs=conn.execute(sql)如何获取记录集总数
最佳答案
- 五星知识达人网友:duile
- 2021-02-25 18:29
set rs=conn.execute(Sql,dd) 这种方法取得的记录集,无法调用rs.recordcount属性(返回结果-1)
要用 rs.open sql,conn 方法才能调用 rs.recordcount属性追问当前情况是不方便用rs.open sql,conn 这种句型,所以才用的set rs=conn.execute(Sql).想在这基础上获取总记录数追答那只能用比较土的方法。rs取出来之后,先进性循环取出累加记录数,再将rs指针指向第一条就可以了。
如:
set rs=conn.execute(sql) '取得记录集
i=0
do while not rs.eof
i=i+1
rs.movenext
loop '循环结束之后i就是总记录数
rs.movefirst '将指针指向第一条,下面从第一条开始继续引用rs记录集
..............
要用 rs.open sql,conn 方法才能调用 rs.recordcount属性追问当前情况是不方便用rs.open sql,conn 这种句型,所以才用的set rs=conn.execute(Sql).想在这基础上获取总记录数追答那只能用比较土的方法。rs取出来之后,先进性循环取出累加记录数,再将rs指针指向第一条就可以了。
如:
set rs=conn.execute(sql) '取得记录集
i=0
do while not rs.eof
i=i+1
rs.movenext
loop '循环结束之后i就是总记录数
rs.movefirst '将指针指向第一条,下面从第一条开始继续引用rs记录集
..............
全部回答
- 1楼网友:西风乍起
- 2021-02-25 19:35
<%
sql="select count(id) from news" '用count()函数统计
set rs=conn.execute(sql)
response.write(rs(0)) '输出记录数
%>追问我的SQL不能是直接取count(*)的,我要取一些字段,只是在执行这个SQL后,我想要取到它的总记录数追答<%
set rs=server.createobject("adodb.recordset")
rs.open "select * from news order by id desc",conn,1,1
response.write(rs.recordcount)
' 其他操作
rs.close
set rs=nothing
%>追问可能你没看到和下面那位兄才说的内容.我不能用rs.open 这种句型,也就是说必须使用set rs = conn.execute()这种,所以你上面这方案对我来说行不通追答'那你这么做吧
<%
sql="select count(id) as cout,title,adate from news order by id desc"
set rs=conn.execute(sql)
response.write(rs("count"))
%>追问嘿~ 到也是一法儿.不过有语法错误.谢!~
sql="select count(id) from news" '用count()函数统计
set rs=conn.execute(sql)
response.write(rs(0)) '输出记录数
%>追问我的SQL不能是直接取count(*)的,我要取一些字段,只是在执行这个SQL后,我想要取到它的总记录数追答<%
set rs=server.createobject("adodb.recordset")
rs.open "select * from news order by id desc",conn,1,1
response.write(rs.recordcount)
' 其他操作
rs.close
set rs=nothing
%>追问可能你没看到和下面那位兄才说的内容.我不能用rs.open 这种句型,也就是说必须使用set rs = conn.execute()这种,所以你上面这方案对我来说行不通追答'那你这么做吧
<%
sql="select count(id) as cout,title,adate from news order by id desc"
set rs=conn.execute(sql)
response.write(rs("count"))
%>追问嘿~ 到也是一法儿.不过有语法错误.谢!~
- 2楼网友:轻雾山林
- 2021-02-25 18:56
前一种方式:
通过执行sql,返回后得到记录集,比较简单地得到经过筛选过的记录集,但是通过这种方式得到的记录集,不能进行分页显示。
后一种方式:
打开的记录可以进行分页显示,但这种方式打开的记录集不能排序。
总结一下:
1、方式1,可以通过sql语句,方便地筛选你想要的记录。
2、方式2,功能比较强大,但比较复杂。
"Set rs=conn.Execute(SQL)"这样操作只能打开一个表(也可以在SQL中用联查来打开两个表),要打开两个表的话,那再写一个rs1就可以了:)
通过执行sql,返回后得到记录集,比较简单地得到经过筛选过的记录集,但是通过这种方式得到的记录集,不能进行分页显示。
后一种方式:
打开的记录可以进行分页显示,但这种方式打开的记录集不能排序。
总结一下:
1、方式1,可以通过sql语句,方便地筛选你想要的记录。
2、方式2,功能比较强大,但比较复杂。
"Set rs=conn.Execute(SQL)"这样操作只能打开一个表(也可以在SQL中用联查来打开两个表),要打开两个表的话,那再写一个rs1就可以了:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯