惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园 - 聂微东
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
The GitHub Blog
The GitHub Blog
博客园_首页
博客园 - 叶小钗
腾讯CDC
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
D
Docker

博客园 - 偶然微笑

asp.net 登陆 asp.net获取URL和IP地址 ASP.NET获取IP与MAC地址的方法 ASP.NET获取IP的6种方法 - 偶然微笑 - 博客园 MS SQL Server 2005 通用分页存储过程 又快又简单的sql2005分页存储过程 C#区别和认识四个判等函数 C#中数字日期转中文日期 C#算法(一)选择排序 创建基于ASP.NET的SMTP邮件服务 url传递中文的解决方案总结 C#如何取硬件标志 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie 提取HTML代码中文字的C#函数 Asp.Net输出数据到EXCEL中 把文字变成图片的小程序 ASP.NET URL Rewrite. URL重写 asp.net采集函数(采集、分析、替换、入库) .net 无限级分类
SQL SERVER 2005分页存储过程
偶然微笑 · 2008-09-20 · via 博客园 - 偶然微笑

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
--
 Author:        Ristona
--
 Create date: 2007-5-28
--
 Description:    支持分页数据查询
--
 =============================================
CREATE PROCEDURE [dbo].[GetRecordFromPage] 
    
@SelectList            VARCHAR(2000),    --欲选择字段列表
    @TableSource        VARCHAR(100),    --表名或视图表 
    @SearchCondition    VARCHAR(2000),    --查询条件
    @OrderExpression    VARCHAR(1000),    --排序表达式
    @PageIndex            INT = 1,        --页号,从0开始
    @PageSize            INT = 10        --页尺寸
AS 
BEGIN
    
IF @SelectList IS NULL OR LTRIM(RTRIM(@SelectList)) = ''
    
BEGIN
        
SET @SelectList = '*'
    
END
    
PRINT @SelectList
    
    
SET @SearchCondition = ISNULL(@SearchCondition,'')
    
SET @SearchCondition = LTRIM(RTRIM(@SearchCondition))
    
IF @SearchCondition <> ''
    
BEGIN
        
IF UPPER(SUBSTRING(@SearchCondition,1,5)) <> 'WHERE'
        
BEGIN
            
SET @SearchCondition = 'WHERE ' + @SearchCondition
        
END
    
END
    
PRINT @SearchConditionSET @OrderExpression = ISNULL(@OrderExpression,'')
    
SET @OrderExpression = LTRIM(RTRIM(@OrderExpression))
    
IF @OrderExpression <> ''
    
BEGIN
        
IF UPPER(SUBSTRING(@OrderExpression,1,5)) <> 'WHERE'
        
BEGIN
            
SET @OrderExpression = 'ORDER BY ' + @OrderExpression
        
END
    
END
    
PRINT @OrderExpressionIF @PageIndex IS NULL OR @PageIndex < 1
    
BEGIN
        
SET @PageIndex = 1
    
END
    
PRINT @PageIndex
    
IF @PageSize IS NULL OR @PageSize < 1
    
BEGIN
        
SET @PageSize = 10
    
END
    
PRINT  @PageSizeDECLARE @SqlQuery VARCHAR(4000)SET @SqlQuery='SELECT '+@SelectList+',RowNumber 
    FROM 
        (SELECT 
' + @SelectList + ',ROW_NUMBER() OVER( '+ @OrderExpression +') AS RowNumber 
          FROM 
'+@TableSource+' '+ @SearchCondition +') AS RowNumberTableSource 
    WHERE RowNumber BETWEEN 
' + CAST(((@PageIndex - 1)* @PageSize+1AS VARCHAR
    
+ ' AND ' + 
    
CAST((@PageIndex * @PageSizeAS VARCHAR
--    ORDER BY ' + @OrderExpression
    PRINT @SqlQuery
    
SET NOCOUNT ON
    
EXECUTE(@SqlQuery)
    
SET NOCOUNT OFF
 
    
RETURN @@RowCount
END
GO