错误代码为:java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY

解决方案 »

  1.   

    rs = stmt.executeQuery(sql);//sql是查询语句*****************************
    rs.next();
    ********************************String col1 = rs.getString(1);String col2 = rs.getString(2);String col3 = rs.getString(3);
      

  2.   

    rs = stmt.executeQuery(sql);//sql是查询语句while(rs.next())
    {
    String col1 = rs.getString(1);String col2 = rs.getString(2);String col3 = rs.getString(3);
    }
      

  3.   

    为什么next()了就可以了??
    俺也碰到了:(
      

  4.   

    用rs.first()也成功了。
    但是我查资料时读到下面这句话:
    “用缺省设置创建时,ResultSet 是一种只能访问一次(one-time-through)、只能向前访问(forward-only)和只读的对象。您只能访问数据一次,如果再次需要该数据,必须重新查询数据库。”
    可是我的ResultSet是缺省创建的,为什么while (rs.next())就可以用呢?按上面的说法,不能向后访问啊,这是为什么呢?
      

  5.   

    它指的向前就是你指的向后 rs.next()
    它的意思是不能rs.previous,就是只能一个方向。
      

  6.   

    在STMT有设置游标可不可以滚动的变量,你可以设置为可滚动.还有当你取得RS的时候,游标在第一个记录的前边,所以要next()
    这个方法返回是否有下一条,并向下移一行.
      

  7.   

    应该不是你的sql执行语句的错误
    而是
    你下面的get因该按照数据库中的字段顺序取出.不能前后颠倒.