Olá gente;
Estou tendo problemas para compreender como deletar registros de uma PROCEDURE (MySql)
no JDBC.
A chamada que faço no banco funciona. Na classe não rola.
O código é esse:
public class FuncionarioDAO extends DAOBase {
///Atributos estáticos dos Métodos principais//////
private static String DELETE = null;
public FuncionarioDAO() {
this(null);
}
public FuncionarioDAO(Connection connection) {
super(connection);
///Inserindo Dados nos Campos da Tabela//////
StringBuffer stringBuffer = new StringBuffer();
////Excluindo dados da Tabela////
if (DELETE == null) {
stringBuffer.delete(0, stringBuffer.length());
//BEM AQUI QUE ESTÁ DANDO TRABALHO PARA ENTENDER
stringBuffer.append("{ CALL sp_P2DAQ018_excluir()}");
DELETE = stringBuffer.toString();
}
}
//////METODO UTILIZADO PARA EXCLUIR DADOS DA TABELA funcionarioVO/////
public boolean excluir(FuncionarioVO funcionarioVO) throws SQLException {
CallableStatement cs = null;
Connection conn = null;
try {
conn = getConnection();
cs = conn.prepareCall(DELETE);
int index = 1;
/////Chave Composta//////
cs.setInt(index++, funcionarioVO.getEmpresa());
cs.setInt(index++, funcionarioVO.getFilial());
cs.setInt(index++, funcionarioVO.getNumeroRelogio());
cs.setInt(index++, funcionarioVO.getMatricula());
int retorno = cs.executeUpdate();
if (retorno > 0) {
return true;
} else {
return false;
}
} finally {
close(null, cs, conn);
}
}
}
Esse é o meu método main:
public static void main(String[] args) {
FuncionarioVO vo = new FuncionarioVO();
vo.setEmpresa(8);
vo.setFilial(8);
vo.setNumeroRelogio(8);
vo.setMatricula(8);
FuncionarioDAO dao = new FuncionarioDAO();
try {
dao.excluir(vo);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Deletado com sucesso!!");
}

