conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)来实现!

解决方案 »

  1.   

    嗯,同vcvj!补充一点:
    用Statement st=conn.createStatement();的话
    默认是与Statement st=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);如果想要用rs.last()等方法的话,得设置ResultSet为允许滚动(scrollable),即:
    Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);当然,也可以用:
    Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);TYPE_SCROLL_INSENSITIVE 和 TYPE_SCROLL_SENSITIVE的区别是:
    前者不会理会其他程序对ResultSet所做的变动,而后者会实时更新其他程序造成的ResultSet变动原文是
    TYPE_SCROLL_INSENSITIVE: that is scrollable but generally not sensitive to changes made by others.
    TYPE_SCROLL_SENSITIVE: that is scrollable and generally sensitive to changes made by others.
      

  2.   

    ps:
    我在用mysql的时候还碰到过另外一种不能使用rs.last()的情况:jdbc驱动不支持。
    后来更新了驱动才解决问题