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条数据

本回答被提问者采纳
参考技术B 做个视图 就解决问题了。追问

但是这几个表之间没有关联呀 只是结构一样

MyBatis Plus 实现多表分页查询

MyBatis Plus 实现多表分页查询

以上是关于asp.net如何实现多表查询然后对其进行分页的主要内容,如果未能解决你的问题,请参考以下文章

JPA分页查询与条件分页查询

MyBatis Plus 实现多表分页查询

MyBatis Plus 实现多表分页查询

.net通用CMS快速开发框架——问题:Dapper通用的多表联合分页查询怎么破?

SqlServer 多表查询分页

phpcms v9后台多表查询分页代码