Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

NullPointer no TesteInsert

Seguindo conforme a aula do professor tomo um NullPointer no While(rts.next()){} O valor é adicionado no Bd mas não consigo dar proseguimento no código. O estranho é que o de listagem funciona normalmente!

package br.com.alura.ligacaoComBD.testeConexao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TesteInsert {
    public static void main(String args[]) throws SQLException {
        ConnectionFactory criaConexao = new ConnectionFactory();
        Connection conexao = criaConexao.getConexao();

        Statement stm = conexao.createStatement();
        stm.execute("INSERT INTO PRODUTO (nome, descricao) VALUES ('Mouse', 'Mouse sem fio')",
                Statement.RETURN_GENERATED_KEYS);//para retornar o id gerado

        ResultSet rts = stm.getResultSet();

        while (rts.next()) {
            Integer id;

            id = rts.getInt(1);//exemplo com o index da coluna

            System.out.println("O id gerado foi o " + id);
        }

        conexao.close();
    }
}
3 respostas
solução!

Boa noite Gabriel,

Acho que você deveria ter feito ResultSet rst = stm.getGeneratedKeys(); ao invés de ResultSet rts = stm.getResultSet();

Muito Obrigado, Irene!

Por nada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software