问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样实现sql数据库中表的分页功能,用存储过程。asp.net 谢谢回答!

发布网友 发布时间:2022-05-02 05:15

我来回答

2个回答

懂视网 时间:2022-05-02 09:36

因为要写的是简单SQL语句实现分页所以SQL自然就不会很难啦!

1.IN NOT IN写法 效率低

 

--IN 和 NOT IN,效率较低
--这条语句的意思是查询五条数据不在前十条里的数据
SELECT TOP 5 * FROM TableName WHERE ID NOT IN(SELECT TOP 10 ID FROM TableName )

 

2.通过升序和降序排列

--通过排序进行分页
--首先查询十五条数据中的前五条 获取11到15的数据,因为是倒序,所以最后进行升序排列
SELECT * FROM(
 SELECT TOP 5 * FROM(
 SELECT TOP 15 * FROM TableName ORDER BY ID ASC) 
  AS TEMP1 ORDER BY ID DESC)
 AS TEMP2 ORDER BY ID ASC

3.使用SQL Server Row Num()函数

--首先Row_Number()函数要和 over 配套使用
--首先通过Row_Number()函数查询前十条数据 然后全部并且大于0条的数据
--简单来讲top10 相当于一页显示多少条数据 而0相当于当前页数
select * from (select top 10 ROW_NUMBER() over(order by id) as temp,* from sqlpagetest )as temp where xxx>0

实现分页

Dbhelper

 public DataTable PageBysql(int pageSize, int pageIndex)
 {
  string sql = string.Format("select * from (select top {0} ROW_NUMBER() over(order by id) as xxx,* from sqlpagetest )as temp where xxx>{1}", pageSize, pageIndex);
  DataTable tb = new DataTable();
  SqlDataAdapter dp = new SqlDataAdapter(sql, conn);
  dp.Fill(tb);
  return tb;
 }

前台代码

 <form id="form1" runat="server">
 <div>
  <table>
  <tr>
   <td>ID</td>
   <td>姓名</td>
  </tr>
  <asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
   <tr>
    <td><%#Eval("id") %></td>
    <td><%#Eval("name") %></td>
   </tr>
   </ItemTemplate>
  </asp:Repeater>
  </table>
  <%--显示pageSize--%>
  <asp:HiddenField ID="HiddenField1" runat="server" />
   <%--显示pageIndex--%>
  <asp:HiddenField ID="HiddenField2" runat="server" />
  <asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click" runat="server">上一页</asp:LinkButton>
  <asp:LinkButton ID="LinkButton2" OnClick="LinkButton2_Click" runat="server">下一页</asp:LinkButton>
 </div>
 </form>

 

 

后台代码

 

public int maxpage;
 public int nowpage;
 protected void Page_Load(object sender, EventArgs e)
 {

  if (!IsPostBack)
  {
  maxpage = 10;
  nowpage = 0;
  page(maxpage, nowpage);
  HiddenField1.Value = maxpage.ToString();
  HiddenField2.Value = nowpage.ToString();
  }
 }
 public void page(int maxpage, int nowpage)
 {
  Repeater1.DataSource = new dbhelper().PageBysql(maxpage, nowpage);
  Repeater1.DataBind();
 }
 //上一页
 protected void LinkButton1_Click(object sender, EventArgs e)
 {
  if (int.Parse(HiddenField2.Value) > 0)
  {
  maxpage =int.Parse(HiddenField1.Value)-10;
  nowpage = int.Parse(HiddenField2.Value)-10;
  page(maxpage, nowpage);
  HiddenField1.Value = maxpage.ToString();
  HiddenField2.Value = nowpage.ToString();
  }
  else
  {

  }
 }
 //下一页
 protected void LinkButton2_Click(object sender, EventArgs e)
 {
  
  maxpage +=(10+ int.Parse(HiddenField1.Value));
  nowpage += (10+int.Parse(HiddenField2.Value));
  page(maxpage, nowpage);
  HiddenField1.Value = maxpage.ToString();
  HiddenField2.Value = nowpage.ToString();
  
 }

 

 

 

