Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Edersigner

violation of FOREIGN KEY !

Recommended Posts

Pessoal estou com esse erro quando vou inserir outros produtos no dbgrid itens da compra "violation of FOREIGN KEY constraint FK_TB_ITEMCOMPRA_1 on table "TB_ITEMCOMPRA"

 

Delphi 7 - Firebird 1.5 - IBX

 

Tabelas

 

Compra

 

CREATE TABLE TB_COMPRA (

IDCOMPRA INTEGER NOT NULL, PK

NOTAFISCAL INTEGER,

DATA_EMISSAO DATE,

DATA_ENTRADA DATE,

OBSERVACAO VARCHAR(60),

TOTAL_NOTA D_MOEDA /* D_MOEDA = DECIMAL(10,2) */,

IDFORNECEDOR INTEGER FK

);

 

Item Compra

 

CREATE TABLE TB_ITEMCOMPRA (

ID INTEGER NOT NULL, PK

IDCOMPRA INTEGER NOT NULL, FK

IDPRODUTO INTEGER NOT NULL, FK

QUANTIDADE INTEGER,

PERC_DESC DECIMAL(3,2),

VLRUNITARIO D_MOEDA /* D_MOEDA = DECIMAL(10,2) */,

PERC_IPI DECIMAL(3,2)

);

 

CREATE TABLE TB_PRODUTO (

IDPRODUTO INTEGER NOT NULL, PK

IDCATEGORIA INTEGER, PK

DESCRICAO D_DESCRICAO NOT NULL /* D_DESCRICAO = VARCHAR(50) */,

TP_PRODUTO CHAR(1) NOT NULL,

CODBARRA VARCHAR(13),

DATA_CAD DATE NOT NULL,

UNIDADE CHAR(5),

PRECOCUSTO D_MOEDA /* D_MOEDA = DECIMAL(10,2) */,

PERCMARGEM DECIMAL(4,2),

PRECOVENDA D_MOEDA /* D_MOEDA = DECIMAL(10,2) */,

ESTMINIMO INTEGER,

ESTATUAL INTEGER,

INDICE DECIMAL(3,2),

CURVATURA DECIMAL(3,2),

DIAMETRO INTEGER,

TP_LENTE VARCHAR(20),

TP_MATERIAL VARCHAR(20),

SUPERFICIE VARCHAR(20),

COR VARCHAR(30),

EMBALAGEM VARCHAR(30),

VALIDADE VARCHAR(30)

);

 

Select da tabela ItemCompra - select * from TB_ITEMCOMPRA where IDCOMPRA=:ID

 

 

 

Lembrando que o formulario de Entrada de Produtos, com Mestre/Detalhe , poderiam me ajudar a resolver esses problemas !

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei uma olhada por cima mas... a sua tabela itemcompra, pelo menos eu... não utilizo uma chave primária, uma vez que é para formularios mestre/detalhe.. então seria n : n o tipo de ligação então nessa tabela a chave primária seria a id da compra e a id do produto, ao mesmo tempo, assim as duas formando....

 

como disse dei uma olhada por cima!!!

até

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve estar tentando fazer um insert na tabela itemcompra antes de cadastrar o item na tabela produto

 

e o que pode dar erro também é que para cadastra um item na tabela itemcompra você tem que ter uma compra cadastrada na tabela compra

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.