Pessoal, estou tentando excluir um registro do meu BD, mas não estou conseguindo! O programa segue a seguinte estrutura: peço para listar todos os registros do BD, então na ultima coluna tenho um commandlink para excluir, o que pretendo é que quando clicado exclua o registro. Alguém pode me ajuda? Vlw.
Segue o código da minha Dao onde excluo o registro através do nome:
public void getExcluirFuncionario(String nome) throws SQLException {
Conexao conexao = Conexao.getInstance();
Connection con = conexao.getConnection();
PreparedStatement pstm = con.prepareStatement("delete from funcionario where nome = ? ");
pstm.setString(1, nome);
pstm.execute();
pstm.close();
}
Código da classe que chama esse método(FuncionarioBack):
Obs.: não estou certo quanto a passagem de parâmetro!
public String apagar() throws SQLException{
String result = "erro";
try{
funcionarioDao.getExcluirFuncionario(funcionario.getNome());
result = "excluir";
}catch(SQLException exc){
System.out.println("erro "+exc);
result = "erro";
}
return result;
}
Codigo da minha pagina que lista e tem o link para excluir:
<html>
<f:view>
<head>
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
<h:form>
<h:dataTable value ="#{funcionarioBack.funcionarios}" var = "func"
border="0" headerClass="cabecalho"
rowClasses="linha1,linha2">
<h:column>
<f:facet name="header">
<h:outputText value = "Codigo"/>
</f:facet>
<h:outputText value="#{func.codigo}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value = "Nome"/>
</f:facet>
<h:outputText value="#{func.nome}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value = "Sexo"/>
</f:facet>
<h:outputText value="#{func.sexo}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value = "Cidade"/>
</f:facet>
<h:outputText value="#{func.cidade}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Excluir" />
</f:facet>
<h:commandLink value="Excluir" action = "#{funcionarioBack.apagar}"/>
</h:column>
</h:dataTable>
<br>
<h:commandLink action="novo" value="Novo Contato" />
</h:form>
</body>
</f:view>
</html>