CREATE PROCEDURE sp_GetArticle
@PageSize int --页面数据数量
@PageNumber int --页数
AS
select Top @PageSize * from Article where ArticleID not in
(select Top @PageSize * (@PageNumber-1)  ArticleID from Article where ArticleID is not null)

解决方案 »

  1.   

    不能,请查询帖子
    主  题:  交流--查询第X页,每页Y条记录 
    作  者:  zjcxc (邹建)
      

  2.   

    CREATE PROCEDURE sp_GetArticle
    @PageSize int ,                  --逗号
    @PageNumber int 
    AS
    declare @sql varchar(1000)
    set @sql='select Top ' + cast(@PageSize as varchar(10)) + ' * from Article where ArticleID not in
    (select Top ' + cast(@PageSize as varchar(10)) + ' * (' + cast(@PageNumber as varchar(10)) + '-1)  ArticleID from Article)'exec(@sql)
    go
      

  3.   

    CREATE PROCEDURE sp_GetArticle
    @PageSize int ,                  --逗号
    @PageNumber int 
    AS
    declare @sql varchar(1000)
    set @sql='select Top ' + cast(@PageSize as varchar(10)) + ' * from Article where ArticleID not in
    (select Top ' + cast(@PageSize * (@PageNumber -1)  as varchar(10)) + ' ArticleID from Article)'exec(@sql)
    go
      

  4.   

    我的贴子:查询第X页,每页Y条记录
    http://www.csdn.net/Develop/Read_Article.asp?Id=23001
      

  5.   

    --楼主的存储过程应该这样修改(因为top后面的值不能用变量,所以得改为动态语句)CREATE PROCEDURE sp_GetArticle
    @PageSize int, --页面数据数量
    @PageNumber int --页数
    AS
    declare @s1 varchar(20),@s2 varchar(10)
    select @s1=cast(@PageSize as varchar)
    ,@s2=cast(@PageSize * (PageNumber-1) as varchar)
    exec('
    select Top '+@s1+' * from Article where ArticleID not in
    (select Top '+@s2+' ArticleID from Article)
    ')
      

  6.   

    CREATE PROCEDURE sp_a1
    @PageSize int ,--页面数据数量
    @PageNumber int-- varchar(20) --页数
    AS
    declare @sql varchar(100) 
    set @sql= 'select Top '+ @PageSize + ' * from Article where ArticleID not in
    (select Top @PageSize * '+str(@PageNumber-1)+'  ArticleID from Article)'
    exec (@sql)