我的是jsp+access,你看看对你有用没有
<%@ page contentType="text/html; charset=GB2312" 
import="java.sql.*"%><HTML>
<HEAD>
<TITLE>修改简单单选题</TITLE>
</HEAD>
<BODY background="../../../img/bg.gif">
<CENTER>
  <font color="blue" size="5">修改简单单选题 </font> 
</CENTER>
<HR>
<P></P>
<CENTER><%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//载入驱动程序类别Connection con = DriverManager.getConnection("jdbc:odbc:exam");
//建立数据库链接Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
//建立Statement对象, 并设置记录指标类型为可前后移动ResultSet rs = stmt.executeQuery("SELECT * FROM 1_danxuan1 order by id");
//建立ResultSet(结果集)对象,并执行SQL语句int PageSize = 10; //设置每张网页显示两笔记录int PageCount = 0; //ResultSet分页后的总页数rs.last(); //将指标移至最后一笔记录int QueCount = rs.getRow(); //取得ResultSet中记录的笔数int ShowPage= 1 ; //设置欲显示的页数int pos = PageSize * (ShowPage - 1) + 1; //欲显示第1页记录时, 记录指标的位置rs.absolute(pos); //设置记录指标的位置 PageCount = ((QueCount % PageSize) == 0 ? 
(QueCount/PageSize) : (QueCount/PageSize)+1);
//计算显示的页数
%>
<%String ToPage = request.getParameter("ToPage");
//判断是否可正确取得ToPage参数, 
//可取得则表示JSP网页应显示特定分页记录的语句
if(ToPage != null)
{
ShowPage = Integer.parseInt(ToPage); //取得指定显示的分页页数

//下面的if语句将判断用户输入的页数是否正确
if(ShowPage > PageCount)
{ //判断指定页数是否大于总页数, 是则设置显示最后一页
ShowPage = PageCount;
}
else if(ShowPage <= 0)
{ //若指定页数小于0, 则设置显示第一页的记录
ShowPage = 1;
}
}rs.absolute((ShowPage - 1) * PageSize + 1); 
//计算欲显示页的第一笔记录位置
%>
  <H3>题库中共有 <FONT SIZE = 4 COLOR = red> <%= QueCount %></FONT>道题目, <BR>
    题库共有 <FONT SIZE = 4 COLOR = red> 
    <!--计算记录集分页后共有几页-->
    <%= ((QueCount % PageSize) == 0 ? (QueCount/PageSize) : 
    (QueCount/PageSize)+1) %> </FONT>页, 目前在第<FONT SIZE = 4 COLOR = red><%= ShowPage%></FONT> 
    页, 每页有<FONT SIZE = 4 COLOR = red><%= PageSize %></FONT> 道题目</H3>
  <P></P>
<%
//利用for循环输出一页中的记录
for(int i = 1; i <= PageSize; i++)
{
String id=rs.getString("id");
%>

  <TABLE border=1 bordercolor=RoyalBlue bgcolor=LightBlue width="100%" cellspacing="0">
    <TR> 
      <TD bgcolor=Gainsboro colspan=2>记录指标现指向题库第 <FONT SIZE = 4 COLOR = red><%= rs.getRow() %> 
        </FONT>道题目</TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width= 60> 题干:</TD>
      <TD width= 700><%= rs.getString("tigan") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" >选项1:</TD>
      <TD width=700><%= rs.getString("Opt1") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" >选项2:</TD>
      <TD width= 700><%= rs.getString("Opt2") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" >选项3:</TD>
      <TD width= 700><%= rs.getString("Opt3") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" >选项4:</TD>
      <TD width= 700><%= rs.getString("Opt4") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" >答案:</TD>
      <TD width= 700><%= rs.getString("answer") %></TD>
    </TR>
    <TR> 
      <TD bgcolor=LightYellow width="60" ><a href="re_input.jsp?id=<%=id%>">修改</a></TD>
      <TD width= 700>
  </TD>
    </TR>
  </TABLE>
  </CENTER>

<%
if(!rs.next()) //移到下一笔, 若至记录结尾则跳出循环
break;
}rs.close(); //关闭ResultSet对象
stmt.close(); //关闭Statement对象
con.close(); //关闭Connection对象
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
<%
//判断目前所在分页是否为第一页,
//不是则显示到第一页与上一页的超链接
if(ShowPage != 1)
{
//下面建立的各超链接将链接至自己, 
//并将欲显示的分页以ToPage参数传递给自己
%>
    <td>
      <div align="center"><a href="repair_111.jsp?ToPage=<%= 1 %>">第一页</a></div>
    </td>
    <td>
      <div align="center"><a href="repair_111.jsp?ToPage=<%= ShowPage - 1 %>">上一页</a></div>
    </td>
<%
}//判断目前所在分页是否为最后一页,
//不是则显示到最后一页与下一页的超链接
if(ShowPage != PageCount)
{
//下面建立的各超链接将链接至自己, 
//并将欲显示的分页以ToPage参数传递自己
%>
    <td>
      <div align="center"><a href="repair_111.jsp?ToPage=<%= ShowPage + 1%>">下一页</a></div>
    </td>
    <td>
      <div align="center"><a href="repair_111.jsp?ToPage=<%= PageCount %>">最后一页</a></div>
    </td>
<%
}
%>
    <td>
      <form name="form1" method="post" action="repair_111.jsp">
        到<!--
供用户输入欲查看页数的文字方块, 预设值为目前所在的分页, 
当用户在此文字方块中完成数据输入后按下 Enter 即可将数据送出,
相当于按下Submit按钮, 因此此表单中将省略Submit按钮
-->
        <input type="text" name="ToPage" style="HEIGHT: 25px; WIDTH: 40px" 
value=<%= ShowPage%> >
        页
      </form>
    </td>
  </tr>
</table>
<p>&nbsp;</p>
</BODY>
</HTML>

解决方案 »

  1.   

    oracle好办,用rowno来分页。
    最好写一个不依赖于特定数据库的通用的,可以参考jive的实现。
    但通用的性能肯定没有专用的好,这好像是个屡试不爽的定理。
      

  2.   

    select 1,2,3 from(select rownum as row_num ,1,2,3 where row_num between x and y)
      

  3.   

    sorry应该是:
    select 1,2,3 from(select rownum as row_num ,1,2,3 from table) where row_num between x and y)
      

  4.   

    可以把每页的保存到Hashtable中,然后把Hashtable保存到session中,
    每页的数据可以到Hashtable中取
      

  5.   

    AllError(错误大全) 的方法很好,楼主锈豆了?
    一次只取本页需要的数据,然后显示就可以了。
      

  6.   

    已经解决的差不多了!只是还有一些小问题。测试ING!