关于分页办法

分页

时间关系,没有经过完全测试,这个是大概意思。
CREATE PROCEDURE getnotes

@forumID varchar(10),
@a_intPageNo int ,
@a_intPageSize int,
@rootID varchar(10)
AS
declare @m_intRecordNumber int
declare @m_intStartRecord int
declare @pagecount int
declare @temp int
declare @end int
declare @sql varchar(500)
declare @bbsname varchar(25)
declare @articles int
declare @manager varchar(30)
declare @selectrootID varchar(500)
declare @temprootID varchar(10)

select @m_intRecordNumber = @a_intPageSize * @a_intPageNo
select @m_intStartRecord = @a_intPageSize * (@a_intPageNo - 1) + 1

set nocount on
select @bbsname=subjectname,@manager=manager,@articles=articles from bbs_subjects where subjectID=@forumID
if @rootID='0'
begin
-- select @sql='declare m_curTemp Scroll cursor for select ID,title,shrink,rootID,orderID,pubtime,hits,bytes,username,email from bbs_forum_'+@forumID+' WHERE rootID in (select distinct rootID from bbs_forum_'+@forumID+' ) order by rootID desc,orderID asc'
select @sql='declare m_curTemp Scroll cursor for select rootID from bbs_forum_'+@forumID+' where rootID=parentID order by rootID desc'
end
else
select @sql='declare m_curTemp Scroll cursor for select ID,title,shrink,rootID,orderID,pubtime,hits,bytes,username,email from bbs_forum_'+@forumID+' where rootID='+@rootID+' order by orderID asc'

exec(@sql)
open m_curTemp

set @pagecount = case
when @@cursor_rows % @a_intPageSize=0 then @@cursor_rows / @a_intPageSize
when @@cursor_rows % @a_intPageSize<>0 then @@cursor_rows / @a_intPageSize+1
end
if @@cursor_rows<@a_intPageSize and @@cursor_rows>0
begin
select @pagecount=1
end

if @rootID='0'
begin
set @temp = 1
set @selectrootID='0'
fetch absolute @m_intStartRecord from m_curTemp into @temprootID
while @@fetch_status = 0 and @temp < @a_intPageSize
begin
set @temp = @temp + 1
select @selectrootID=@selectrootID+','+@temprootID
fetch next from m_curTemp into @temprootID
end
CLOSE m_curTemp
DEALLOCATE m_curTemp
set nocount off
select 'pagecount' = @pagecount
select 'bbsname'=@bbsname
select 'manager'=@manager
select 'articles'=@articles
select @sql='declare curTemp Scroll cursor for select ID,title,shrink,rootID,orderID,Images,pubtime,hits,bytes,username,email from bbs_forum_'+@forumID+' where rootID in ('+@selectrootID+') order by rootID desc,orderID asc'
exec(@sql)
open curTemp
fetch first from curTemp
while @@fetch_status = 0
begin
fetch next from curTemp
end
CLOSE curTemp
DEALLOCATE curTemp
end
else
begin
set @temp = 1
set nocount off
fetch absolute @m_intStartRecord from m_curTemp
while @@fetch_status = 0 and @temp < @a_intPageSize
begin
set @temp = @temp + 1
fetch next from m_curTemp
end
CLOSE m_curTemp
DEALLOCATE m_curTemp
end

时间: 2025-01-14 12:11:24

关于分页办法的相关文章

ASP关于分页办法

分页     时间关系,没有经过完全测试,这个是大概意思.   CREATE PROCEDURE getnotes       @forumID varchar(10),    @a_intPageNo int ,    @a_intPageSize int,    @rootID varchar(10)   AS    declare @m_intRecordNumber int    declare @m_intStartRecord int    declare @pagecount in

