where t.number between'+ @startRow +'and'+ @endRow between and 用法错了

解决方案 »

  1.   

    create procedure pro_stu(
        @pageIndex int,--页码
        @pageSize int,--页面大小
        @column nvarchar(128),--列名
        @TableName nvarchar(128)--表名
    )
    as
        declare @startRow int, @endRow int ,@sqlstr nvarchar(max)
        set @startRow = (@pageIndex - 1) * @pageSize +1
        set @endRow = @startRow + @pageSize -1
        set @sqlstr='select * from (
            select *, row_number() over (order by '+@column+' asc) as number from' + @tablename 
        +') as t
        where t.number between'+ Cast(@startRow as varchar(10)) +'and'+ Cast(@endRow as varchar(10))
            print @sqlstr
        exec (@sqlstr)
    试试这个
      

  2.   

    对了,我还是有个疑问,  print @sqlstr,是什么意思,我不是很懂,我太菜了
      

  3.   

      print @sqlstr
    这个是为了查询 执行的 语句的。调试用比较方面。