create proc pageRepeat
@tblname varchar(255),
@fldname varchar(255),
@pageSize int,
@pgIndex int
as
declare @strSQL nvarchar(4000),
@totalCounts int,
@pageCounts intset @strSQL ='select @totalCounts=count(*) from '+@tblnameexec sp_executesql @strSQL,'@totalCounts int',@totalCounts outset @pageCounts=(@totalCounts/@pageSize)if @pgIndex = 1set @strSQL='select top'+cast(@pageSize as varchar)+'* from'+@tblname+' order by '+@fldname+' desc'elseset @strSQL='select top '+cast(@pageSize as varchar)+'* from '+@tblname+' where '+@fldname
+' >(select '+cast(@pageSize*(@pageCounts-@pgIndex) as varchar)+@fldname+' from '+@tblname
+' order by '+@fldname+' desc) order by '+@fldname+' asc 'exec sp_executesql @strSQL
服务器: 消息 214,级别 16,状态 3,过程 sp_executesql,行 17
过程需要参数 '@parameters' 为 'ntext/nchar/nvarchar' 类型。谢谢.
@tblname varchar(255),
@fldname varchar(255),
@pageSize int,
@pgIndex int
as
declare @strSQL nvarchar(4000),
@totalCounts int,
@pageCounts intset @strSQL ='select @totalCounts=count(*) from '+@tblnameexec sp_executesql @strSQL,'@totalCounts int',@totalCounts outset @pageCounts=(@totalCounts/@pageSize)if @pgIndex = 1set @strSQL='select top'+cast(@pageSize as varchar)+'* from'+@tblname+' order by '+@fldname+' desc'elseset @strSQL='select top '+cast(@pageSize as varchar)+'* from '+@tblname+' where '+@fldname
+' >(select '+cast(@pageSize*(@pageCounts-@pgIndex) as varchar)+@fldname+' from '+@tblname
+' order by '+@fldname+' desc) order by '+@fldname+' asc 'exec sp_executesql @strSQL
服务器: 消息 214,级别 16,状态 3,过程 sp_executesql,行 17
过程需要参数 '@parameters' 为 'ntext/nchar/nvarchar' 类型。谢谢.
再执行
exec sp_executesql @strSQL