科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[冷枫]通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

[冷枫]通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

作者:冷枫 来源:CSDN 2007年9月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

7.测试存储过程

create PROCEDURE tp_Fetch_List(  
  
@page_num                INT,
  
@row_in_page             INT,
  
@order_column            VARCHAR(50),
  
@row_total               INT  OUTPUT,
  
@comb_condition          VARCHAR(500)
)
AS
BEGIN
    
SET NOCOUNT ON

    
DECLARE 
      
@jcc_status             INT,
      
@sql                  NVARCHAR(4000),
      
@row_ahead        INT
     
  
SET @jcc_status = 0

  
SET @row_ahead = (@page_num-1* @row_in_page


SET @sql='SELECT TOP '+ cast(@row_in_page as varchar(255)) +  ' * FROM ( '
SET @sql = @sql + 'SELECT   *

FROM TestGrid 
 ) as A where 1=1
'

IF LEN(@comb_condition)>0
        
SET @sql = @sql + ' AND (' + @comb_condition  + ')'    

SET @sql = @sql + 'and UserID not in ( select UserID from ('
SET @sql = @sql + 'SELECT TOP ' + cast(@row_ahead as varchar(255)) + ' * From ('
SET @sql = @sql + 'SELECT   *

FROM TestGrid 
 ) as A where 1=1
'
    
IF LEN(@comb_condition)>0
        
SET @sql = @sql + ' AND ( ' + @comb_condition  + ' )'    

    
IF LEN(@order_column)>0
        
BEGIN
            
SET @sql = @sql + ' ORDER BY ' + @order_column    + ' ) AS B )'
        
END
    
ELSE
        
BEGIN
            
SET @sql = @sql + ' ) AS B )'
        
END

    
IF LEN(@order_column)>0
        
BEGIN
            
SET @sql = @sql + ' ORDER BY ' + @order_column     
        
END

 
print @sql

    
EXEC (@sql)

    
SET @sql= N'SELECT @row_total=COUNT(*) FROM ('
SET @sql = @sql + 'SELECT  *

FROM TestGrid 
 ) as A where 1=1
'
IF LEN(@comb_condition)>0
        
SET @sql = @sql + ' AND (' + @comb_condition  + ')'    

print @sql

    
EXEC sp_executesql @sql,N'@row_total INT OUT',@row_total OUT

    
IF @@ERROR != 0
    
BEGIN
        
SELECT @jcc_status = -98
    
END


exit_bk:

-- exit with MS SQL Server error
  IF @jcc_status = -98
    
BEGIN
      
RAISERROR ('MS SQL Server error, please contact your system administrator.',16,1)WITH NOWAIT
      
RETURN (@jcc_status)
    
END

-- normal exit 
  RETURN (0)
END

GO

-- declare @aa int 
--
 exec tp_Fetch_List 1,10,'',@aa out ,'1=1'
--
 select @aa


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1649459

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章