Olá tudo bem?
Preciso inserir os dados em uma tabela, mas antes disso preciso excluir todos os campos, como faço isso.
Obrigado!
Olá tudo bem?
Preciso inserir os dados em uma tabela, mas antes disso preciso excluir todos os campos, como faço isso.
Obrigado!
delete from table
Você precisa inserir mas antes excluir todos os campos??? Seria uma sobrescrita dos dados? Se for, use “Update set”. :?
Em minha aplicação uso JSF - Spring - Hibernate
O que quero fazer é excluir todos os campos de uma tabela antes de popula-la novamente.
segue exemplo de meu codigo - Não sei o que estou errando. Obrigado pela ajuda
public String updateAnestesista() {
deleteAllAnestesita();
System.out.println("1");
sysartDao = new SysartDao();
Collection<AnestesistaSys> anestesistas = new ArrayList<AnestesistaSys>();
System.out.println("2");
anestesistas = sysartDao.selectAllAnestesistas();
System.out.println(anestesistas.size());
System.out.println("3");
for (AnestesistaSys anest : anestesistas) {
boolean jaEstaCadastrado = false;
anestesista = new Anestesista();
System.out.println("4");
if (anestesistaDao.listPesqParamClauseWhere("obj.crmAnestesista = " + anest.getCrmAnestesista()).size() > 0) {
System.out.println("4");
anestesista = anestesistaDao.singlePesqParamClauseWhere("obj.crmAnestesista = "
+ anest.getCrmAnestesista());
jaEstaCadastrado = true;
}
if (!jaEstaCadastrado) {
System.out.println("veio véio");
anestesista.setCrmAnestesista(anest.getCrmAnestesista());
anestesista.setDataPlantao(anest.getDataPlantao());
anestesista.setEscala(anest.getEscala());
anestesista.setSituacao(anest.getSituacao());
anestesista.setNomeAnestesista(anest.getNomeAnestesista());
anestesistaDao.atualizar(anestesista);
}
}
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_INFO, "Anestesitas atualizados com sucesso!!", null));
return "update";
}
public void deleteAllAnestesita() {
try {
Collection<Anestesista> anestesistas = new ArrayList<Anestesista>();
sysartDao = new SysartDao();
anestesistas = sysartDao.deleteAnestesista();
anestesista = new Anestesista();
for (Anestesista anest : anestesistas) {
anestesista = anestesistaDao.singlePesqParamClauseWhere("obj.idAnestesista = "
+ anest.getIdAnestesista());
anestesistaDao.excluir(anestesista);
}
} catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro: " + e.getMessage(), null));
}
}
public Collection<Anestesista> deleteAnestesista(){
try {
this.sql = "delete from anestesista";
this.ps = conScp.prepareStatement(sql);
this.ps.executeUpdate();
return null;
} catch (Exception ex) {
System.out.println(ex.getMessage());
return null;
} finally {
SysartCon.close(con, ps, rs);
}
}
Confuso seu código, se você está utilizando hibernate, seria mais util você utilizar o método delete do Hibernate, não? Não vejo a necessidade de usar prepareStatement nesse e muito menos optar por queries nativas, se voce já estah fazendo um laço, para remover cada um dos registros, basta apenas chamar o metodo do hibernate que remove para remover os registros que estah sendo passado por parametro. E antes de vc salvar os registros vc pode optar de limpar a lista antes de salvar os dados.