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

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

实现的特殊一点的功能是可以传入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);

 

你可能感兴趣的:(存储过程)