CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp与SQL Server

楼主fandiy(龙霄溪舞)2002-05-23 17:08:02 在 Java / Web 开发 提问

用Jsp与SQL   Server怎样实现翻页操作,查询的效率较高,最好有例子。 问题点数:50、回复次数:3Top

1 楼bzg119(dreamsun)回复于 2002-05-23 17:31:12 得分 35

翻页的做法的一种:把查询结果的主键隐藏在页面上:  
        <input   type="hidden"   name="PrimaryKey"   value="<%=strKey%>">  
      并且设定一个当前页面使用的主键  
        <input   type="hidden"   name="CurrentKey"   value="<%=strCurrentKey%>">  
  然后根据这些信息就可以在用户点击"翻页"的时候,进行处理。  
   
  我曾经写过的一个程序,可能不是太好,便比较简单易懂:  
  示例:  
          int   intPageSize;   //一页显示的记录数  
          int   intRowCount;   //记录总数  
          int   intPageCount;   //总页数  
          int   intPage;   //待显示页码  
          int   i,j,k;   //设置一页显示的记录数  
   
          public   String   backdata(int   count,String   strPage){  
                  PreparedStatement   stmt=null;  
                  ResultSet   rs=null;  
                  intPageSize   =   6;   //每页显示6条纪录  
                  intRowCount=count;  
                  String   backStr="";  
                  if(strPage==null){  
                          intPage   =   1;  
                  }else{  
                          intPage   =   Integer.parseInt(strPage);  
                          if(intPage<1)  
                                  intPage   =   1;  
                  }  
                  //计算总页数  
                  intPageCount   =(intRowCount+intPageSize-1)   /   intPageSize;  
                  //调整待显示的页码  
                  if(intPage>intPageCount)   intPage   =   intPageCount;  
                  String   secondTr="<tr><td   nowrap>选择</td><td   nowrap>标题</td><td   nowrap>文件名</td><td   nowrap   nowrap>录入部门</td><td   nowrap>填写人</td><td   nowrap>发布时间</td></tr>";  
                  String   printStr="";  
                  try{  
                          stmt=((Connection)this.getEnvironment().lookup("env:res/connection/awh")).prepareStatement(  
                                  "select   *   from   law_statute   order   by   law_publt   desc");  
                          rs=stmt.executeQuery();  
                          i   =   (intPage-1)   *   intPageSize;  
                          for(j=0;j<i;j++)  
                                  rs.next();  
                          //显示数据  
                          i   =   0;  
                          while(i<intPageSize   &&   rs.next()){  
                                  String   cid=rs.getString("cid");  
                                  String   lawtitle=rs.getString("law_title");  
                                  Date   date=rs.getDate("law_publt");  
                                  String   lawfilen=rs.getString("law_filen");  
                                  String   writdept=rs.getString("writ_dept");  
                                  String   writperson=rs.getString("writ_person");  
                                  String   lawpublt=date.toString();  
                                  String   checkNa="chekb";//+String.valueOf(i);  
                                  printStr=printStr+"<tr><td><input   type='checkbox'   name='"+checkNa+"'   id='"+cid+"'></td><td>"+lawtitle+"</td><td>"+lawfilen+"</td><td>"+writdept+"</td><td>"+writperson+"</td><td>"+lawpublt+"</td></tr>";  
                                  i++;  
                          }  
                  }catch(Exception   ex){  
                          System.out.println(ex.getMessage());  
                  }finally{  
                          try{  
                                  if(rs!=null)   rs.close();  
                                  if(stmt!=null)   stmt.close();  
                          }catch(Exception   e){}  
                  }  
                  String   dataStr="<%strPage   =   request.getParameter('page');%>";  
                  String   pageStr="第"+intPage+"页   "+"   共"+intPageCount+"页";  
                  String   forPgStr="";  
                  String   backPgStr="";  
                  if(intPage<intPageCount){  
                          int   pageNum=intPage+1;  
                          forPgStr="<a   href='lawstatute.jsp?page="+pageNum+"'>下一页</a>";  
                  }  
                  if(intPage>1){  
                          int   pageNum=intPage-1;  
                          backPgStr="<a   href='lawstatute.jsp?page="+pageNum+"'>上一页</a>";  
                  }  
                  String   firstTr="<table   name='table1'   border='1'><tr><td   colspan='2'>"+pageStr+"</td><td   colspan='2'><b>法律法规</b></td><td   colspan='2'>"+forPgStr+"     "+backPgStr+"</td></tr>";  
                  String   lastTr="<tr><td   colspan='6'><input   type='checkbox'   name='checkAll'   onclick='checkedAll()'>全选     <label   onclick='addData()'   style='cursor:hand'>增加</label>&nbsp;<label   onclick='amendData()'   style='cursor:hand'>修改</label>&nbsp;<label   onclick='deleteData()'   style='cursor:hand'>删除</label></td></tr>";  
                  backStr=dataStr+firstTr+secondTr+printStr+lastTr+"</table>";  
                  return   backStr;  
          }  
          /*---------------------------   end   ----------------------------------------*/Top

2 楼fandiy(龙霄溪舞)回复于 2002-05-23 17:39:25 得分 0

你在结果集里实现了,但是能在sql里实现吗?如果数据量很大,它会占用太多的服务器资源:),给分Top

3 楼nielinjie(学当活雷锋ing)回复于 2002-05-23 17:54:39 得分 15

关于这个著名的问题,你搜一下论坛吧,参考一下toplink之类的第三方软件怎么做……Top

相关问题

  • jsp + ms sql server 2000
  • 与jsp搭配,oracle好?sql server好?
  • jsp与SQL Server的连接问题
  • jsp与sql server连接的问题
  • JSP写 sql server 库问题
  • JSP写 sql server 库问题
  • jsp 连 sql server 的问题
  • jsp连接SQL SERVER失败?
  • jsp+resin+sql server jsp连接sql server的问题?????
  • JSP不支持MS SQL Server bigint类型?

关键词

  • null
  • intpage
  • backstr
  • 翻页
  • strpage
  • intpagesize
  • intpagecount
  • 记录
  • 显示
  • stmt

得分解答快速导航

  • 帖主:fandiy
  • bzg119
  • nielinjie

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo