针对分页存储过程调用的C#类

 
  #region  本分页方法在数据量比较大时,对表的分页速度最快,但只适用于单条件排序。

    
///   <summary>
    
///  获取记录总数
    
///   </summary>
    
///   <param name="tblName"> 表或视图的名称 </param>
    
///   <param name="fldName"> 排序的字段名称 </param>
    
///   <param name="orderType"> 选取的字段名 </param>
    
///   <param name="orderType"> 升序或降序 </param>
    
///   <param name="Wherestr"> 查询条件 </param>
    
///   <param name="pager"> 分页控件 </param>
     public   static   void  GetPageRecords( string  tblName,  string  fldName,  string  fidNameInfo,  int  orderType,  string  Wherestr, AspNetPager pager)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsField " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @fldName " , fldName);
            comm.Parameters.Add(
" @fidNameInfo " , fidNameInfo);
            comm.Parameters.Add(
" @IsCount " 1 );
            comm.Parameters.Add(
" @OrderType " , orderType);
            comm.Parameters.Add(
" @strWhere " , Wherestr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            pager.RecordCount 
=  ( int )comm.ExecuteScalar();
            conn.Close();
            pager.CustomInfoText 
=   " 记录总数:<font color="blue"><b> "   +  pager.RecordCount.ToString()  +   " </b></font> " ;
            pager.CustomInfoText 
+=   "  总页数:<font color="blue"><b> "   +  pager.PageCount.ToString()  +   " </b></font> " ;
            pager.CustomInfoText 
+=   "  当前页:<font color="red"><b> "   +  pager.CurrentPageIndex.ToString()  +   " </b></font> " ;
        }

    }
    
///   <summary>
    
///  绑定数据列表
    
///   </summary>
    
///   <param name="tblName"> 表或视图的名称 </param>
    
///   <param name="fldName"> 排序的字段名称 </param>
    
///   <param name="orderType"> 选取的字段名 </param>
    
///   <param name="orderType"> 升序或降序 </param>
    
///   <param name="Wherestr"> 查询条件 </param>
    
///   <param name="pager"> 分页控件 </param>
    
///   <param name="dataList"> 数据显示控件 </param>
     public   static   void  GetPageRecords( string  tblName,  string  fldName,  string  fidNameInfo,  int  orderType,  string  Wherestr, AspNetPager pager, Repeater dataList)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsField " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @fldName " , fldName);
            comm.Parameters.Add(
" @fidNameInfo " , fidNameInfo);
            comm.Parameters.Add(
" @IsCount " 0 );
            comm.Parameters.Add(
" @OrderType " , orderType);
            comm.Parameters.Add(
" @strWhere " , Wherestr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            dataList.DataSource 
=  comm.ExecuteReader();
            dataList.DataBind();
            conn.Close();
        }
    }

    
public   static   void  GetPageRecords( string  tblName,  string  fldName,  string  fidNameInfo,  int  orderType,  string  Wherestr, AspNetPager pager, DataGrid  dataList)
    {
        
using (SqlConnection conn = new  SqlConnection(dbString))
        {
            SqlCommand comm
= new  SqlCommand( " GetPageRecordsField " , conn);
            comm.CommandType
= CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @fldName " , fldName);
            comm.Parameters.Add(
" @fidNameInfo " , fidNameInfo);
            comm.Parameters.Add(
" @IsCount " 0 );
            comm.Parameters.Add(
" @OrderType " , orderType);
            comm.Parameters.Add(
" @strWhere " , Wherestr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            dataList.DataSource
= comm.ExecuteReader();
            dataList.DataBind();
            conn.Close();
        }
    }



    
public   static   void  GetPageRecords( string  tblName,  string  fldName,  string  fidNameInfo,  int  orderType,  string  Wherestr, AspNetPager pager, BaseDataBoundControl dataList)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsField " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @fldName " , fldName);
            comm.Parameters.Add(
" @fidNameInfo " , fidNameInfo);
            comm.Parameters.Add(
" @IsCount " 0 );
            comm.Parameters.Add(
" @OrderType " , orderType);
            comm.Parameters.Add(
" @strWhere " , Wherestr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            dataList.DataSource 
=  comm.ExecuteReader();
            dataList.DataBind();
            conn.Close();

        }
    } 
    
