存储过程代码如下:
针对sql 2005优化的高性能分页存储过程ALTER PROCEDURE [dbo].[Pg_Paging]
针对sql 2005优化的高性能分页存储过程
@Tables varchar(1000), --表名,多红表是请使用 tA a inner join tB b On a.AID = b.AID
针对sql 2005优化的高性能分页存储过程
@PK varchar(100),    --主键,可以带表头 a.AID
针对sql 2005优化的高性能分页存储过程
@Sort varchar(200= ''--排序字段
针对sql 2005优化的高性能分页存储过程
@PageNumber int = 1,    --开始页码
针对sql 2005优化的高性能分页存储过程
@PageSize int = 10,        --页大小
针对sql 2005优化的高性能分页存储过程
@Fields varchar(1000= '*',--读取字段
针对sql 2005优化的高性能分页存储过程
@Filter varchar(1000= NULL,--Where条件
针对sql 2005优化的高性能分页存储过程
@Group varchar(1000= NULL,  --分组
针对sql 2005优化的高性能分页存储过程
@isCount bit = 0     --1    --是否获得总记录数
针对sql 2005优化的高性能分页存储过程
AS
针对sql 2005优化的高性能分页存储过程
--
针对sql 2005优化的高性能分页存储过程--
select * from GL_NEWS order by GN_UPDATE_DATE DESC
针对sql 2005优化的高性能分页存储过程--
exec Pg_Paging @Tables = 'tb_NewsInfo', @PK = 'News_ID', @Sort = 'News_ID DESC', @PageNumber = 2, @PageSize = 15,@Fields = '*', @Group = '', @isCount = 0
针对sql 2005优化的高性能分页存储过程
DECLARE @strFilter varchar(2000)
针对sql 2005优化的高性能分页存储过程
declare @sql varchar(8000)
针对sql 2005优化的高性能分页存储过程
IF @Filter IS NOT NULL AND @Filter != ''
针对sql 2005优化的高性能分页存储过程  
BEGIN
针对sql 2005优化的高性能分页存储过程   
SET @strFilter = ' WHERE ' + @Filter + ' '
针对sql 2005优化的高性能分页存储过程  
END
针对sql 2005优化的高性能分页存储过程
ELSE
针对sql 2005优化的高性能分页存储过程  
BEGIN
针对sql 2005优化的高性能分页存储过程   
SET @strFilter = ''
针对sql 2005优化的高性能分页存储过程  
END
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程
if @isCount = 1 --只获得记录条数
针对sql 2005优化的高性能分页存储过程
    begin
针对sql 2005优化的高性能分页存储过程        
set @sql = 'SELECT  Count(*) FROM ' + @Tables + @strFilter  
针对sql 2005优化的高性能分页存储过程    
end
针对sql 2005优化的高性能分页存储过程
else
针对sql 2005优化的高性能分页存储过程
begin
针对sql 2005优化的高性能分页存储过程
if @Sort = ''
针对sql 2005优化的高性能分页存储过程  
set @Sort = @PK + ' DESC '
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程
IF @PageNumber < 1
针对sql 2005优化的高性能分页存储过程  
SET @PageNumber = 1
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程
if @PageNumber = 1 --第一页提高性能
针对sql 2005优化的高性能分页存储过程
begin 
针对sql 2005优化的高性能分页存储过程  
set @sql = 'select top ' + str(@PageSize+' '+@Fields+ '  from ' + @Tables + ' ' + @strFilter + ' ORDER BY  '+ @Sort
针对sql 2005优化的高性能分页存储过程
end 
针对sql 2005优化的高性能分页存储过程
else
针对sql 2005优化的高性能分页存储过程  
begin
)

可以通过封装一个静态函数来执行:(EnterpriseLibrary3。1)

针对sql 2005优化的高性能分页存储过程using System;
针对sql 2005优化的高性能分页存储过程using System.Data;
针对sql 2005优化的高性能分页存储过程using System.Data.Common;
针对sql 2005优化的高性能分页存储过程using System.Globalization;
针对sql 2005优化的高性能分页存储过程using System.Xml;
针对sql 2005优化的高性能分页存储过程using Microsoft.Practices.EnterpriseLibrary.Data;
针对sql 2005优化的高性能分页存储过程using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
针对sql 2005优化的高性能分页存储过程namespace Glenet.EjiaShop.SqlData
针对sql 2005优化的高性能分页存储过程{
针对sql 2005优化的高性能分页存储过程    
/// <summary>
针对sql 2005优化的高性能分页存储过程    
///  Pageing
针对sql 2005优化的高性能分页存储过程    
/// </summary>
针对sql 2005优化的高性能分页存储过程    
public class Pageing
针对sql 2005优化的高性能分页存储过程    {
针对sql 2005优化的高性能分页存储过程        
public Pageing()
针对sql 2005优化的高性能分页存储过程        {
针对sql 2005优化的高性能分页存储过程            
//
针对sql 2005优化的高性能分页存储过程            
// TODO: 在此处添加构造函数逻辑
针对sql 2005优化的高性能分页存储过程            
//
针对sql 2005优化的高性能分页存储过程        }
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程        #region Pg_Paging
针对sql 2005优化的高性能分页存储过程        
/// <summary>
针对sql 2005优化的高性能分页存储过程        
/// Pg_Paging
针对sql 2005优化的高性能分页存储过程        
/// </summary>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Tables"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="PK"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Filter"></param>
针对sql 2005优化的高性能分页存储过程        
/// <returns></returns>
针对sql 2005优化的高性能分页存储过程        
public static int Pg_PageCount(string Tables,string PK,string Filter)
针对sql 2005优化的高性能分页存储过程        {
针对sql 2005优化的高性能分页存储过程            
//创建数据库实例
针对sql 2005优化的高性能分页存储过程            
Database db = DatabaseFactory.CreateDatabase();
针对sql 2005优化的高性能分页存储过程            
//获得命令
针对sql 2005优化的高性能分页存储过程            string sqlCommand 
= "Pg_Paging";
针对sql 2005优化的高性能分页存储过程            DbCommand dbCommand 
= db.GetStoredProcCommand(sqlCommand);
针对sql 2005优化的高性能分页存储过程            
//设置参数
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Tables", DbType.String, Tables);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PK", DbType.String, PK);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Sort", DbType.String, "");
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PageNumber", DbType.
Double0);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PageSize", DbType.
Double0);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Fields", DbType.String, "
*");
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Filter", DbType.String, Filter);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "
Group", DbType.String, "");
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "isCount", DbType.Boolean, 
1);
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程            
//执行
针对sql 2005优化的高性能分页存储过程            
return int.Parse(db.ExecuteScalar(dbCommand).ToString());    
针对sql 2005优化的高性能分页存储过程            
//取得输出参数
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程        }
针对sql 2005优化的高性能分页存储过程        #endregion
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程        #region Pg_Paging
针对sql 2005优化的高性能分页存储过程        
/// <summary>
针对sql 2005优化的高性能分页存储过程        
/// Pg_Paging
针对sql 2005优化的高性能分页存储过程        
/// </summary>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Tables"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="PK"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Sort"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="PageNumber"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="PageSize"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Fields"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Filter"></param>
针对sql 2005优化的高性能分页存储过程        
/// <param name="Group"></param>
针对sql 2005优化的高性能分页存储过程        
/// <returns></returns>
针对sql 2005优化的高性能分页存储过程        
public static DataSet Pg_Paging(string Tables,string PK,string Sort,int PageNumber,int PageSize,string Fields,string Filter,string Group)
针对sql 2005优化的高性能分页存储过程        {
针对sql 2005优化的高性能分页存储过程            
//创建数据库实例
针对sql 2005优化的高性能分页存储过程            
Database db = DatabaseFactory.CreateDatabase();
针对sql 2005优化的高性能分页存储过程            
//获得命令
针对sql 2005优化的高性能分页存储过程            string sqlCommand 
= "Pg_Paging";
针对sql 2005优化的高性能分页存储过程            DbCommand dbCommand 
= db.GetStoredProcCommand(sqlCommand);
针对sql 2005优化的高性能分页存储过程            
//设置参数            
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Tables", DbType.String, Tables);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PK", DbType.String, PK);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Sort", DbType.String, Sort);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PageNumber", DbType.
Double, PageNumber);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "PageSize", DbType.
Double, PageSize);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Fields", DbType.String, Fields);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "Filter", DbType.String, Filter);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "
Group", DbType.String, Group);
针对sql 2005优化的高性能分页存储过程            db.AddInParameter(dbCommand, "isCount", DbType.Boolean, 
0);
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程            
//执行
针对sql 2005优化的高性能分页存储过程            
return db.ExecuteDataSet(dbCommand);    
针对sql 2005优化的高性能分页存储过程        }
针对sql 2005优化的高性能分页存储过程        #endregion
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程    }
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程}
针对sql 2005优化的高性能分页存储过程
前台:调用如下:
针对sql 2005优化的高性能分页存储过程string filter = "  1 = 1 ";
针对sql 2005优化的高性能分页存储过程
针对sql 2005优化的高性能分页存储过程        AspNetPager1.RecordCount 
= Glenet.EjiaShop.SqlData.Pageing.Pg_PageCount("tb_NewsInfo""News_ID", filter);
针对sql 2005优化的高性能分页存储过程        
using (DataSet ds = Glenet.EjiaShop.SqlData.Pageing.Pg_Paging("tb_NewsInfo""News_ID""News_AddTime DESC", AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, "*", filter, ""))
        }
相当方便。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2021-10-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-06
  • 2021-10-27
  • 2021-12-02
  • 2021-05-17
  • 2022-02-12
相关资源
相似解决方案