Erro na inserção de registro na Tabela Detalhe
27/12/2005
0
Olá a todos!
Tenho duas tabela em meu sistema USUARIO (MESTRE) e USUARIO_SERIE (DETALHE)
na tabela de USUARIO eu cadastro o COD_USUARIO, NOME_USUARIO e o PERFIL_USUARIO
na tabela de USUARIO_SERIE eu cadastro o COD_USUARIO (FK) e a SERIE_USUARIO
O porque dessa estrutura, e que eu necessito que um usuário pode ter a acesso
a uma ou mais séries de acordo com o que for cadastrado na tabela detalhe.
na query detalhe coloque na seguinte forma
[color=red:b6bf77bb30]
select
U.COD_USUARIO,
U.NOME_USUARIO,
U.PERFIL_USUARIO,
US.USUARIO_SERIE_ENSINO,
C.NOME_COMP_CURRIC
from
USUARIO U
left join
USUARIO_SERIE US on (U.COD_USUARIO = US.COD_USUARIO)
left join
COMPONENTE_CURRICULAR C ON (US.COD_COMP_CURRIC = C.COD_COMP_CURRIC)
WHERE US.COD_USUARIO = :COD_USUARIO
[/color:b6bf77bb30]
visualiza perfeitamente no DBGrid da tela (com ADOQuery), só que preciso também editar, incluir ou deletar na tabela detalhe, mas sempre dá um erro!
Descrição do erro:
[color=red:b6bf77bb30]
Project Project1.exe raised exeception class EDatabaseError with message Field ´COD_USUARIO´ cannot be modified.
[/color:b6bf77bb30]
Já tentei também com ADOTable utilizando mastersource, mas quando coloco um campo lookup para aparecee o nome do componente curricular, dá uma messagem de ERRO DESCONHECIDO!
[color=red:b6bf77bb30][/color:b6bf77bb30]
Tenho duas tabela em meu sistema USUARIO (MESTRE) e USUARIO_SERIE (DETALHE)
na tabela de USUARIO eu cadastro o COD_USUARIO, NOME_USUARIO e o PERFIL_USUARIO
na tabela de USUARIO_SERIE eu cadastro o COD_USUARIO (FK) e a SERIE_USUARIO
O porque dessa estrutura, e que eu necessito que um usuário pode ter a acesso
a uma ou mais séries de acordo com o que for cadastrado na tabela detalhe.
na query detalhe coloque na seguinte forma
[color=red:b6bf77bb30]
select
U.COD_USUARIO,
U.NOME_USUARIO,
U.PERFIL_USUARIO,
US.USUARIO_SERIE_ENSINO,
C.NOME_COMP_CURRIC
from
USUARIO U
left join
USUARIO_SERIE US on (U.COD_USUARIO = US.COD_USUARIO)
left join
COMPONENTE_CURRICULAR C ON (US.COD_COMP_CURRIC = C.COD_COMP_CURRIC)
WHERE US.COD_USUARIO = :COD_USUARIO
[/color:b6bf77bb30]
visualiza perfeitamente no DBGrid da tela (com ADOQuery), só que preciso também editar, incluir ou deletar na tabela detalhe, mas sempre dá um erro!
Descrição do erro:
[color=red:b6bf77bb30]
Project Project1.exe raised exeception class EDatabaseError with message Field ´COD_USUARIO´ cannot be modified.
[/color:b6bf77bb30]
Já tentei também com ADOTable utilizando mastersource, mas quando coloco um campo lookup para aparecee o nome do componente curricular, dá uma messagem de ERRO DESCONHECIDO!
[color=red:b6bf77bb30][/color:b6bf77bb30]
Chucky21
Curtir tópico
+ 0
Responder
Posts
27/12/2005
Edilcimar
o cod_usuário é a chave de interligação entre as duas tabelas, conseqüentemente não pode ser modificada, o que vc pode fazer é modificar os outros campos ou excluir o registo
Responder
28/12/2005
Chucky21
Obrigado pela atenção!
Pois é não quero alterar, quero somente passar o valor do COD_USUARIO para a tabela detalhe (USUARIO_SERIE) quando for inserir um registro na mesma!
Pois é não quero alterar, quero somente passar o valor do COD_USUARIO para a tabela detalhe (USUARIO_SERIE) quando for inserir um registro na mesma!
Responder
Clique aqui para fazer login e interagir na Comunidade :)