java.sql.Connection connection;//数据库连接对象
java.sql.Statement  stmt;//语句对象
java.sql.ResultSet  rs;
创建statement时必须加入两个参数;
stmt=  connection.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(SQL); 
只要rs不为空,就可以使用rs.absolute(),rs.first()等等方法;不清楚,请参考API的帮助。

解决方案 »

  1.   

    赞成: wyzegg(蛋) (2001-12-10 21:24:43)  得0分 
    JDBC-ODBC只可以向后移动
     
      

  2.   

    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ include file="../sql.jsp"%>
    <%@ page import="java.sql.*"%>
    <html>
    <head>
    <title>left</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel="stylesheet" href="../css/button.css" type="text/css">
    <style type="text/css">
    <!--
    .link {  color: #FFFFFF; text-decoration: none; font-size: 13px; line-height: 17px}
    .link:hover {  color: #FFFF00; text-decoration: underline overline}
    -->
    </style>
    </head>
    <%
    String find_sql="select * from news order by id desc";
    ResultSet findrs=stmt.executeQuery(find_sql);
    int all_line,all_page,ever_page=8,nowpage,loop;
    findrs.last();
    all_line=findrs.getRow();
    if (all_line<1)
    {
    out.print("暂时无数据!请联系管理员!");
    return;
    }
    all_page=(all_line+ever_page-1)/ever_page;
    String strpage=request.getParameter("nowpage");
    if (strpage==null)
    nowpage=1;
    else
    nowpage=Integer.parseInt(strpage);
    if (nowpage<1)
    nowpage=1;
    if (nowpage>all_page)
    nowpage=all_page;
    if (all_page==1)
    loop=all_line;
    else if(nowpage==all_page)
    loop=all_line-(all_page-1)*ever_page;
    else
    loop=ever_page;
    %>
    <body bgcolor="#6699FF" text="#CCCCCC" leftmargin="0" topmargin="0">
    <table width="218" border="0" cellspacing="0" cellpadding="0" align="center" height="348">
      <tr> 
        <td height="347" valign="top"> 
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td bgcolor="#4A91F9" colspan="3"> 
                <div align="center"><font size="2" color="#FFFFFF">[系内新闻共<%=all_line%>条]</font></div>
              </td>
            </tr>
            <tr> 
              <td height="310" valign="top" colspan="3"> 
                <%
    int now_line=(nowpage-1)*ever_page+1;
    findrs.absolute(now_line);//----------------------------------最重要的是这里
    for (int i=0;i<loop;i++)
    {
    long id=findrs.getInt("id");
    String title=findrs.getString("title");
    String pic=findrs.getString("pic");
    String time=findrs.getString("datetime").substring(5,19).replace('-','月').replace(' ','日');
    %>
                <li><a class="link" href="index.jsp?id=<%=id%>" target="_parent"><%=title%><%if (!pic.equals("0")) out.print("[图片]");%></a>
                  <%
    findrs.next();
    }
    %>
              </td>
            </tr>
            <tr> 
              <td width="31%"> 
                <div align="center"><font size="2"><a href="newsleft.jsp" class="link">上页</a></font></div>
              </td>
              <td width="41%">
                <div align="center"><font size="2" color="#FFFFFF">&lt;<%=nowpage%>/<%=all_page%>页&gt; 
                  </font></div>
              </td>
              <td width="28%">
                <div align="center"><a href="newsleft.jsp" class="link"><font size="2">下页</font></a></div>
              </td>
            </tr>
          </table>
    </td>
      </tr>
    </table>
    </body>
    </html>
      

  3.   

    在JDBC 2.0中是可以使用API中java.sql.ResultSet的absolute(),first()等方法的。
      

  4.   

    为什么我用jdbc-odbc试不成功呢?黑鹰你试过没有?