05的分页存储过程改成2000的,我老改不对,希望指点
CREATE proc [dbo].[UP_GetRecordByPage]
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 排序字段(支持多字段,建议建索引) 比如 id asc ,addtime desc
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
--@IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回
@TotalPages int output ,--输出参数,返回总页数
--@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1000) = '', -- 查询条件 (注意: 不要加 where)
@DataCount int output
AS
BEGIN
declare @strSql nvarchar(4000)
declare @rowsCount int
if Ltrim(Rtrim(@strWhere))=''
SET @strWhere=' 1=1 '
--obtain RowsCount
SET @strSql='select @TotalRecords=COUNT(*) from '+@tblName+' where '+@strWhere
execute SP_executesql @strSql,N'@TotalRecords int output ',@rowsCount output
select @DataCount=@rowsCount
select @TotalPages=CEILING((@rowsCount+0.0)/@PageSize)
if @PageIndex<=0
SET @PageIndex=1
if @PageIndex > @TotalPages
SET @PageIndex=@TotalPages
SET @strSql='select * from (select top (@PageIndex*@PageSize) * ,ROW_NUMBER() OVER(order by '+@fldName+') as rowNumber from '+@tblName+' where '+@strWhere+' ) t where t.rowNumber>=((@PageIndex-1)*@PageSize+1)'
print @strSql
exec sp_executesql @strSql,N'@PageIndex int, @PageSize int',@PageIndex,@PageSize
END
GO
保持传入和传出参数不变啊,因为我不想去改程序代码了, 执行存储过程的就这样,解决的给满分
...全文
相关推荐
Jquery 模拟JGrid实现分页列表显示----2016-05-27
这可能是因为某些场景下,开发者可能希望避免引入额外的库,或者需要对功能进行高度定制。首先,要实现分页,我们需要理解分页的基本原理。分页是将大量数据分成多个小部分(页)来显示,每一页显示一定数量的记录。
MySql存储过程之逻辑判断和条件控制
DECLARE taxRate DECIMAL(4,2); SET taxedPrice = 0; SET taxRate = CASE proType WHEN 'Dessert' THEN 0.05
SQL Server 2000图解教程2
《SQL Server 2000图解教程2》是一份专为初学者设计的数据库管理系统学习资料,尤其适合那些希望通过视觉辅助快速理解SQL Server 2000操作和概念的人。
WebDriver-378.05.05.05f01.pkg
WebDriver-378.05.05.05f01.pkg,做黑苹果用的,希望有用。
重新找回更新的数据表或删除的存储过程方法
TIMESTAMP TO_TIMESTAMP('2012-10-16 11:35:40', 'yyyy-mm-dd hh24:mi:ss');```这里的“2012-10-16 11:35:40”是你希望恢复数据表到的时间点


疑难问题
