Erro na inserção de registro na Tabela Detalhe

27/12/2005

1

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]


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!


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira