Bom dia João Victor
Fiz uma pequena modificação no código que retorna a mensagem com o índice inserido para que ele retorne também o nome do produto inserido, porém estou recebendo a Exception in thread "main" java.sql.SQLException: Column Index out of range, 2 > 1.
.
Segundo o que entendi da explicação no método getString podemos receber como parâmetro o label ou o índice da coluna do banco de dados correto? Ou seja, se eu quisesse recuperar o nome pelo label faria rst.getString("NOME"), se fosse pela coluna seria rst.getString(2). Tentei das duas formas e continuo recebendo a Exception. Segue o código abaixo.
Obrigado.
public class TestaInsercao {
public static void main(String[] args) throws SQLException {
ConnectionFactory factory = new ConnectionFactory();
Connection connection = factory.recuperarConexao();
Statement stm = connection.createStatement();
stm.execute("INSERT INTO PRODUTO (nome, descricao) VALUES ('Mouse sem fio','Logitech M170 com Design Ambidestro Compacto Conexão USB')",
Statement.RETURN_GENERATED_KEYS);
ResultSet rst = stm.getGeneratedKeys();
while(rst.next()) {
Integer id = rst.getInt(1);
String nome = rst.getString(2); //A Exception ocorre aqui!!!
System.out.println("Produto: " + nome + " inserido com sucesso!/n"
+ "O id criado foi: " + id);
}
}
}