您的位置:首页 > 数据库

[转]SQL存储过程分页完美版

2010-03-11 16:09 465 查看
代码

**//// <summary>
/// 绑定数据
/// </summary>
protected void cfBindData(string sqlwhere)
{

//分页开始
SqlParameter[] myParms = new SqlParameter[10];

myParms[0] = new SqlParameter("@Tables", SqlDbType.VarChar, 50);
myParms[0].Value = "cf_Product";

myParms[1] = new SqlParameter("@PrimaryKey", SqlDbType.VarChar, 50);
myParms[1].Value = "cf_id";

myParms[2] = new SqlParameter("@Sort", SqlDbType.VarChar, 50);
myParms[2].Value = "cf_id desc";

myParms[3] = new SqlParameter("@CurrentPage", SqlDbType.Int, 4);
myParms[3].Value = Convert.ToInt16(pageIndex);

myParms[4] = new SqlParameter("@pageSize", SqlDbType.Int, 4);
myParms[4].Value = pageSize;

myParms[5] = new SqlParameter("@Fields", SqlDbType.VarChar, 500);
myParms[5].Value = "* ";

myParms[6] = new SqlParameter("@Filter", SqlDbType.VarChar, 500);
myParms[6].Value = sqlwhere;

myParms[7] = new SqlParameter("@Group", SqlDbType.VarChar, 50);
myParms[7].Value = "";

myParms[8] = new SqlParameter("@totalPage", SqlDbType.Int, 4);
myParms[8].Direction = ParameterDirection.Output;

myParms[9] = new SqlParameter("@totalRecord", SqlDbType.Int, 4);
myParms[9].Direction = ParameterDirection.ReturnValue;

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ToString());
conn.Open();
SqlCommand sc = new SqlCommand("up_page", conn);
sc.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in myParms)
{
sc.Parameters.Add(parameter);
}
sc.ExecuteNonQuery();

totalPage = Convert.ToInt16(myParms[8].Value);
totalRecord = Convert.ToInt16(myParms[9].Value);

SqlDataReader sdr = sc.ExecuteReader();
GV1.DataSourceID = null;
GV1.DataSource = sdr;
GV1.DataBind();

sc.Dispose();
conn.Close();
conn.Dispose();
//分页结束
}

lblPage.Text = tl.ShowPage(totalRecord, totalPage, 11, pageSize, Convert.ToInt16(pageIndex), "none", "个", "highlight", true);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: