java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.getInt(Unknown Source)
at net.acai.database.DBConnect.main(DBConnect.java:187)
数据库中就一个表,表有两个字段,
ResultSet rs=conn.stmt.executeQuery("select * from class");
          
            System.out.println(rs.getInt(1));
           System.out.println(rs.getString(2));
          }catch(Exception e){
            e.printStackTrace();
          }

解决方案 »

  1.   

    conn.stmt.executeQuery("select * from class");你应该首先用connection.createStatement()来获取一个statement实例,然后调用statement实例的executequery方法
      

  2.   

    已经实例化了statement,stmt就是
      

  3.   

    那就直接用stmt就可以了,不用conn.stmt
    ResultSet rs=stmt.executeQuery("select * from class");
              
                System.out.println(rs.getInt(1));
               System.out.println(rs.getString(2));
              }catch(Exception e){
                e.printStackTrace();
              }
      

  4.   

    还有,rs没有调用next方法
    ResultSet rs=stmt.executeQuery("select * from class");
              rs.next();
                System.out.println(rs.getInt(1));
               System.out.println(rs.getString(2));
              }catch(Exception e){
                e.printStackTrace();
              }
      

  5.   

    异常已经提示了。对游标的操作出现异常
    楼主少了
    rs.next();语句
    当执行
    ResultSet rs = stmt.executeQuery(sql);之后
    rs指向第一条记录的前边