1
resposta

Fechamento do método rst.close();

se pedimos para o Java fechar o PreparedStatement na primeira chamada do método adicionarVariavel que foi criado na aula, na segunda chama o certo não era conexão estar fechada ?

Trecho do código:

    adicionarVariavel("SmartTv", "45 polegadas", ps);
     adicionarVariavel("Radio", "Radio de bateria", ps);

private static void adicionarVariavel(String nome, String descricao, PreparedStatement ps) throws SQLException { ps.setString(1, nome); ps.setString(2, descricao);

    ps.execute();

    ResultSet rst = ps.getGeneratedKeys();

    while (rst.next()) {
        Integer id = rst.getInt(1);
        System.out.println("O id criado foi: " + id);
    }
    rst.close();
}
1 resposta

Pablo, boa noite. Não seria possível fechar o preparedStatement na primeira chamada, senão não seria possível commitar a transação. O ideal é fechar os recursos sempre ao final da transação, sendo ela bem sucedida (commit) ou mal sucedida (rollback). =)

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