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