• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

数据分页c#

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

存储过程分页的全套代码
aspx页面的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace AspDotNet07_AjaxCRUD.View
{
public partial class WebForm1 : System.Web.UI.Page
{
public static int pageIndex=1;
public static int pageSize=10;
public static int pageCount;
public static int pageRowcount;
public static int tag = 0;
protected void Page_Load(object sender, EventArgs e)
{
tag++;
if (tag == 1)
{

//InitPage();

}



}
public void InitPage()
{
DataTable dt = new DataTable();
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=db_EMS;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("kk", con);
//设置 命令类型 为存储过程
da.SelectCommand.CommandType = CommandType.StoredProcedure;
//设置 参数
da.SelectCommand.Parameters.AddWithValue("@pageIndex", pageIndex);//当前页码
da.SelectCommand.Parameters.AddWithValue("@pageSize", pageSize);//页容量

da.SelectCommand.Parameters.Add(new SqlParameter("@pageRowCount", SqlDbType.Int));//总行数
//在存储过程中 输出参数
da.SelectCommand.Parameters.Add(new SqlParameter("@pageCount", SqlDbType.Int));//总页数

//将后面两个参数 设置为 输出类型
da.SelectCommand.Parameters[2].Direction = ParameterDirection.Output;
da.SelectCommand.Parameters[3].Direction = ParameterDirection.Output;

//执行 并将查询到的 结果 赋给 数据表对象
da.Fill(dt);
//获得 存储过程 返回的 输出参数
pageCount = Convert.ToInt32(da.SelectCommand.Parameters[3].Value);
pageRowcount = Convert.ToInt32(da.SelectCommand.Parameters[2].Value);

GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();

}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
string s="aawwaafffffkkkkkb";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(s);
cf(sb);
pageIndex++;
if (pageIndex > pageCount)
{
pageIndex--;
Response.Write("<script>alert('redy last page')</script>");
return;
}
InitPage();

}

private void cf(System.Text.StringBuilder sb)
{
Console.WriteLine(sb[0]);
}

protected void Button2_Click(object sender, EventArgs e)
{
pageIndex--;
if (pageIndex <1)
{
pageIndex++;
Response.Write("<script>alert('redy first page')</script>");
return;
}
InitPage();

}

protected void Button3_Click(object sender, EventArgs e)
{
Response.Redirect("WebForm2.aspx?id=33");


}
}
}
存储过程的代码
create proc imd
@pageIndex int,
@pageSize int,
@pageRowCount int output,
@pageCount int output
as
begin
select @pageRowCount=COUNT(id)*1.0 from dbo.t
select @pageCount=CEILING(@pageRowCount*1.0/@pageSize)
select * from
(
select *,ROW_NUMBER() over(order by id) as rownum from dbo.t

)as temp where temp.rownum between (@pageIndex-1)*@pageSize+1 and @pageIndex*@pageSize
end;
declare @cr int
declare @pr int
exec imd 2,10,@cr output,@pr output


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#实现一个弹窗监控小程序发布时间:2022-07-14
下一篇:
c#返回值的理解发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap