public void altera(Contato contato) {
String sql = "update contatos set nome=?, email=?, endereco=?, dataNascimento=?, where id=?";
try{
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, contato.setNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stmt.setLong(5, contato.getId());
stmt.executeUpdate();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public class TestaInsere {
public static void main(String[] args) {
//pronto para gravar
Contato contato = new Contato();
contato.setNome("Allan");
contato.setEmail("allan@hotmail.com.br");
contato.setEndereco("R. Januario de Souza 4585 cj34");
contato.setDataNascimento(Calendar.getInstance());
//grave nessa conexão
ContatoDAO dao = new ContatoDAO();
//método elegante
dao.altera(contato);
System.out.println("Gravado!");
}
}
OBS.: Criei um método altera e não estou conseguindo fazer o update no contato. O que preciso
mudar no main para funcionar? Ou não é no main que preciso mudar? Pode ser com dicas
ou implementações no código. Desde já agradeço pela atenção. No aguardo, obrigado.
Contato contato = new Contato();
contato.setNome("Allan");
contato.setEmail("allan@hotmail.com.br");
contato.setEndereco("R. Januario de Souza 4585 cj34");
contato.setDataNascimento(Calendar.getInstance());
Vc não deu setId. Com isso, vai sempre 0.