给你一个JSP+SQL Server 2000的分页例子,其他的数据库大同小异。<%@ page contentType="text/html;charset=gb2312"%>
<% 
//变量声明 
java.sql.Connection sqlCon; //数据库连接对象 
java.sql.Statement sqlStmt; //SQL语句对象 
java.sql.ResultSet sqlRst; //结果集对象 
java.lang.String strCon; //数据库连接字符串 
java.lang.String strSQL; //SQL语句 
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数 
int intPageCount; //总页数 
int intPage; //待显示页码 
java.lang.String strPage; 
int i,j,k; //设置一页显示的记录数 
intPageSize = 5; //取得待显示页码 
strPage = request.getParameter("page"); 
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据 
intPage = 1; 
} else{
//将字符串转换成整型 
intPage = java.lang.Integer.parseInt(strPage); 
if(intPage<1) intPage = 1; }
//装载JDBC-ODBC驱动程序 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
//设置数据库连接字符串 
strCon = "jdbc:odbc:Test_DB"; 
//连接数据库 
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa",""); 
//创建SQL语句对象 
sqlStmt = sqlCon.createStatement(); 
//获取记录总数 
strSQL = "select count(*) from guestbook"; 
sqlRst = sqlStmt.executeQuery(strSQL); 
//执行SQL语句并取得结果集 
sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前 
intRowCount = sqlRst.getInt(1); 
sqlRst.close(); //关闭结果集 //记算总页数 
intPageCount = (intRowCount+intPageSize-1) / intPageSize; 
//调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount; 
//设置获取数据SQL语句 
strSQL = "select name,email,body from guestbook"; 
//执行SQL语句并取得结果集 
sqlRst = sqlStmt.executeQuery(strSQL);
//将记录指针定位到待显示页的第一条记录上 
i = (intPage-1) * intPageSize; 
for(j=0;j<i;j++) sqlRst.next(); %> <html> 
<head>
<title>JSP数据库操作例程 - 数据分页显示 - JDBC-ODBC</title>
</head> <body> 
<p align=center>jdbc-odbc留言版</p> 
<table border="1" cellspacing="0" cellpadding="0" width=600 align=center> 
<% 
//显示数据 
i = 0; 
while(i<intPageSize && sqlRst.next()){ %> 
<tr> 
<td>姓名:<%=sqlRst.getString(1)%></td>
<td>邮件:<%=sqlRst.getString(2)%></td>
</tr> 
<tr> 
<td colspan=2><%=sqlRst.getString(3)%></td>
</tr>
<% i++; } %>
<tr> 
<td colspan=2 align=center> 
第<%=intPage%>页  共<%=intPageCount%>页  
<%if(intPage<intPageCount){%>
<a href="mssql.jsp?page=<%=intPage+1%>">下一页</a><%
}
%>  
<%if(intPage>1){%>
<a href="mssql.jsp?page=<%=intPage-1%>">上一页</a><%
}
%> 
</td> 
</tr>
</table> </body> 
</html> <% 
//关闭结果集 
sqlRst.close(); 
//关闭SQL语句对象 
sqlStmt.close(); 
//关闭数据库
sqlCon.close();
%>

解决方案 »

  1.   

    public class ListView implements Serializable
    {
        public static final LogUtils Log = new LogUtils(ListView.class);
        protected int rowCount; //总行数
        protected int pageSize = 10; //每页显示的行数  
        protected int pageCount; //总页数
        protected int currentPageIndex = 1; //当前页号
        protected int beginIndex; //检索的第一条纪录行号
        protected int endIndex; //检索的最后一条纪录行号
        protected DataBean data; //当前行数据
        protected List listDatas; //所有数据集合
        protected String lastSql; //最后一次查询的字符串
        protected boolean isPaged; //分页标记
        protected boolean isUpdate; //数据修改、删除标记
        protected boolean isInsert; //数据增加标记
        protected boolean isDetail; //数据明细标记
      
        
      

  2.   

    我有个JSP分页的例子楼主要的话发短信息留EMAIL
      

  3.   

    dooluby(蓝色) 也得很好!  只是当数据大是,每显示一次就要重新查找一次数据库,太慢了! 我也在找相关的!
      

  4.   

    http://expert.csdn.net/Expert/topic/2247/2247252.xml?temp=.5408136
      

  5.   

    http://search.csdn.net/expert/topic/54/5409/2002/9/29/1064726.htm
      

  6.   

    http://www.hnitline.com/bbs/dispbbs.asp?boardID=18&ID=807目前最好的分页技术思想确实很好,看看就知道了!
      

  7.   

    在新版本的JSPStudio中,通过向导,只要输入一个文件名和选择数据源,自动产生所有数据库操作和表格分页显示,下载地址:ftp://162.105.80.43/incoming/例如:输入文件名:TEST,并通过ODBC选择数据源,自动产生如下6个文件:
    TEST.java
    TESTAction.java
    TESTDAO.java
    TESTForm.java
    TEST.jsp
    TESTOut.jsp代码见:
    http://expert.csdn.net/Expert/topic/2228/2228055.xml?temp=.1732599
      

  8.   

    package hzdq.fdjc.Common;import java.sql.*;
    import java.util.*;/**
     * Title:分页
     * Description:
     * Copyright:    Copyright (c) 2004
     * Company:
     * author:颜喜班
     * @version 1.0
     */
    public class SplitPager
    {
      /*
       * _sql_str:传入的sql语句
       * _total_records: 总记录数目
       * _pageSize: 每页显示的记录数目
       * _page: 所分的逻辑页数
       */
    private Connection con=null;
    private Statement stmt=null;
    private ResultSet rs=null;
    private ResultSetMetaData rsmd=null;
    private String _sql_str;
    private int _total_records;
    private int _pages;
    private int _pagesize;
    public void setConnection(Connection con)
    {
    this.con=con;
    if (this.con == null)
                System.out.println("Failure to get a connection!");
    else
    System.out.println("Success to get a connection!");
    }
    public void initialize(String sqlStr,int pageSize)
    {
    this._sql_str=sqlStr;
    this._pagesize=pageSize;
    try{  
    stmt=this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  
                    rs=stmt.executeQuery(this._sql_str); 
    rsmd=rs.getMetaData();
    if (rs!=null)
    {
    rs.last();
    this._total_records = rs.getRow();
    rs.first();
    this._pages = (this._total_records - 1) / this._pagesize + 1;

    }  
               catch(SQLException  e){System.out.println(e.toString()); } 
    }
    public  Vector  getPage(int ipage){ 
              Vector  vData=new  Vector();
              int  n=ipage;  
              int  m=0;  
              m=(n-1)*this._pagesize+1;  
      try{
    if (rs!=null)
    {
    rs.absolute(m);
    for(int i=0;i<this._pagesize;i++){
    String[] sData=new String[rsmd.getColumnCount()];
    for(int j=0;j<rsmd.getColumnCount();j++)
    {
    sData[j]=rs.getString(j+1);
    }
    if (sData==null)
    {
    break;
    }
    vData.addElement(sData);
    rs.next();

    }            
                    rs.close();  
        stmt.close(); 
                    }  
               catch(SQLException  e){System.out.println(e.toString()); } 
               return  vData;  
    }  
    public int getPages()
        {
            return this._pages;
        }
    public int getTotalRecords()
        {
            return this._total_records;
        }}
      

  9.   

    好东西当然要分享啊!看我的:经典分页程序
    jsp+javaBeanhttp://www.52free.com/bbs/index.php?act=ST&f=8&t=148&st=0#entry298如果数据库不同只需修改javaBean中的驱动即可,页面显示数可以自己控制。
      

  10.   

    我的想法是把分页写道两个bean中,一个超类,一个子类,以后每个子类,都继承这个超类,不知好不好呢,