因为你用的是
stmt = conn.createStatement();
Statement 是TYPE_FORWARD_ONLY的,应该用
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
其它的参数见jdk的帮助

解决方案 »

  1.   

    因为你使用的是不带游标的方法,只有带游标的方式才支持rs.last()
    stmt = conn.createStatement();
    stmt1 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    带参数的stmt是不带游标的,带参数的是带游标的
    你应该用后一种
      

  2.   

    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
      

  3.   

    结果集合应该设置为回滚
    具体看JDBC API

    或者 UP