Erro SQL

Bom Galera,

Estou desenvolvendo uma instrução sql aqui, que me permite retornar um inteiro que será um identificador.

Entretanto, está ocorrendo uma exceção quando vou pegar o valor no ResultSet.

Abaixo o código :


public static Vector recupera_relacoes_fortes(String tabela, int inventario){
        
            
            Vector v = new Vector();
                        
            String sqlString = "";
            PreparedStatement stmt; 
            ResultSet result;
            
                // Relacao 1
               sqlString = "SELECT id FROM " +tabela+ " WHERE inventario = " + inventario + " and NUM = 1";
        try {
            stmt = con.prepareStatement(sqlString);
        
                
                System.out.println(sqlString);
                // Executa o comando SQL, com os parâmetros fornecidos
                result = stmt.executeQuery();
                
              /* Na linha abaixo ocorre o erro, não importa se chamo via    nome da coluna ou via número. */
               v.add(result.getInt("id"));
               v.add(result.getInt(1));
            
            } catch (SQLException ex) {
                System.out.println("Exceção 1");
                ex.printStackTrace();
            }

Quando executo o comando SQL, via Query Browser, ele retorna o valor correto, com uma linha de resultado.

Também já verifiquei o número de linhas do resultSet no código Java é igual a 1.

A exceção lançada é a seguinte


java.sql.SQLException
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815)
        at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2593)
        at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2734)

Obrigado

Para pegar o valor de um ResultSet, você precisa carregar a linha corrente com o método “next”. Por exemplo:

                 result = stmt.executeQuery();  
                 if (result.next()) {
                     v.add (result.getInt ("id"));
                 } else {
                     // Não foi encontrado um registro na tabela com o número de inventário.
                 }

Hehe

É isso mesmo que estava faltando

Vlws Obrigado

[resolvido]