while (!resultSet.wasNull()) {
resultSet.next();
System.out.println ("output");
System.out.println (resultSet.getString(2));
}

解决方案 »

  1.   

    回复人: coolmetal(Hello :)~) ( ) 信誉:100  2003-08-02 09:56:00  得分:0 
     
     
      为什么要first?
      
     
    为什么不要first?--也许我想先取得记录集的记录数
    这和我的问题没什么关系吧。记录集刚打开时不是也定位在第一条记录吗?
      

  2.   

    resultset 没有判断是否到了记录末的函数?
      

  3.   

    /*
    resultSet.beforeFirst();
    while (resultSet.next()) {
    System.out.println ("output");
    System.out.println (resultSet.getString(2));
    }
    */
    resultSet.first();
    while (!resultSet.isAfterLast()) {
    System.out.println ("output");
    System.out.println (resultSet.getString(2));
    resultSet.next();
    }

    ================================
    好了,可以正确取出结果了
    你们一般是怎么了数据集的?
      

  4.   

    先用resultSet.hasNest()判断有没有吓一条数据,有的话用resultSet.next()取: while (resultSet.hasNext()) {
                                         resultSet.next();
    System.out.println ("output");
    System.out.println (resultSet.getString(2));
    }
      

  5.   

    sorry,上面说错了,我看到的是包了一层的ResultSet,不过普通的ResultSet直接像下面这样用就可以全部取出来了,为什么这么麻烦呢?
    rs = st.executeQurey();
    if (rs != null) {
        while (rs.next) {
            str1 = rs.getString("str1");
            ...
        }
    }
      

  6.   

    resultSet.first();   把该句去掉查询后, 游标出于第一条记录之前, 如果执行了 resultSet.first(), 那么游标就在第一条记录上,
    所以 next() 后, 第一条就不会被打印出来