Duvida quanto o foreign key

Firebird

14/02/2005

Pessoal, bom dia. estou tendo um problema quando estou usando o foreign key em uma tabela. vou fazer um resumo para voces:
Possuo 2 tabelas que são usuarios e dependentes

tabela usuarios
id integer not null
nome char(50) etc
constraint pk_usuarios primary key (id)

tabela dependentes
id integer not null
id_usuario intger
nome char(50) etc
constraint pk_dependentes primary key (id)

no meu sistema, eu tenho um formulario com um page control com 2 abas, uma aba para usuario e uma aba para dependente.

quando eu digito o dependente e clico no botão para incluir, aparece a seguinte mensagem de erro :
violation of FOREIGN KEY constrain FK_DEPENDENTES_USUARIOS on table DEPENDENTES.

As 2 tabelas tem um generator que são inicializados on new record, e não on post

o estranho é que se eu tirar o foreign key da tabela dependentes, o sistema roda normal, ou seja , quando eu clico para gravar o dependente, o mesmo grava certinho, com todos os dados

Será que alguem poderia me ajudar

Atenciosamente

Marcio Nardo


Mnardo

Mnardo

Curtidas 0

Respostas

Fsflorencio

Fsflorencio

14/02/2005

Pessoal, bom dia. estou tendo um problema quando estou usando o foreign key em uma tabela. vou fazer um resumo para voces: Possuo 2 tabelas que são usuarios e dependentes tabela usuarios id integer not null nome char(50) etc constraint pk_usuarios primary key (id) tabela dependentes id integer not null id_usuario intger nome char(50) etc constraint pk_dependentes primary key (id) no meu sistema, eu tenho um formulario com um page control com 2 abas, uma aba para usuario e uma aba para dependente. quando eu digito o dependente e clico no botão para incluir, aparece a seguinte mensagem de erro : violation of FOREIGN KEY constrain FK_DEPENDENTES_USUARIOS on table DEPENDENTES. As 2 tabelas tem um generator que são inicializados on new record, e não on post o estranho é que se eu tirar o foreign key da tabela dependentes, o sistema roda normal, ou seja , quando eu clico para gravar o dependente, o mesmo grava certinho, com todos os dados Será que alguem poderia me ajudar Atenciosamente Marcio Nardo


Amigo, o que está acontecendo é que o código do usuário na tabela dependentes está inválido.
Não sei como vc está fazendo, mas verifique se os campos estão recebendo os valores corretos. O mais provável é que ele esteja ficando nulo.

Se não for isto, então pode ser que você não esteja usando a mesma transação para inserir os registros das duas tabelas e não estar comitando antes de inserir o dependente, então neste caso é só comitar.

Uma outra possibilidade é que a constraint FK_DEPENDENTES_USUARIOS não esteja definida corretamente, neste caso seria interessante postar o metadata da constraint também.

Tente estas possibilidades, caso não consiga resolver, nos dê mais alguma pista.

até.


GOSTEI 0
Mnardo

Mnardo

14/02/2005

ja descobri o que eu estava fazenda. estava gravando primeiro a tabela dependentes para depois gravar a tabela usuarios.


GOSTEI 0
POSTAR