[转载]asp.net中使用Row_Number函数分页
a) 首先在DataAdapter中新建名字为QueryThreadCountByForumId、返回值为Scalar的Query,SQL语句为:SELECT COUNT(*) AS Expr1 FROM rp_threads WHERE (ForumId = @ForumId)
b) 在DataAdapter中新建名为字GetDataByForumId的Query,SQL语句为:SELECT * FROM (SELECT ThreadId, IsVisible, LastUpdateDate, DateLine, Subject, ForumId, ROW_NUMBER() OVER (ORDER BY DateLine) rownum FROM rp_threads WHERE ForumId = @ForumId) t WHERE rownum > @startRowIndex AND rownum <= @startRowIndex + @maximumRows。由于VS2008的设计器不支持窗口函数Over,因此会提示警告,不管它。对于使用Over的语句,VS2008不会帮助生成DataSet字段和参数,不过好在默认的GetData语句已经帮我们生成好了字段,虽然GetDataByForumId比GetData多一个rownum字段,不过新建的Query只要不是比GetData生成的字段少就行,多的部分会忽略。下面主要工作是手动建参数,选中GetDataByForumId方法,修改Parameters属性,在其中建三个Int32类型属性ForumId、startRowIndex、maximumRows,各自对应的ParameterName分别填@ForumId、@startRowIndex、@maximumRows。
c) 在界面中使用ObjectDataSource数据源,TypeName填DataAdapter的类名,SelectCountMethod填QueryThreadCountByForumId、SelectMethod填GetDataByForumId,SelectParameters使用ForumId这一个属性,默认生成的maximumRows、startRowIndex 删掉就行,因为分页会自动填充他们两个。
文章转载自:http://www.rupeng.com/forum/thread-11334-1-1-uid7.html

出处:http://www.cnblogs.com/babycool/
本文首发博客园,版权归作者跟博客园共有。
转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架