C# ado.net 使用 row_number over() 简单的分页示例

        /// <summary>
        /// 获取Paging列表
        /// </summary>
        public List<HousesAgentEntity> GetPageList(int pageIndex, int pageSize, out int amount, string where)
        {
            int count = 0; //总页数

            string sqlCount = "Select Count(*) From HousesAgent" + where;//根据条件计算总页数

            List<HousesAgentEntity> list = new List<HousesAgentEntity>();

            #region 组装分页的sql语句 

            string sql = string.Format(@"Select * From ( Select Row_Number() Over(Order By UserId desc) Rows, * From HousesAgent {0} ) tb Where Rows > @Begin And Rows <= @End", where);  

            SqlParameter[] parameters = {
            new SqlParameter("@Begin", (pageIndex-1) * pageSize),
            new SqlParameter("@End", pageIndex * pageSize)
            };

            #endregion

            try
            {

                SqlDataReader dr = SqlSimpleHelper.ExecuteReader(SqlSimpleHelper.ConnectionString, CommandType.Text, sql, parameters);
                list = DataReaderToList(dr);

                Object obj = SqlSimpleHelper.ExecuteScalar(SqlSimpleHelper.ConnectionString, CommandType.Text, sqlCount);
                if (obj != null)
                {
                    int.TryParse(obj.ToString(), out count);
                }
                amount = count;
            }

            catch (Exception ex)
            {
                //记录异常日志
                LogHelper.WriteErrorLog(GetErrorMethod("GetPageList"), ex.Message);
                amount = 0;
            }
            return list;
        }

  

时间: 2024-11-06 21:46:28

C# ado.net 使用 row_number over() 简单的分页示例的相关文章

ASP.NET MVC 简单的分页思想与实现

, 作为一个程序猿,数据分页是每个人都会遇到的问题.解决方案更是琳琅满目,花样百出.但基本的思想都是差不多的. 下面给大家分享一个简单的分页器,让初学者了解一下最简单的分页思想,以及在ASP.NET MVC中的简单实现与应用. 一,定义分页器类 在ASP.net MVC中,分页的数据源可能是各种不同的类型,所以最好使用泛型来定义. public class PagingHelper<T> 二,基本三要素 实现分页人所共知的三个基本属性: DataSource:数据源,要知道数据源共计多少条数据

[MySQL5.6] 一个简单的optimizer_trace示例

[MySQL5.6] 一个简单的optimizer_trace示例 前面已经介绍了如何使用和配置MySQL5.6中optimizer_trace(点击博客),本篇我们以一个相对简单的例子来跟踪optimizer_trace的产生过程. 本文的目的不是深究查询优化器的实现,只是跟踪optimizer trace在优化器的那一部分输出,因此很多部分只是一带而过,对于需要深究的部分,暂时标注为红色,后续再扩展阅读;之前一直没看过这部分代码,理解起来还是比较困难的… 我们以一个简单的表为例过一下opti

AngularJS实现简单的分页功能

本篇文章由:http://xinpure.com/angularjs-simple-paging-functionality/ 初学 AngularJS, 尝试着写一些小功能 代码逻辑写得略粗糙,仅仅只是实现了简单的分页功能,使用 AngularJS 尝尝鲜. AngularJS Code (Users.js) var Users = angular.module('Users', []); Users.controller('UserList', function($scope, $http)

“最简单的分页代码”

参加培训的时候,教课的老师说这是他所见过的最简单的分页写法.挺容易理解的,分享给大家 /****分页类* @param int $num  总页数* @param int $cnt     每页显示多少行数据* @param int $curr     当前是第多少页*/ function fenye( $num,$cnt = 10,$curr = 1){ // 第一步:计算一共有多少页,ceil函数是向上取整 $pages = ceil( $num / $cnt ); // 最左边的页码,就是

unity Dotween插件的简单介绍及示例代码

unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的用法,并在后文做了一些效果示例,还是不错的. 所谓"插值动画",顾名思义就是在两个值中插入其他的值来实现动画.原理非常简单,比如想让某个物体从A地到达B地,我们只知道A和B的坐标,插值动画就可以根据"缓动函数"确定A.B间的其他值,来实现物体从A到B的"运动过

用Vue2.0实现简单的分页及跳转

用Vue2.0实现简单的分页及跳转 2018年07月26日 20:29:51 Freya_yyy 阅读数 3369 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Freya_yyy/article/details/81227016 用Vue2.0实现一个数据的分页及页数的跳转,代码如下: 数据绑定:{{...}}        <a v-on:click="btnClick(item)">{{item}}</a>

一个简单的CRUD示例:使用PHP+MySQL

一个简单的CRUD示例:使用PHP+MySQL 前情 总是听说CRUD,但一直不清楚是做什么的,就去查了一下,大概的意思是一组常见的数据库操作:增(create).查(read).改(update)删(delete),大概是,也有其他的翻译,这里大概了解一下就好.截止到现在,网上好像没有什么很小的示例来阐述CRUD这个概念的,然后就去查了一番资料,写了一个真的很小白的.很简单.未使用任何框架的案例. 前端准备 由于笔者对前端知识并不熟悉,这里只贴容器(传输/返回数据的容器)代码,在服务器根目录下

【ADO.NET】1、简单配置与使用

1.一些基础的知识点 ExecuteReader(); //返回查询到的数据,一次一行,用于 selectExecuteNonQuery(); //返回影响的行数,用于 delete,insert,updateExecuteScalar(); //返回第一行,第一列的数值,类型为 Object,用于查询 最大值,绝对值,统计数据...等---------------using() 的使用---------------using() 用于对资源的释放,当程序运行到using以外,资源将自动释放,相

【ADO.NET基础-Regidter】简单的账户注册界面和源代码(可用于简单面试基础学习用)

在阅读时如有问题或者建议,欢迎指出和提问,我也是初学者......... 前台代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <div align="center">