从程序本身没看出什么错误来,你的SQL怎么写的?从错误的描述来看应该是rs.getString()的时候出的错,可能性有:
1.你查询的时候没有select 2个或2个以上的字段
2.你的这两个字段不都是String类型(对应数据库的Varchar或char)

解决方案 »

  1.   

    1、
    错误描述:无效的光标状态 
    错误可能原因: 没有rs.next()
    2、
    错误描述: 无效的描述符索引
    错误可能原因: 在没有设定结果集回滚的情况下,没有按顺序读取字段。
      

  2.   

    我是楼住
    SQL是这样写的:ResultSet rs=stmt.executeQuery("Select Number,Name from Student");
     为什么在程序中我只能用一次:System.out.println(rs.getString(1));
      用第2遍时就会出现异常?为什么会这样啊?
      

  3.   

    第一行的数据只能输出一个啊
    这没什么问题吧
    你把SQL语句改为rs=stmt.executeQuery("select * from Student where Number='"+number+"'");
    前面应该还有个构造函数
    public Database(String number)以及对异常进行抛出,等等~
      

  4.   

    我是楼住
    我知道啦~~
    好象是数据库中的查询,一旦 rs返回了第2个段的字符后,就不能再返回到以前啦~~
    比如说下面rs.getString(2);
              rs.getString(1);就会出错 是不是这个原因啊?
      

  5.   

    jdbc中必须按字段顺序取值
    比如:
    select a,b from tablename
    要按下面的方式访问:
    rs.getString("a");
    rs.getString("b");
    如果是
    rs.getString("b");
    rs.getString("a");
    的话就会出现上面提示的错误.....