Bom tarde amigos,
é o seguinte estou tentando remover alguns contatos no banco usando jdbc e jsf eu consigo inserir e buscar mais não remover quando executo não me retorna nenhum tipo erro.
código da bean de remoção
public String remove() throws SQLException {
String result_remocao = REMOCAO_INVALIDA;
try {
stm = con.createStatement();
stm.executeUpdate(“DELETE FROM funcionarios WHERE id=’” + id + “’”);
result_remocao = BUSCA_VALIDA;
stm.close();
} catch (SQLException e) {
System.err.println("Erro: " + e);
result_remocao = BUSCA_INVALIDA;
}
return result_remocao;
}
e da jsp.
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>
Resultado da Busca
Id: |
|
Nome: |
|
Usuário: |
|
Email: |
|
voltar
Antes de mais nada, arrume esse seu método, ele está engolindo a exceção
public String remove() {
String result_remocao = REMOCAO_INVALIDA;
try {
stm = con.createStatement();
stm.executeUpdate("DELETE FROM funcionarios WHERE id='" + id + "'");
result_remocao = BUSCA_VALIDA;
stm.close();
} catch (Exception e) {
e.printStackTrace();
result_remocao = BUSCA_INVALIDA;
}
return result_remocao;
}
Tenta de novo e posta aqui o que saiu nos logs!
Nessa parte do JavaWHERE id='" + id + "'");
tem certeza que está passando o parâmetro id?
Ah, tá explicado o porquê que ele não exclui.
Você está passando o Id como parâmetro do link mas não o está recuperando no teu mbean
String idBanco = ((HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getExternalContext().getRequest()).getParameter("idBanco");
stm.executeUpdate("DELETE FROM funcionarios WHERE id='" + idBanco + "'");
Outra coisa, dê uma lida em MVC, não é uma boa prática fazer a conexão com o banco no controler da tua áplicação 
o correto seria assim
<h:commandButton action="#{loginDAO.remove}" value="apagar"
onclick="javascript:if (!confirm('Deseja excluir este registro?')) return false;" >
<f:param id="id" value="#{loginDAO.id}"/>
</h:commandButton>
</table>
</rich:panel>
</h:form>
alterei a bean para imprimir o resultado esta retornando null
[code]public String remove() {
String result_remocao = REMOCAO_INVALIDA;
try {
stm = con.createStatement();
stm.executeUpdate(“DELETE FROM funcionarios where id=’” + id + “’”);
System.out.println(“id=”+ id);
result_remocao = BUSCA_VALIDA;
stm.close();
} catch (Exception e) {
e.printStackTrace();
result_remocao = BUSCA_INVALIDA;
}
return result_remocao;
}
[/code]