这个是存储过程:
create proc ProcShowUserInfoPageIng
(
@pageindex int, -- 当前页
@pagesize int, --页索引大小
--@WhereEx varchar(50), 查询条件
@TotalCount int output, --总记录数
@pageCount int output --可分为N页
)
as
begin
declare @TempVar intselect top(@pagesize)* from
(
select row_number() over(order by businessid desc) as id,* from businesstb) as Info
where businessid >@pagesize*(@pageindex-1)select @TotalCount=count(businessid) from businesstb
--临时使用
set @TempVar=@TotalCount%@pagesize
if(@TempVar>0)
begin
set @PageCount=@TotalCount/@pagesize+1;
end
else
begin
set @pageCount=@TotalCount/@pagesize;
end
end这个是绑定代码:
SQLHelper sqlp = new SQLHelper();
SqlConnection conn =sqlp.GetConnection();
SqlCommand cmd = new SqlCommand("ProcShowUserInfoPageIng", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] par = new SqlParameter[4];
par[0] = new SqlParameter("@pageindex", AspNetPager1.CurrentPageIndex);
par[1] = new SqlParameter("@pagesize", AspNetPager1.PageSize);
par[2] = new SqlParameter("@TotalCount", SqlDbType.Int);
//制定为输出类型
par[2].Direction = ParameterDirection.Output; par[3] = new SqlParameter("@pageCount", SqlDbType.Int);
par[3].Direction = ParameterDirection.Output; foreach (SqlParameter pa in par)
{
cmd.Parameters.Add(pa);
}
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
sda.Fill(ds);
}
catch(Exception e)
{
Response.Write("<script>alert('"+e.Message.ToString()+"')</script>");
}
finally
{
sda.Dispose();
conn.Close();
}
AspNetPager1.RecordCount =Int32.Parse(par[2].Value.ToString());
AspNetPager1.CustomInfoHTML = "共有:" + par[2].Value.ToString() + "条记录 ";
AspNetPager1.CustomInfoHTML += "当前第:" + AspNetPager1.CurrentPageIndex + "页";
AspNetPager1.CustomInfoHTML += " 可分为:" + par[3].Value.ToString() + "页";
this.GridView1.DataSource = ds.Tables[0].DefaultView;
this.GridView1.DataBind();
AspNetPager1_PageChanged直接调用的是上面的这个方法。分页的时候,GridView1内容不变呢,无语了
create proc ProcShowUserInfoPageIng
(
@pageindex int, -- 当前页
@pagesize int, --页索引大小
--@WhereEx varchar(50), 查询条件
@TotalCount int output, --总记录数
@pageCount int output --可分为N页
)
as
begin
declare @TempVar intselect top(@pagesize)* from
(
select row_number() over(order by businessid desc) as id,* from businesstb) as Info
where businessid >@pagesize*(@pageindex-1)select @TotalCount=count(businessid) from businesstb
--临时使用
set @TempVar=@TotalCount%@pagesize
if(@TempVar>0)
begin
set @PageCount=@TotalCount/@pagesize+1;
end
else
begin
set @pageCount=@TotalCount/@pagesize;
end
end这个是绑定代码:
SQLHelper sqlp = new SQLHelper();
SqlConnection conn =sqlp.GetConnection();
SqlCommand cmd = new SqlCommand("ProcShowUserInfoPageIng", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] par = new SqlParameter[4];
par[0] = new SqlParameter("@pageindex", AspNetPager1.CurrentPageIndex);
par[1] = new SqlParameter("@pagesize", AspNetPager1.PageSize);
par[2] = new SqlParameter("@TotalCount", SqlDbType.Int);
//制定为输出类型
par[2].Direction = ParameterDirection.Output; par[3] = new SqlParameter("@pageCount", SqlDbType.Int);
par[3].Direction = ParameterDirection.Output; foreach (SqlParameter pa in par)
{
cmd.Parameters.Add(pa);
}
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
sda.Fill(ds);
}
catch(Exception e)
{
Response.Write("<script>alert('"+e.Message.ToString()+"')</script>");
}
finally
{
sda.Dispose();
conn.Close();
}
AspNetPager1.RecordCount =Int32.Parse(par[2].Value.ToString());
AspNetPager1.CustomInfoHTML = "共有:" + par[2].Value.ToString() + "条记录 ";
AspNetPager1.CustomInfoHTML += "当前第:" + AspNetPager1.CurrentPageIndex + "页";
AspNetPager1.CustomInfoHTML += " 可分为:" + par[3].Value.ToString() + "页";
this.GridView1.DataSource = ds.Tables[0].DefaultView;
this.GridView1.DataBind();
AspNetPager1_PageChanged直接调用的是上面的这个方法。分页的时候,GridView1内容不变呢,无语了
PrevPageText="上页" ShowCustomInfoSection="Left" ShowNavigationToolTip="True"
SubmitButtonText="go转到" Width="360px" PageSize="15">
</webdiyer:AspNetPager>
void AspNetPager1_PageChanged(sender,e)
{
par[0] = new SqlParameter("@pageindex", e.NewPageIndex);
}
论坛签名======================================================================woaibmw:你好!
截至 2011-03-20 20:22:32 前:
你已发帖 5 个, 未结贴 0 个;
结贴率为: 100.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx