楼主: amwmyd

很急!高手们有好的分页程序吗?

[复制链接]
论坛徽章:
41
Heart of PUB
日期:2006-09-26 17:30:03马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
11#
发表于 2002-6-24 16:59 | 只看该作者
呵呵,你这么写语句是什么意思?我怎么感觉白白做了好多的功

使用道具 举报

回复
论坛徽章:
41
Heart of PUB
日期:2006-09-26 17:30:03马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
12#
发表于 2002-6-24 17:09 | 只看该作者
你把想做什么说出来啊

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2002-6-24 19:44 | 只看该作者
如果是因为记录太多而导致效率低下,就应该考虑从sql中找方法,也就是说,每次只从数据库中取想要的数据,如果一页显示20条,就只取20条,如下:

select * from (select * from system_user_info limit 60 desc) limit 20 desc

就可以从数据库中取出第3页的20条记录(第41到第60条),SQL语句可能不对,Oracle里限制记录数的关键字好像是top?不记得了,自己看看吧!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
14#
发表于 2002-6-26 14:51 | 只看该作者
sql="select count(*) from bbsdb where bbsparent='0' and bbsboard=\""+bbsboard_id+"\";";
sqlRst=sqlStmt.executeQuery(sql);          //执行取总数的数据库操作  
int bbs_count=0;                       //初始化存放符合上述条件的变量
int bbs_pgsize=10;                      //定义每页显示个数   
if(sqlRst.next())
      {
        bbs_count=sqlRst.getInt(1);
      }                                    //得到用户总数
int bbs_pg=bbs_count/bbs_pgsize+1;      //得到总页数
%>
    <td width="216">共 <%=Integer.toString(bbs_pg)%> 页 第
<%
int list;
for(list=0;list<bbs_pg;list++)
   {
%>
      <a href="bbs_board_bbsmanage.jsp?get_list=<%=Integer.toString(list)%>&bbsboard_id=<%=bbsboard_id%>"><%=Integer.toString(list+1)%>
      </a>
      <%
   }      
   %>
页   </td>
   <%                                //循环打印每个页的链接
int n=0;              
if(request.getParameter("get_list"!=null)
{ n=Integer.parseInt(request.getParameter("get_list");} //取数据的范围
  sql="select * from bbsdb where bbsparent='0' and bbsboard=\""+bbsboard_id+"\" order by bbstime ";
sql+=" limit "+(bbs_pgsize*n)+","+Integer.toString(bbs_pgsize);
sql+=";";                             //取符合用户输入的条件的一定范围的值   
sqlRst=sqlStmt.executeQuery(sql);
%>
while (sqlRst.next())
{   
        ......................显示内容
}

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
15#
发表于 2002-6-27 15:18 | 只看该作者
下面这部分能正确执行吗?为什么我的select * from ab limit 10,5不能执行,数据库中用200条记录,错误为:SQL命令没有正确结束

sql="select * from bbsdb where bbsparent='0' and bbsboard=\""+bbsboard_id+"\" order by bbstime ";
sql+=" limit "+(bbs_pgsize*n)+","+Integer.toString(bbs_pgsize);
sql+=";"; //取符合用户输入的条件的一定范围的值
sqlRst=sqlStmt.executeQuery(sql);

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
16#
发表于 2002-6-29 10:32 | 只看该作者
我想不知象这样能不能满足您的要求:
select * from (select Fieldname1,Fieldname2,... from tablename where condition order by Fieldnamen) where rownum>n1 and rownum<n2
请高手们评论一下,这样行吗?谢谢!

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2002-7-2 10:19 | 只看该作者

is this ok?

select from_client_id ,operator from (select rownum,t.*  from from_client t)  where rownum between 1 and 10;

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2002-7-2 10:45 | 只看该作者

Should be this

select rownum,from_client_id ,operator from from_client where rownum<50 minus select rownum,from_client_id ,operator from from_client where rownum<20;

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2002-7-2 10:53 | 只看该作者

JDBC

in jave 's JDBC:
Statement's method : setFetchSize(int)/get

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2002-7-2 13:21 | 只看该作者
oracle不支持limit
应该用这样的语句
select * from table_xxx where rownum<11 minus select * from table_xxx where rownum<2
这样选出来的是从1-10

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表