org.apache.jasper.JasperException: An exception occurred processing JSP page /chazhao.jsp at line 6158: while(i<iPageSize && !RS_result.isAfterLast())
59: {
60: id=(iPage-1) * iPageSize + 1+i;
61: password=RS_result.getString(2);
62: sex=RS_result.getString(4);
63: work=RS_result.getString(5);
64: strlove=RS_result.getString(6);root cause javax.servlet.ServletException: java.sql.SQLException: Column Index out of range, 2 > 1. 
我的代码有上传,请大家帮我看看,谢谢!

解决方案 »

  1.   

    好明显就是你拿的数据超出数组的范围啦...检查下最容易出错的I是否初始化的时候就大于结果集.
    查询的字段有没那么多项.其实用DEBUG很容易就查出来了.
      

  2.   

    分页的话最好采用分页的 SQL 语句,也就是说仅仅查出这一页的数据。不要去遍历结果集,遍历结果集的效率是很低的。想想看如果数据有 10 万条,你要找最后一页的数据,那得遍历多少啊?
    只有一页 20 条的数据,没有必要把 10 万条全部取出来,不是么 ^_^分页的 SQL 语句,每种数据库都不一样,可以在网上找到资料。MySQL 和 PostgreSQL 可以使用 LIMIT 子句;
    DB2、Oracle 和 SQL Server 2005 可以使用 row_num() 的 ranking 函数,SQL Server 2000 比较麻烦;
    Oracle 还可以使用 rownum 的伪列