Excluir dados de duas tabelas JAVA

Estou desenvolvendo uma aplicação Java para desktop e gostaria de que quando o usuário clicasse no botão excluir, excluísse dados de duas tabelas ao mesmo tempo, uma com nome visitas e outra com nome chamadas.

Mas ao clicar no botão de excluir ele exclui apenas os dados das visitas e não das chamadas.

Classe DAO

 public String excluirChamada(String nome){


  String resp="";
 try{

   Connection con = Conecta.conexao();
   Statement st = con.createStatement();

   String sql2 ="delete  from tb_chamadas where cha_nome like  '%" + nome +"%'";


  st.executeUpdate(sql2);


   resp="dados da chamadas apagados";
   excluirVisita(nome);
    st.close();
   con.close();
   }
catch(Exception e){
     JOptionPane.showMessageDialog(null,"Erro na exclusao dad chamadas:\n Erro:" + e.getMessage());
}
 return resp;

}

Classe VisitasDAO que contem o método excluirVisita();

public String excluirVisita(String nome) {


 String resp="";
 try{

   Connection con = Conecta.conexao();
   Statement st = con.createStatement();


   String sql ="DELETE FROM tb_visitas WHERE cha_nome like '%"+nome+"%'";


  st.executeUpdate(sql);

   st.close();
   con.close();
   resp="OK";
  }
catch(Exception e){
    resp= e.toString();
}
return resp;

 }

Botão excluir

   private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                           
// TODO add your handling code here:

int resp3 = JOptionPane.showConfirmDialog(null, "Deseja mesmo exlcuir os dados?");
if (resp3 == JOptionPane.YES_OPTION) {
    String nome= txtNome.getText();

    String resp2 = new ChamadasDAO().excluirChamada(txtNome.getText());



     JOptionPane.showMessageDialog(this, resp2);
     
    mostrarVisitas();
    mostrarChamadas();
    limparCampos();
} else {
    JOptionPane.showMessageDialog(this, "Erro ao excluir");
}
}

Ficou meio confuso pois não sei como está estruturado seu BD, mas pelo jeito que você disse, aparentemente sua visita é dependente de chamada!
Realize o processo inverso, exclua primeiro as visitas e depois as chamadas.

No caso as minhas tabelas do banco de dados não possuem relacionamentos

O que acontece se executar o SQL contido em sql2 direto no banco?

Posta o conteúdo da tabela mostrando com esse dado que quer buscar e poste também o SQL acima sendo executado no banco.

ele exclui normalmente os dados das chamadas

Esse nao é SQL final executado, tem que ser já com o conteudo da variavel nome.

mas eu passo o nome digitado pelo parametro

e como vou colocar o conteudo da variavel nome ?

Copia a string que é retornada pela variável sql2.

essa string resp="dados da chamadas apagados";

Debuga, ve o que sql2 retorna e copia.

ela me retorna isso aqui delete from tb_chamadas where cha_nome like '%Ronaldo%'

Posta o conteúdo da tabela mostrando a linha que quer apagar.

Quero que apague todos os registros com nome do cliente chamado ronaldo
Minha JTable

Minha tabela do banco de dados das visitas

Minha tabela chamadas

postei

Nao tem Ronaldo em tb_chamadas

desculpe coloquei a imagem errada

não sei porque não ta indo, quando eu debugo o código ele funciona mas quando rodo a aplicação normalmente ele não funciona corretamente