积土而为山,积水而为海。 ——荀子

 

ASP.NET简单SQL分页的实现

标签:排序   效率   asp   大于   ble   click   fill   xxx   obj   

热心网友 时间:2022-05-02 06:44

create
proc
ProcPageing@pageindex
int,@pagesize
intasbeginselect
top
@pagesize
*
from
TableName
where
ID
not
in(select
(@pageindex-1)*@pagesize
ID
from
TableName
order
by
ID
desc)
oder
by
descendgo
--最简单的分页存错过程
不带条件、表的
ID号连续(这里可以使用
rows_number()
over(ID
order
by
desc)
as
TID)
这样
不管数据库ID是不是连续的ID
这个TID就会是连续的.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人字梯有什么安全隐患吗 怎样激发青春期孩子的内驱力 如何激发青春期孩子的内驱力 ...小题1:移船相近邀相见,添酒回灯重开宴。 , &amp;n... L1和L2串联 电压表并联在L1两端 当L1断路后 电压表测的为什么就成了电源... L1和L2串联,用电压表测L1两端的电压,L2不亮时,电流表为什么测的是电源电... 电路上传连两个灯泡L1与L2电压表测L1电压,当L1短路与断路时电压表情况... 对方拖着不办离婚手续该怎么办 计算机一级电子表格怎么拿分 如何配置思源黑体为latex中文字体? 思源黑体字体怎么安装 泥鳅怎么保护保护小泥鳅的的方法 小泥鳅怎么烧 word 图片编号,怎样设置格式。 word修改不了 ? word中修改不了字体样式,我只使用两个样式 word中图表变成非图表格式,无法正常编辑怎么办 救急,我的word文件里的文字都是图片格式的,无法在里面修改文件,该怎么办? WORD中.文本是图片格式,怎么修改也不行,咱办 word中图片格式不能修改 为什么WORD文档里面插入图片了,他的版式改变不了 为什么word2007调整不了图片格式 手机壁纸? 女生试合用什么类行的手机壁纸 为什么蒸发器出来是冷冻水、冷凝器是冷却水、和冷却塔又什么关系 闭式冷却塔是不是就相当于蒸发式冷凝器?原理相同吗?哪种更适合金属压铸模具的冷却?效果如何? 研究制冷空调系统中风冷,水冷和蒸发式冷凝器的比较目的和意义 闭式冷却塔和蒸发式冷凝器有区别吗 蒸发式冷凝器和冷却塔是一回事吗?山东有没有好的蒸发式冷凝器牌子? 蒸发式冷凝是否比冷却塔系统具有优越性 冷凝器和冷却塔是同一种设备吗? 请问泥鳅怎么煮,怎么办杀? 小泥鳅如何家养 python程序都能做什么? 小泥鳅煮十分钟熟了吗 家里养小泥鳅应该怎么养?喂什么?最好是家里方便喂的东西 为什么学信网上查不到学历信息,零散查询中也没有,但是注册后本人查询里面能看到学校的名字,_百度问一问 为什么学信网通过本人查询查不到学历但是在零散查询可以查到。零散查询出来的有效吗?_百度问一问 资产负债表、利润表和现金流量表之间的钩稽关系,要比较全面的,谢谢 资产负债表、利润表、现金流量表和所有者权益变动表的区别及联系 资产负债表、利润表、现金流量表各有哪些用途?它们之间有哪些区别? 笔记本怎么装系统 早上用早孕试纸检查出现两个红杠杠是不是怀孕了 一般怀孕几天验孕棒上面才会出现两杠红色 asp.NET分页如何实现? 怎么在山东教育招生考试院查询自考成绩 腈纶,“腈”拼音怎么读? 腈纶怎么读? 腈这个字怎么读,腈怎么念,腈怎么拼音,腈怎么组词 下列词语中划线的字,读音全都正确的一组是( ) A. 腈 纶(qíng) 纤 维(xiān) 诤 友(zhèng “腈”的读音是什么?