
declare@TableName as varchar(50) -- 你要查询的表
declare @sql as varchar(3000) --拼接字符串,不要给它赋值
declare@CurPageFirstRow int--当前页的第一行,当你的程序要给此函数赋值时候,需要已经计算出的 公式如→(pageNo-1)*pageSize +1
declare @CurPageLastRowint --当前页的最后一页,同样要计算过的, 公式如→pageNo*pageSize
declare@OrderByColumn varchar (20)
set @TableName= 'Merchandise'-- 赋值,你要分页的表
set@CurPageFirstRow = 1;
set@CurPageLastRow = 20;
set@OrderByColumn ='MerbarCode';
select @sql = isnull(@sql ,'with paging as ( selectreplace(''{''+ ')+ '''"'+name+ '":"''+isnull(cast('+name+ ' as varchar),'''')+''",''' from SYS.SYSCOLUMNS
WHERE ID = OBJECT_ID(@TableName )
set@sql = @sql+'' +','''''''','''') assourceTable,ROW_NUMBER()OVER(ORDER BY '
+@OrderByColumn+ ') as rn ,(select count('+@OrderByColumn+ ') from '+@TableName+ ' )
as total from'+@TableName +' )
select * frompaging where rn between '
+cast( @curpagefirstrow as varchar )+'
and'+cast (@curpagelastrow as varcharEXEC(@sql )
declare@TableName as varchar(50 )--你要查询的表
declare @sql as varchar(3000 ) --拼接字符串,不要给它赋值
declare @CurPageFirstRowint--当前页的第一行,当你的程序要给此函数赋值时候,需要已经计算出的 公式如→(pageNo-1)*pageSize +1
declare@CurPageLastRow int --当前页的最后一页,同样要计算过的, 公式如→pageNo*pageSize
eclare@OrderByColumn varchar(20)
set @TableName= 'Merchandise'-- 赋值,你要分页的表
set@CurPageFirstRow = 1;
set@CurPageLastRow = 20;
set@OrderByColumn ='MerbarCode';
select @sql = isnull(@sql ,'with paging as ( selectreplace(''{''+ ')+'''"'+name+ '":"''+isnull(cast('+name+' as varchar),'''')+''",'''
from SYS.SYSCOLUMNS
WHERE ID = OBJECT_ID(@TableName )
set @sql = @sql+'' +','''''''','''') as sourceTable,ROW_NUMBER()OVER(ORDER BY '+@OrderByColumn+') as rn ,(select count(' +@OrderByColumn+') from '+@TableName+' ) as total from ' +@TableName+' ) selectsourceTable+''"rn":"''+ cast(rn asvarchar)+''","total":"''+cast( total asvarchar)+''"},''from paging wherern between ' +cast(@curpagefirstrow as varchar)+ ' and '+cast(@curpagelastrow as varchar )
EXEC(@sql)