--我把东西都搞好,帮忙的兄弟也不用自己建表了。
SELECT 'Eason' Name, 'Shall we talk' Song, '?' Mark INTO #Tab
INSERT #Tab SELECT 'Jay','Mine','!'
INSERT #Tab SELECT 'Eason','BabySong','?'
INSERT #Tab SELECT 'Lady','Lady','.'SELECT * FROM #Tab--DROP TABLE #Tab--**********************************************************************--
--*****页面要传条件到分页存储过程里: Song LIKE 'BabySong' AND 1=1 --或更多条件
--**********************************************************************----*****以下是我自己写的,分页能出来,但翻页会有问题,而且加了排序彻底翻不了页了。
-- EXEC ('SELECT TOP '+ @strPageSize +' * FROM #Tab WHERE '+@SQL+') 
--  EXEC ('SELECT COUNT(1) [RowCount] FROM #Tab WHERE '+ @SQL)--****谁帮我写个牛B点的吧!有一点是一定要从页面传条件进这个存储的。

解决方案 »

  1.   


    create procedure Page
    (
    @pageIndex int,
    @pageSize int
    )as
    begin
    select Name,Song,Mark from
    (select ROW_NUMBER() over(order by Name desc) row, Name,Song,Mark from #Tab)
    temp
    where row between (@pageIndex-1)*@pageSize+1 and @pageIndex*@pageSize
    end
    这个试下吧。
      

  2.   

    2F:请看清问题!!!!!!!!!!!页面要传条件到分页存储过程里: Song LIKE 'BabySong' AND 1=1 --或更多条件 也就是说存储里要EXEC SQL语句的!!1F:
    我知道有很多,我平时也有用,但这次只是想找适合我这个用的。谢谢!
      

  3.   

    select Name,Song,Mark from
    (
    select ROW_NUMBER() over(
    order by Name desc --排序加在这里
    ) row, Name,Song,Mark from #Tab
    where Song like '%Baby%' --条件加在这后面
    )
    temp
    where row between (@pageIndex-1)*@pageSize+1 and @pageIndex*@pageSize
    把这个放在EXEC里面,加上引号,把@pageIndex,@pageSize用条件替换就行了。
      

  4.   

    整数和字符串不能用+连接,要用convert(XXX,varchar(20))把整数转换成字符串,然后才能用+连接