深入分析PHP文章内容分页

 文章内容分页主要有两个办法: 办法一.按字数控制进行分页 按字数分页办法简单易用,但效果不好. 大致思想:首先.设定每页能容纳的最大字数:然后.计算文章内容的总字数,再由总字数和单页最大字数计算出出总页数.这样整个分页的准备工作就已经做好了. 具体到每一页的显示内容可以通过内容截取来实现.比如:页容纳500字,文章内容有2200字,那么当页面传递page=2时应该显示第501至1000之间的内容. 这种办法简单,但显示时可能会遇到麻烦,文章内容通常伴有HTML标签,进行内容切割时实现HTML标

【紧急】请问opendj分页问题

问题描述 请问opendj服务器不支持分页,如何进行分页?数据量在100W左右.目前使用springldap框架,没有使用opendj的sdk,因为可能后期因为选型换其他的目录服务器,但是opendj本身带的分页不是真正的分页,急求分页方法,jndi或者springldap的方法都可以.前台分页就算了,数据量太大了受不了. 解决方案 解决方案二:LDAP可以分页吗,这个玩意就是一个目录存储,分页只能通过自己写代码来分呀.我个人是这样认为的,没看到LDAP有分页的功能解决方案三:引用1楼littl

功能强大的php分页函数_php技巧

分页是每一个程序需要去理解的东西,学习过的几门语言中我发现分页原理都是一样的,下面为php初学者分析一下php分页实现与最后面补充了一个超级强大的分页函数. 文章内容分页主要有两个办法: 办法一.按字数控制进行分页 按字数分页办法简单易用,但效果不好. 大致思想:首先.设定每页能容纳的最大字数,然后.计算文章内容的总字数,再由总字数和单页最大字数计算出出总页数,这样整个分页的准备工作就已经做好了. 具体到每一页的显示内容可以通过内容截取来实现,比如:页容纳500字,文章内容有2200字,那么当页

大数量查询分页显示 微软的解决办法

分页|解决|微软|显示|分页|微软 微软的解决办法using System; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Windows.Forms; public class PagingSample: Form { // Form controls. Button prevBtn = new Button(); Button nextBtn = new Button();

Word插入脚注后分节符自动变成分页符解决办法

Word插入脚注后分节符自动变成分页符解决办法 问题描述: 首页上一部分是单栏,一部分是双栏的话,如果在单栏部分加上一个页面底部的脚注,那么双栏部分立即会跑到下一页去,造成第一页一大片空白.如何 把后面分栏的部分合并到第一页??? 解决方案: 要解决此问题在 Microsoft Office Word 2003 或 Microsoft Word 2002 中,请执行下列步骤: 打开文档. 在 工具 菜单中上, 单击 选项 . 在 兼容性 选项卡上单击以选中 脚注像 Word 6.x/95/97

大数量查询分页显示 微软的解决办法_应用技巧

微软的解决办法 using System;  using System.Data;  using System.Data.SqlClient;  using System.Drawing;  using System.Windows.Forms;  public class PagingSample: Form  {  // Form controls.  Button prevBtn = new Button();  Button nextBtn = new Button();  static

php+ajax实现无刷新数据分页的办法_php技巧

本文实例讲述了php+ajax实现无刷新分页的方法.分享给大家供大家参考.具体实现方法如下: index.php 文件,代码如下: <?php header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 ?> <html> <head> <title>ajax分页演示</title> <script language="javascript"

ASPxGridView动态绑定数据源时排序,分组,分页等功能失效的解决办法

问题描述 如题. 解决方案 解决方案二:MARK,坐个沙发.帮你顶一下解决方案三:手工排序.分组.分页,而且这样做灵活性大,自己也能够了解其机制解决方案四:数据源绑定就相当于是傻瓜照相机一样,就算你会用,你了解其原理???要想做高手,就得自己动手~!解决方案五:ASPxGridView分组分页等设置个属性就OK了,你失效的原因是?请帖代码及错误提示解决方案六:检查数据源.分页.分组属性是否正确.解决方案七:我顶....[align=center]*************************