Galera eu tenho uma tabela Endereço que e relacionada com 3 tabelas de 1 para muitos , tabela cliente, funcionário e fornecedor.
o meu problema e na hora de deletar.
EX:
a medida q vc adiciona o cliente o fornecedor e funcionário a id do Endereco quando deletada eles ficam diferentes das tabelas quando são adicionadas ,não são mais iguais ,
Ex: idcliente = 3 idendereco =5 para deletar tinha q ser ( = ) igual, aqui no caso não e, então não ira remover .
EX: idcliente = 2 idendereco = 2 são iguais, assim deleta por que sao iguais.
Agora eu não sei como resolvo isso, pq a medida q vc deleta o cliente a id quando são adicionada vão ser tudo diferente.
Aqui esta o método de remover de duas tabelas
Do cliente
public void remove(Cliente c1) throws SQLException{
String sql;
sql = "delete cliente,Endereco from cliente INNER JOIN Endereco ON Endereco.idEndereco = cliente.codcliente WHERE cliente.codcliente = ? ";
try (PreparedStatement stmt = conexao.prepareStatement(sql)) {
stmt.setInt(1,c1.getCodcliente());
stmt.execute();
}
}
}
Aqui esta do fornecedor
public void remove(Fornecedor c1) throws SQLException{
String sql;
sql = "delete fornecedor,Endereco from fornecedor INNER JOIN Endereco ON Endereco.idEndereco = fornecedor.idfornecedor WHERE fornecedor.idfornecedor = ? ";
try (PreparedStatement stmt = conexao.prepareStatement(sql)) {
stmt.setLong(1,c1.getIdfornecedor());
stmt.execute();
}
}
Se alguém souber em como eu posso sanar esse erro, agradecerei muito.