zoukankan      html  css  js  c++  java
  • 分页

    一.假分页 #region 全局变量

     int currentPage=1;//当前页码
     int pageSize=8;//一页显示的记录条数
     DataTable dt=new DataTable();//查询到的所有数据
     #endregion
     
     #region 分页
     /*控制“上一页”“下一页”的启用状态*/
     private void pageButtonStatus()
     {
         buttonPreviousPage.Enabled=true;
         buttonNextPage.Enabled=true;
         if(pageSize*(currentPage-1)!=0&&pageSize*(currentPage-1)==dt.Rows.Count)
         {
             currentPage--;
         }
         if(pageSize*(currentPage-1)==0)
         {
             buttonPreviousPage.Enabled=false;
         }
         if(pageSize*currentPage>=dt.Rows.Count)
         {
             buttonNextPage.Enabled=false;
         }
     }
     /*绑定当前页码的数据*/
     private void currentPageDataBind()
     {
         DataTable tempDt=dt.Clone();
         for(int i=pageSize*(currentPage-1);i<(dt.Rows.Count>pageSize*currentPage?pageSize*currentPage:dt.Rows.Count);i++)
         {
             tempDt.Rows.Add(dt.Rows[i].ItemArray);
         }
         dataGridView1.DataSource=tempDt;
     }
     /*上一页*/
     private void buttonPreviousPage_Click(object sender,EventArgs e)
     {
         currentPage--;
         pageButtonStatus();
         currentPageDataBind();
     }
     /*下一页*/
     private void buttonNextPage_Click(object sender,EventArgs e)
     {
         currentPage++;
         pageButtonStatus();
         currentPageDataBind();
     }
     #endregion 二.真分页 1.适用于SQL Server 2000/2005

    select top 页大小 * from table1 where id not in ( select top 页大小*(页数-1) id from table1 order by id ) order by id

    2.适用于SQL Server 2005
    select top 页大小 * 
    from 
    (
        select ROW_NUMBER() over (order by id) as RowNumber,* from table1
    ) a
    where RowNumber > 页大小*(页数-1) 

    3.适用于SQLite

    通用公试:sql = "select * from FlyCrocodile where "+条件+order by "+排序+" limit "+要显示多少条记录+" offset "+跳过多少条记录; 

    或者sql="select * from FlyCrocodile  where "+条件+order by "+排序+" limit 路过多少条记录,要显示多少条记录;

    如:select * from flycrocodile limit 15 offset 20 或者 select * from FlyCrocodile limit 20,15  

    意思是说:从flycrocodile表跳过20条记录选出15条记录 

    
    
  • 相关阅读:
    JAVA 的赋值运算符、比较运算符、逻辑运算符、三元运算符、引用数据类型、流程语句
    Java 的方向、安装、打印“HelloWorld”、注释、标识字、关键字、变量、
    oracle组函数、多表查询、分页、
    oracle 的单行函数
    JQ 的class类的操作 效果 遍历 内置遍历数组的函数 事件
    jquery的引入、入口函数、选择器、对内容的操作、对元素的操作、属性操作
    MySQL 查询习题详解
    oracle的基本查询
    数据库45道练习题
    数据库概念以及入门语句,增删改
  • 原文地址:https://www.cnblogs.com/sydeveloper/p/2379332.html
Copyright © 2011-2022 走看看