Estou com um problema para editar o banco de dados com java.
Fiz de duas maneiras, porém nenhuma da certo
Desse jeito , lança uma exceção NullPointerException
public void alterarUsuario(Cliente cliente, Endereco end, int id) {
Statement stmt = null;
String sql = "";
try{
sql = "Update managementCommerce.clientes set nome='" + cliente.getNome();
sql += "',endereco='" + end.getRua() + "',telFixo='";
sql += cliente.getTelFixo() + "'where id = "+id;
stmt.executeUpdate(sql);
System.out.println("OK");
this.resultset = stmt.executeQuery("select * from clientes");
this.resultset.first();
}catch(SQLException e){
System.out.println("ERRO");
}
}
Desse jeito, ele diz que o contato foi editado com sucesso, porém, no banco de dados não altera.
public void EditarUsuario(Cliente cliente, Endereco end, int id){
// apaga um usuario do banco de dados
Statement stmt = null;
// query que será executada
//String sql = "UPDATE clientes set nome = 'ana' WHERE nome = 'Diego'";
/* String sql = "UPDATE managementCommerce.clientes set nome = '" + cliente.getNome() + "'," +
" endereco = '" + end.getRua() + "',numero = '" + end.getNumero() + "'," +
"complemento = '" + end.getComplemento() + "',bairro = '" + end.getBairro() + "', " +
"cep = '" + end.getCep() + "', referencia = '" + end.getReferencia() + "'," +
" telFixo = '" + cliente.getTelFixo() + "', " +
"telCelular = '" + cliente.getTelCelular() +
" where nome = '" + nomeAntigo + "'";*/
String sql = "Update managementCommerce.clientes set nome='" + cliente.getNome();
sql += "',endereco='" + end.getRua() + "',telFixo='";
sql += cliente.getTelFixo() + "'where id ='" + id + "'";
try {
stmt = this.conn.createStatement();
stmt.executeUpdate(sql);
System.out.println("usuário editado com sucesso!");
} catch(SQLException e){
System.out.println("erro ao editar usuario: " + e.getMessage());
} finally {
try {
// fecha o stmt
if(stmt != null) stmt.close();
} catch (SQLException e){
System.out.println("erro ao tentar fechar o stmt: " + e.getMessage());
}
}
}