sql server2005 通用存储过程分页
发现一个比较好滴存储 与大家分享一下~~
create PROCEDURE [dbo].[Pg_Paging]
@Tables varchar(1000), --表名,多红表是请使用 tA a inner join tB b On a.AID = b.AID
@PK varchar(100),
@Sort varchar(200) = '', --排序字段
@PageNumber int = 1,
@PageSize int = 10,
@Fields varchar(1000) = '*',--读取字段
@Filter varchar(1000) = NULL,--Where条件
@Group varchar(1000) = NULL,
@isCount bit = 0
AS
--
--select * from GL_NEWS order by GN_UPDATE_DATE DESC
--exec Pg_Paging @Tables = 'tb_NewsInfo', @PK = 'News_ID', @Sort = 'News_ID DESC', @PageNumber = 2, @PageSize = 15,@Fields = '*', @Group = '', @isCount = 0
DECLARE @strFilter varchar(2000)
declare @sql varchar(8000)
IF @Filter IS NOT NULL AND @Filter != ''
ELSE
if @isCount = 1 --只获得记录条数
else
begin
if @Sort = ''
IF @PageNumber < 1
if @PageNumber = 1 --第一页提高性能
begin
end
else
DECLARE @END_ID varchar(50)
SET @START_ID = convert(varchar(50),(@PageNumber - 1) * @PageSize + 1)
SET @END_ID = convert(varchar(50),@PageNumber * @PageSize)
END
--print @sql
EXEC(@sql)
c# 调用存储过程
con.ConnectionString = ConfigurationManager.ConnectionStrings["bbsConnectionString"].ToString();
浙公网安备 33010602011771号