"select * from (select allData.*, rownum as allDataRowNo " +
"from (" + sqlStr + ") allData) " +
    "where allDataRowNo>=" + getStartRowNo() + " and allDataRowNo<=" + getEndRowNo();

解决方案 »

  1.   

    我现在已经得到结果集合,主要是jsp实现的问题。
      

  2.   

    <-myjsp_pageview.jsp-><%@ page contentType="text/html; charset=gb2312" language="java"  errorPage="" %>
    <%@ page info="database handle"  %>
    <%@ page import="java.io.*"  %>
    <%@ page import="java.util.*"  %>
    <%@ page import="java.sql.*"  %>
    <%@ page import="javax.sql.*"  %>
    <%@ page import="javax.servlet.*"  %>
    <%@ page import="javax.naming.*"  %>
    <% 
    Connection sqlCon;
    Statement sqlStmt;
    ResultSet sqlRst;
    String strCon;
    String strSQL;
    int intPageSize;
    int intRowCount;
    int intPageCount;
    int intPage;
    String strPage;
    int i;
    intPageSize=15;
    strPage=request.getParameter("page");
    if (strPage==null)
       {intPage=1;}
    else
       {intPage=java.lang.Integer.parseInt(strPage);
        if(intPage<1) intPage=1; 
        }
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
     strCon = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=aba-edrp";
      sqlCon=DriverManager.getConnection(strCon,"sa",""); 
      sqlStmt=sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
        java.sql.ResultSet.CONCUR_READ_ONLY);
      strSQL="select * from cust";
      sqlRst=sqlStmt.executeQuery(strSQL);
      sqlRst.last();
      intRowCount=sqlRst.getRow();
      intPageCount=(intRowCount+intPageSize-1)/intPageSize;
      if(intPage>intPageCount)intPage=intPageCount;
      %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>翻页程序演示</title>
    </head>
    <p align=center>翻页程序演示</p>
    <body>
    <table border="0" width="90%" cellpadding="0" cellspacing="0" height="900">
    <tr>
        <td width="80%" height="165" valign="top">
    <table border="0" width="100%" cellpadding="0" cellspacing="1" height="81">
    <tr>
        <td width="134" height="18" bgcolor="#CCCCCC">编号1</td>
    <td width="136" height="18" bgcolor="#CCCCCC">编号2</td>
    <td width="135" height="18" bgcolor="#CCCCCC">编号3</td>
    <td width="134" height="18" bgcolor="#CCCCCC">编号4</td>
    <td width="139" height="18" bgcolor="#CCCCCC">编号5</td>
    </tr>
    <% 
      if(intPageCount>0){
         sqlRst.absolute((intPage-1)*intPageSize+1);
     i=0;
     while(i<intPageSize && !sqlRst.isAfterLast()){
     %>
    <tr bgcolor="f2f2e6">
        <td width="134" height="18" ><%=sqlRst.getString(1)%></td>
    <td width="136" height="18" ><%=sqlRst.getString(2)%></td>
    <td width="135" height="18" ><%=sqlRst.getString(3)%></td>
    <td width="134" height="18" ><%=sqlRst.getString(4)%></td>
    <td width="139" height="18" ><%=sqlRst.getString(5)%></td>
    </tr>  
    <%
     sqlRst.next();
     i++;
       }
      }
      %>
     </table> 
       <table border="0" width="100%" cellpadding="0" cellspacing="0" height="52">
        <tr>
       <form action="myjsp_pageview.jsp" method="get">
         <td height="52" bgcolor="#99ffcc" align="right">
     <% 
        if(intPage!=1)
    {
     out.println("<A HREF=myjsp_pageview.jsp?page=1>第一页</A>");
       out.println("<A HREF=myjsp_pageview.jsp?page="+(intPage-1)+">上一页</A>");
                         }
    if(intPage!=intPageCount)
    {
     out.println("<A HREF=myjsp_pageview.jsp?page="+(intPage+1)+">下一页</A>");
       out.println("<A HREF=myjsp_pageview.jsp?page="+(intPageCount)+">最后一页</A>");
                         }
     %>   输入页数<input type="text" size="3" name="page">
     页数:<font color="#FF0000"><%=intPage%>/<%=intPageCount%></font>
       </form>
    </tr>
    </table>
    </body>
    </html>
    <% 
    sqlRst.close();
    sqlStmt.close();
    sqlCon.close();
    %>