我的日记本程序日记列表存储过程分页

最近在写一个个人的日记本程序,今天做了日记的存储过程分页。研究了半天,参考了多方资料终于写出来了。发表出来纪念一下。

实现的特殊一点的功能是可以传入where条件,这样的话如果需要什么样的过滤条件可以直接在DAL层进行设置,实现灵活性。

create proc procDiary    --获取日记列表的分页存储过程
    @pageSize int =12,    --
    @pageIndex int=1,    --页码序号
    @totalCount int output,    --总记录数
    @diaryWhere varchar(255)
    
as
    declare @strSql varchar(500);
    set @strSql = 'set nocount on select top ('+convert(varchar(50),@pageSize)+') fid,fcid,ft  opic  al,faddDate,feditDate 
    into #diary from t_Diary
    where Fid not in(select top (('+convert(varchar(50),@pageIndex)+'-1)*'+convert(varchar(50),    @  pageSize)+') fid from t_Diary)'
    + convert(varchar(255),@diaryWhere) +
    'order by FaddDate desc,Fid desc
    select * from #diary
    drop table #diary set nocount off';
    exec(@strSql);

 

posted @ 2014-09-10 15:00  kevin290  阅读(256)  评论(1编辑  收藏  举报