#endregion

    
#region  本分页方法在数据量比较大时,对表的分页速度较快,适用多单条件排序。

    
///   <summary>
    
///  获取记录总数
    
///   </summary>
    
///   <param name="tblName"> 表或视图的名称 </param>
    
///   <param name="id"> 需要排序的不重复的ID号 </param>
    
///   <param name="Wherestr"> 查询条件 </param>
    
///   <param name="orderStr"> 排序条件 </param>
    
///   <param name="pager"> 分页控件 </param>

    
public   static   void  GetPageRecordsMoreOrder( string  tblName,  string  id,  string  whereStr,  string  orderStr, AspNetPager pager)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsByMoreOrder " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @IsCount " " 1 " );
            comm.Parameters.Add(
" @id " , id);
            comm.Parameters.Add(
" @strWhere " , whereStr);
            comm.Parameters.Add(
" @OrderType " , orderStr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            pager.RecordCount 
=  Convert .ToInt32(comm.ExecuteScalar());
            conn.Close();
            pager.CustomInfoText 
=   " 记录总数:<font color="blue"><b> "   +  pager.RecordCount.ToString()  +   " </b></font> " ;
            pager.CustomInfoText 
+=   "  总页数:<font color="blue"><b> "   +  pager.PageCount.ToString()  +   " </b></font> " ;
            pager.CustomInfoText 
+=   "  当前页:<font color="red"><b> "   +  pager.CurrentPageIndex.ToString()  +   " </b></font> " ;
        }

    } 
    
///   <summary>
    
///  绑定数据列表
    
///   </summary>
    
///   <param name="tblName"> 表或视图的名称 </param>
    
///   <param name="id"> 需要排序的不重复的ID号 </param>
    
///   <param name="Wherestr"> 查询条件 </param>
    
///   <param name="orderStr"> 排序条件 </param>
    
///   <param name="pager"> 分页控件 </param>
    
///   <param name="dataList"> 列表控件 </param>
     public   static   void  GetPageRecordsMoreOrder( string  tblName,  string  id,  string  whereStr,  string  orderStr, AspNetPager pager, BaseDataBoundControl dataList)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsByMoreOrder " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @IsCount " " 0 " );
            comm.Parameters.Add(
" @id " , id);
            comm.Parameters.Add(
" @strWhere " , whereStr);
            comm.Parameters.Add(
" @OrderType " , orderStr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            dataList.DataSource 
=  comm.ExecuteReader();
            dataList.DataBind();
            conn.Close();
        }
    }

    
public   static   void  GetPageRecordsMoreOrder( string  tblName,  string  id,  string  whereStr,  string  orderStr, AspNetPager pager, Repeater dataList)
    {
        
using  (SqlConnection conn  =   new  SqlConnection(dbString))
        {
            SqlCommand comm 
=   new  SqlCommand( " GetPageRecordsByMoreOrder " , conn);
            comm.CommandType 
=  CommandType.StoredProcedure;
            comm.Parameters.Add(
" @tblName " , tblName);
            comm.Parameters.Add(
" @IsCount " " 0 " );
            comm.Parameters.Add(
" @id " , id);
            comm.Parameters.Add(
" @strWhere " , whereStr);
            comm.Parameters.Add(
" @OrderType " , orderStr);
            comm.Parameters.Add(
" @PageIndex " , pager.CurrentPageIndex);
            comm.Parameters.Add(
" @PageSize " , pager.PageSize);

            conn.Open();
            dataList.DataSource 
=  comm.ExecuteReader();
            dataList.DataBind();
            conn.Close();
        }
    }

    
#endregion
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值