rs.recordcount为-1???

来源:互联网 发布:js无限循环数组输出 编辑:程序博客网 时间:2024/05/19 12:18

偶用asp在做分页时,在获取数据库的记录时发现当sql使用distinct时,eg:sql="select distinct subject from exam_database where subject like '%"& subjectview &"'"明明数据库中有记录,但通过

set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2

获取的rs.recordcount,rs.pagecount值均为-1,而当sql="select subject from exam_database where subject like '%"& subjectview &"'"时,获取的rs.recordcount,rs.pagecount值就正确了,整了天昏地暗的也没搞清楚是啥原因,只有用下面的笨办法(红色部分)解决喽

<------分页用的一段代码

dim counter,pagecounter
counter=0
pagecounter=0

sql="select distinct subject from exam_database where subject like '%"& subjectview &"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
on error resume next
rs.PageSize = 10//每页的数据数目
Page = CLng(Request("Page"))//请求的页面
do while not rs.eof
  counter=counter+1
  rs.movenext
loop
rs.movefirst
pagecounter=counter/10+1//有数据时从第一页显示
If Page < 1 Then Page = 1//第一页
If Page > pagecounter  Then Page = pagecounter//最后一页
i=10*page-9
rs.AbsolutePage = Page//当前页显示请求页面
For iPage = 1 To rs.PageSize
%>
..............................................................................................

..............................................................................................
<%
rs.MoveNext
If rs.EOF Then Exit for
i=i+1
Next
%> ------>

上面是我暂时的一个解决办法,如有哪位朋友该问题的具体原因或更好的解决加办法,在此就先谢了!

原创粉丝点击