日期:2014-05-18 浏览次数:20463 次
--我把东西都搞好,帮忙的兄弟也不用自己建表了。 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点的吧!有一点是一定要从页面传条件进这个存储的。
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
------解决方案--------------------
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用条件替换就行了。
------解决方案--------------------