Olá,
Uma dúvida, se eu executar meu método salva() abaixo, ele ocorre o seguinte erro: "A instrução deve ser executada antes que qualquer resultado seja obtido."
public void salva(Produto produto) throws SQLException {
String sql = "insert into Produto (nome, descricao) values (?, ?)";
try (PreparedStatement statement = con.prepareStatement(sql)) {
statement.setString(1, produto.getNome());
statement.setString(2, produto.getDescricao());
statement.execute();
try (ResultSet rs = statement.getGeneratedKeys()) {
if (rs.next()) {
int id = rs.getInt("id");
produto.setId(id);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Visto que, se eu retirar o try catch do ResultSet, este erro para de ocorrer ... alguém saberia o por que disto ?
Quando criei a tabela Produto no SQL Server, fiz a seguinte query
Create table Produto (
id integer identity primary key,
nome varchar(50) not null,
descricao varchar(255)
)