zoukankan      html  css  js  c++  java
  • Moon.Orm 5.0(MQL版)分页功能的设计(求指教,邀请您的加入)

    一、分页的分类及分析 

    1)分页的前置条件:

    查询的目标条件、第几页、总页数(本质上由查询条件决定)、每页条数、请求地址、按照什么字段怎样排序

    2)目标结果:

    数据列表,List<T>返回

    3)分页的分类

    单表表名、该表的查询条件、选择的字段--->解决思路不言而喻

      

    多表情况(先以连接查询为例)

    解决思路:将整个语句 as Table_Search,然后按照数据的分页语句进行分页.

    注:以下仅以sqlserver为例,设计时请考虑给类数据库分页情况不一样.

     

    如下:

    var m1=ClassSet.Select(ClassSet.ClassID,ClassSet.ClassName)
                        .LeftJoin(
                        UserSet.Select(UserSet.UserID))
                        .ON(ClassSet.ClassID.Equal(UserSet.UserID))
                        .Where(UserSet.UserID.BiggerThan(9));
     
    SELECT [Class].[ClassID],[Class].[ClassName],[User].[UserID] FROM [Class] LEFT JOIN [User] ON [Class].[ClassID]=[User].[UserID]  WHERE  [User].[UserID]>@p1
    @p1=9
    ------------->
    select top 每页条数 * from (
    SELECT [Class].[ClassID],[Class].[ClassName],[User].[UserID] FROM [Class] LEFT JOIN [User] ON [Class].[ClassID]=[User].[UserID]  WHERE  [User].[UserID]>@p1
    as Table_Search
     
    WHERE id NOT IN
              (
              SELECT TOP 每页条数*(页数-1) id FROM Table_Search ORDER BY id
              )
    ORDER BY id
  • 相关阅读:
    form表单中name和id区别
    为什么我做网站开发不使用前端框架
    设置GridView表头的背景图片
    input文本框隐藏边框
    如何在asp.net页面使用css和js
    HTML与XHTML的差别
    asp.net实现关闭当前网页功能
    asp.net判断文件或文件夹是否存在
    asp.net自定义错误页面
    asp.net中textbox获得焦点后清空默认文本
  • 原文地址:https://www.cnblogs.com/humble/p/3331689.html
Copyright © 2011-2022 走看看