|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
if exists(select * from sysobjects where ID = object_id("up_TopicList")) drop proc up_TopicList go create proc up_TopicList @a_ForumID int , @a_intDays int , @a_intPageNo int , @a_intPageSize tinyint as declare @m_intRecordNumber int declare @m_intStartRecord int select @m_intRecordNumber = @a_intPageSize * @a_intPageNo select @m_intStartRecord = @a_intPageSize * (@a_intPageNo - 1) + 1 if @a_intDays = 0 --假如不限定天数 begin /*求符合条件记录数*/ select "RecordCount" = count(*) from BBS where Layer=1 and ForumID = @a_ForumID /*输出纪录*/ /*首先定义可滚动光标*/ set rowcount @m_intRecordNumber declare m_curTemp Scroll cursor for select a.ID ,a.Title , d.UserName , a.FaceID , \\\'ContentSize\\\' = datalength(a.Content) , \\\'TotalChilds\\\' = (select sum(TotalChilds) from BBS as b where a.RootID = b.RootID) , \\\'LastReplyTime\\\' = (select max(PostTime) from BBS as c where a.RootID = c.RootID) from BBS as a join BBSUser as d on a.UserID = d.ID where Layer=1 and ForumID = @a_ForumID order by RootID desc , Layer , PostTime open m_curTemp fetch absolute @m_intStartRecord from m_curTemp while @@fetch_status = 0 fetch next from m_curTemp set rowcount 0 /*清场*/ CLOSE m_curTemp DEALLOCATE m_curTemp end else --假如限定天数 begin /*求符合条件记录数*/ select "RecordCount" = count(*) from BBS where Layer=1 and ForumID = @a_ForumID and dateadd(day , @a_intDays , PostTime) > getdate() /*输出纪录*/ /*首先定义可滚动光标*/ set rowcount @m_intRecordNumber declare m_curTemp Scroll cursor for select a.ID ,a.Title , d.UserName , a.FaceID , \\\'ContentSize\\\' = datalength(a.Content) , \\\'TotalChilds\\\' = (select sum(TotalChilds) from BBS as b where a.RootID = b.RootID) , \\\'LastReplyTime\\\' = (select max(PostTime) from BBS as c where a.RootID = c.RootID) from BBS as a join BBSUser as d on a.UserID = d.ID where Layer=1 and ForumID = @a_ForumID and dateadd(day , @a_intDays , PostTime) > getdate() order by RootID desc , Layer , PostTime open m_curTemp fetch absolute @m_intStartRecord from m_curTemp while @@fetch_status = 0 fetch next from m_curTemp set rowcount 0 /*清场*/ CLOSE m_curTemp DEALLOCATE m_curTemp end go 注:若在asp中调用存储过程的command对象为cm,则set rs=cm.execute,然后用set rs=rs.nextrecordset取下一条记录。 返回类别: 教程 上一教程: RS.OPEN SQL,CONN,A,B的A、B各代表什么? 下一教程: 让你知道CODEPAGE的重要 您可以阅读与"存储过程分页"相关的教程: · 一个高效的数据分页的存储过程 · ASP用存储过程实现数据分页 · SQL Server 存储过程的分页 · ASP+SQL SERVER 分页方式(不用存储过程) · ASP 用存储过程实现数据分页 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |