A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 笔墨伺候 中级黑马   /  2012-10-17 14:06  /  997 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当前的分页方式为了达到高效的目的,一般都是获取指定页的数据就行了
下面看看实现的代码:
  1. //获取指定页的文件
  2.         public DataTable getFilesByPage(int page, int pageSize)
  3.         {

  4.      return db.excuteTable_kejian("select top " + pageSize + " * from kejian   where id not in(select top " + (page - 1) * pageSize + " id from kejian  order by id desc) order by id  desc");

  5.         }
复制代码
这个在MSSSQL中时没问题的,然而在access中问题就来了

当page=1的时候,就会出错。分析了一下原因,access应该是不支持“....top 0.....”这样的语法吧,于是就做了一个判断
  1. //获取指定页的文件
  2.         public DataTable getFilesByPage(int page, int pageSize)
  3.         {
  4.             if (page == 1)
  5.             {
  6.                 return db.excuteTable_kejian("select top " + pageSize + " * from kejian  order by id desc ");
  7.             }
  8.             else
  9.             {
  10.                 return db.excuteTable_kejian("select top " + pageSize + " * from kejian   where id not in(select top " + (page - 1) * pageSize + " id from kejian  order by id desc) order by id desc");
  11.             }
  12.         }
复制代码
问题解决了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马