关于使用视图进行分页时出现当前记录集不支持书签的错误解决方法及原因(asp)

时间:2021-08-09 07:18:06

一般在使用视图进行查询时,视图中意般都关联了两个或者更多个表,一般在这种情况下才会使用视图,但是但我在使用视图来查询数据时没有问题,但是一旦在分页中使用到视图进行查询就会出现错误提示如下:

ADODB.Recordset错误 '800a0cb3'

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

我使用的分页方式是利用记录集的分页功能进行分页,也就是使用游标进行分页,代码如下:

psize=8
 rss.open sql,conn,1,3
 tl=0
 
 rss.pagesize=psize 
 If Not rss.eof And Not rss.bof Then
  pageMax=rss.pagecount
  if pageMax<1 then pageMax=1
  if  page<1 then page=1
  if page>pageMax  then page=pageMax
   rss.absolutepage=page
   while not rss.eof

......

wend

end if

但是有并不是所有的视图在分页是都会出现以上情况,进过查看查询的源码,我发现了一个问题,就是当查询中使用了排序时就会出现该问题,但在多表联合查询时使用排序就必须使用top 来指定记录数,否则不能使用排序,所以我的查询时用的是top 100 percent 来指定所有的记录,于是我将排序和top 100 percent 去掉发现可以正常查询,所以在使用游标进行分页时不能使用top来只定查询条数。