是不是你的数据已经没有了,也就是上一个rs.next()已经返回false了,你又调用了rs.next(),所以就出错了。

解决方案 »

  1.   

    不是我又调用了rs.next(),原本程序中是没有rs.next()这一句的,是因为执行到下一句时程序提示:无效的游标状态。所以我就加上了rs.next()这一句的!
    但在其他的程序中我没有用到rs.next()这一句却没有错误,百思不得其解!
      

  2.   

    1、stmt是怎么样创建的?
    2、数据库里有没有记录?如果没有必须检查(if(rst.next))否则报错。
      

  3.   

    stmt创建应该没问题的,但是查出的是有记录的为什么还要用rs.next();
      

  4.   

    ResultSet对象为你提供从表中访问数据的方法,它维护一个指向当前数据行的光标,开始,光标位于第一行之前,next()方法将光标移动到下一行。
      

  5.   

    那既然开始是指向第一行,为什么还要用rs.next()才没错?执行rs.next()不就走到下一行去了!
      

  6.   

    光标位于第一行之前,而不是第一行所以要next(),先