当前位置: 首页 > 图文教程 > 网络编程 > ASP > 关于分页办法

ASP
用ASP做一个分页程序
用ASP实现网站的“目录树”管理
网页在线人数统计的做法
用ASP生成Chart
用ASP构建你的网站新闻发布(一)
用ASP构建你的网站新闻发布(三)
如何处理ASP中的图象
用ASP编写计数器
ASP防盗链及防下载的方法
ASP数据类型
ASP组件中的安全问题
ASP漏洞集-ASP漏洞分析和解决方法
ASP漏洞集-Carello Web 使 ASP 源码暴露(APP,缺陷)
ASP漏洞集-MS IIS server的ASP安全缺陷(MS,缺陷)
ASP漏洞集-MS IIS虚拟主机ASP源码泄露(MS,缺陷)
ASP漏洞集-给你的FileSystemObject对象加把锁
ASP漏洞集-通过asp入侵web server,窃取文件毁坏系统
ASP漏洞集-MS IIS server/Frontpage Ext Server
ASP漏洞集-虚拟web目录容易泄露ASP源代码 (MS,缺陷)
ASP漏洞集-用ASP实现网页保密的两种方法

ASP 中的 关于分页办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 50 ::
收藏到网摘: n/a

       时间关系,没有经过完全测试,这个是大概意思。
  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