一个使用sql实现分页的例子

ALTER procedure [dbo].[up_GetFundPortfolio]

(

	@Total int output,

	@PageIndex int = 1,

	@PageSize int = 30

)

as

set nocount on

select 

	ROW_NUMBER() over (order by Symbol desc) as rowid, f.Symbol,

	f.EffectiveDate,f.StockCode,f.StockName,f.StockMarketValue,f.StockShares,f.TNAPercent,f.SharesPercent,f.TradablePercent,f.TradeMode

into #tmp

from FundPortfolio f



select @Total=count(*) from #tmp

declare @sql varchar(max)

set @sql = ' select top ' + cast(@PageSize as varchar(10)) + ' * from #tmp  where rowid > ' + cast ((@PageIndex-1) * @PageSize as varchar(10))+' order by rowid'

exec(@sql)



drop table #tmp
一个使用sql实现分页的例子 当然 我们中间也有些对数据的格式化处理 这样可以避免我们在页面或者窗体中去再处理

你可能感兴趣的:(sql,table,UP,output)