您的位置:首页 > 编程语言 > C#

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

2007-12-22 14:35 465 查看
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: