分页的几种写法
第一种、从 DataSet 里筛选分页行的数据
privateDataSet Pageing(DataTable dt, intpageIndex, intpageSize,
outinttotalCount)
{
DataSet reDs = newDataSet();
DataTable reDt = dt.Clone();
DataRow totalRow = reDt.NewRow();
totalCount = dt.Rows.Count;
if(pageIndex > -1)
{
intstart = pageSize * pageIndex;
intsum = pageSize;
//页码超出数据范围,输出第一页数据
if(totalCount < start) start = 0;
if(totalCount < sum + start)
{
sum = totalCount - start;
}
for(inti = start; i < start + sum; i++)
{
reDt.ImportRow(dt.Rows[i]);
}
}
reDs.Tables.Add(reDt);
reDs.RemotingFormat = SerializationFormat.Binary;
returnreDs;
}
第二种、直接 SQL 语句 ROW_NUMGER() OVER(ORDER BY T.ID DESC)
select * from
(
select ROW_NUMBER() over(order by t.id desc ) as Row,t.*
评论0