今天写点啥呢?就数据分页吧。同事说你直接将所有数据库中的数据都返回给我好了,我一并处理。但我说还好现在就几十条测试数据的,如果说是上万条,几十万条数据,我一下子查询数据库都打包发给你,你还要解析,那客户点击了个查询按钮,按照这样做要等到猴年马月,所以说,服务器端只能一点一点的返回给你才是最佳解决方案!
sql数据分页有几种方法,首先用最简单最原始的方法,选择top10:
select top 10 * from Student where id not in(select top(10*@pageIndex) id from Student order by id) order by id
@pageIndex是第几页,10代表每页的条数
查询出来的结果:
其他方法:
select * from /*分页查询所有数据*/ (select *,row_number() ober(order by id desc) as num /*row_number()定义新行为num*/ from student) as table /*查出新表名为 table*/ where table.num between 0*10+1 and 1*10 /* 从新表table中查询第0页到第一页的数据 每页10条*/
还有一种就是选择从多少到多少的记录的sql分页语句
select * from (select *,row_number() over (order by Id asc) as num from T_Products) as s where s.num between 3 and 5;
说明:C#创建数据对象模型的时候,如果数据库中对应的字段可能为空,那么对象模型的属性在创建的时候就要判断,如果是值类型的就必须要写成int?number,如果是引用类型的则不需要,例如string类型就属于引用类型的,数据库中是null的话,对应读取到的还是null。
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:858550 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/17429383