Erro mysql

4 respostas
A

Alguem sabe me dizer se quando declaramos as variáveis de uma classe e umas dessas váriaveis é uma fk, temos q declarar de uma forma diferente pois estpou declarando dessa forma:

public class ClasseRaca { private Integer id; private String descricao; private Integer idReg; (fk) }
pois ao tentar inserir um registro ele me retorna o seguinte erro:

Cannot add or update a child row: a foreign key constaint faiils.

Pelo q eu entendi naum está achando o registro da tabela pai, mas naum consigo resolver esse problema…
Alguém já passou por coisa parecida…ou sabe como resolver esse problema.

4 Respostas

felipealbuquerque

Bom dia, Alex!

Não seria melhor, ao invés de colocar:

private Integer idReg;

Algo como

private ObjetoDequemIdRegEhChave reg;

?

A

mais uma perguntinha felipe..como eu capturo...?

if(jDescricao.getText().length()==0){
        JOptionPane.showMessageDialog(null, "Preencha todos os campos!");
    }else{
     ClasseRaca raca = new ClasseRaca();
     raca.setDescricao(jDescricao.getText());
     raca.setIdReg(jComboBoxReg.getSelectedItem().toString());
     
     raca.incluirRaca();
     
     jDescricao.setText("");
     jDescricao.requestFocus();
    }
    }

tá dando erro pois ele tá pedindo p/ mim criar um setIdreg n classe mas já está criado.

public ClasseReguladora getIdReg() {
        return idReg;
    }

    public void setIdReg(ClasseReguladora idReg) {
        this.idReg = idReg;
    }
felipealbuquerque

Você está passando uma String no método setIdReg, quando deveria ter passado um objeto do tipo ClasseReguladora, por isso o compilador está reclamando.

A

e como eu passo um Objeto?

Criado 7 de novembro de 2008
Ultima resposta 7 de nov. de 2008
Respostas 4
Participantes 2