asp.net如何实现多表查询然后对其进行分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net如何实现多表查询然后对其进行分页相关的知识,希望对你有一定的参考价值。
参考技术A 你要懂得多表联查,那我就教你分页拉:第一 要用到分页控件aspnetPage 示例如下
第二 在数据访问层添加以下两个方法
//查询总记录数
public static int GetGoodsCount()
string sql = "select count(*) from goods ";
return Convert.ToInt32(DBHelp.ExceateScalar(sql,null));
//查询信息
public static List<Goods> GetAllGoods(int startRecordIndex,int pageSize)
//row_number()over(order by goodsid)为行号(新的函数)
string sql = "select * from (
select *,row_number()over(order by goodsid) as num from goods) as a
where num between @startIndex and @startIndex+@pageSize-1 ";
SqlParameter[] paras=new SqlParameter[]
new SqlParameter("@startIndex",startRecordIndex),
new SqlParameter("@pageSize",pageSize)
;
return ExeceateSelecta(sql,paras);
第三步在页面后台调用,
注意首先要为aspnetPage的属性pageSize给值,也就是说每页要显示信息数量
protected void Page_Load(object sender, EventArgs e)
if (!this.IsPostBack)
AspNetPager1.RecordCount = GoodsManager.GetGoodsCount();
//分页控件的事件
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
//信息开始的索引StartRecordIndex 信息数量PageSize
List<Goods> list = GoodsManager.GetAllGoods(this.AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
this.DataList1.DataSource = list;
this.DataList1.DataBind();
追问
那怎么多表联查呢
追答多表查询很多的方式,这里给出最简单的
select a.*,b.* from a,b
那怎么多表查询后在分页呢 他们是一体的??
追答分页和多表联查 兄弟你不要想要一块,它俩没有任何的关系滴的。
原理是这样的:联查是一种查询的方式,而分页是要取得第n到n+n条数据
但是这几个表之间没有关联呀 只是结构一样
MyBatis Plus 实现多表分页查询
以上是关于asp.net如何实现多表查询然后对其进行分页的主要内容,如果未能解决你的问题,请参考以下文章