我的环境是java6. DB2v9.5  链接DB采用type4.比如说我的ResultSet里有一条数据。resultset.next(); 这时指针指向第一条。resultset.next(); 这时应该返回false;问题点:
我在执行:
resultset.next();这时就报resutlset closed 异常。这是怎么回事? 在 链接DB采用type2 时就没有错误。

解决方案 »

  1.   

    next()前用hasnext()判断一下嘛
      

  2.   

    LZ,两句.next()之间的代码是什么呢?
      

  3.   

    估计楼主在执行resultset.next(); 之前已经close了statement或者connection!建议在使用完resultset后再关闭
      

  4.   

    就是DB2 采用type4链接。resultset 里有一条data.代码就是:resultset.next();
    resultset.next();
    resultset.next();
    最后一个为啥报resultset close错误呢?type2链接 就没有这个错呢。
      

  5.   

    问题问得不清,一般判断下
    while(ResultSet.next()){
    }
      

  6.   


    应该是 close statement 或者connection代码贴出来看看
      

  7.   

    for(int i = 0; i < 5; i ++)
    {
         //rs里有一条data
        if(rs.next()){ 
         。
       }
    }
    rs.close();
    不是statement或者connection提前关了。
    错误:
    com.ibm.db2.jcc.b.SqlException: [jcc][t4][10120][10898][3.50.152] 操作が無効です: result set はクローズされています。 ERRORCODE=-4470, SQLSTATE=null
    at com.ibm.db2.jcc.b.wc.a(wc.java:55)
    at com.ibm.db2.jcc.b.wc.a(wc.java:102)
    at com.ibm.db2.jcc.b.jk.Bb(jk.java:3987)
    at com.ibm.db2.jcc.b.jk.c(jk.java:273)
    at com.ibm.db2.jcc.b.jk.next(jk.java:258)