Fórum Violation of Foreign Key #334468

09/12/2006

0

Estou com o seguinte erro
[img:acebcc3d3f]http://faccruz.googlepages.com/erro.JPG[/img:acebcc3d3f]
Só que eu não sei onde eu errei...

É uma tela de cadastro de orçamentos, tem o cabeçalho e os itens. É nos itens, qndo eu vou incluir um novo que me dá o erro...
O código pra incluir o item é o seguinte:
procedure TFCadOrcamento.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key=VK_RETURN) and ((DBGrid1.SelectedIndex=0) or
     (DBGrid1.SelectedIndex=1) or (DBGrid1.SelectedIndex=2))
     and (DBGrid1.ReadOnly=false) then
  begin
    FPesqProd := TFPesqProd.Create(Self);
    FPesqProd.ShowModal;
    FPesqProd.Free;
    FPesqProd := nil;

    DMControle.cdsCadOrcamento2.Insert;
    DMControle.cdsCadOrcamento2CODORCAMENTO.AsString := DMControle.cdsCadOrcamentoCODIGO.AsString;
    DMControle.cdsCadOrcamento2CODRPDUTO.AsString    := dmPesquisas.cdsPesqProdutoCODIGO.AsString;
    DMControle.cdsCadOrcamento2REFPROD.AsString      := dmPesquisas.cdsPesqProdutoREFERENCIA.AsString;
    DMControle.cdsCadOrcamento2CODBARRA.AsString     := dmPesquisas.cdsPesqProdutoCODBARRA.AsString;
    DMControle.cdsCadOrcamento2PRECOVENDA.AsFloat    := dmPesquisas.cdsPesqProdutoPRECOVENDA.AsFloat;
    DMControle.cdsCadOrcamento2MERCADORIA.AsString   := dmPesquisas.cdsPesqProdutoDESCRICAO.AsString;
  end;
end;

Estou usando o D7, Firebird 1.5, ClientDataSet


Facc

Facc

Responder

Posts

10/12/2006

Rm

Não sei se ajuda...Nem sei se o erro era este....Mais vai lá:Quando comecei trabalhar com FK dava erro pois tinha feito uma burrada como segue

Master
codmaster integer autoincremental
campo1 etc

Detail
CodMaster String<<< Aqui estava meu erro.Corrigi para integer e OK
CodDetail Integer autoincremental
Campo detail etc

Espero ser de alguma utilidade


Responder

Gostei + 0

10/12/2006

Rm

Não sei se ajuda...Nem sei se o erro era este....Mais vai lá:Quando comecei trabalhar com FK dava erro pois tinha feito uma burrada como segue

Master
codmaster integer autoincremental
campo1 etc

Detail
CodMaster String<<< Aqui estava meu erro.Corrigi para integer e OK
CodDetail Integer autoincremental
Campo detail etc

Espero ser de alguma utilidade


Responder

Gostei + 0

11/12/2006

Facc

Não sei se ajuda...Nem sei se o erro era este....Mais vai lá:Quando comecei trabalhar com FK dava erro pois tinha feito uma burrada como segue Master codmaster integer autoincremental campo1 etc Detail CodMaster String<<< Aqui estava meu erro.Corrigi para integer e OK CodDetail Integer autoincremental Campo detail etc Espero ser de alguma utilidade



Não pode ser String???


Responder

Gostei + 0

11/12/2006

Rm

Não tenho esta informação...mas quando mudei para integer e digitei NOVAS entradas na tabela não tive mais problemas


Responder

Gostei + 0

11/12/2006

Facc

Não tenho esta informação...mas quando mudei para integer e digitei NOVAS entradas na tabela não tive mais problemas


Vou testar... depois posto o resultado...

Valeu


Responder

Gostei + 0

11/12/2006

Facc

Continua dando o erro...


Responder

Gostei + 0

12/12/2006

Salupe

Se vc puder alterar o banco de dados ainda, a melhor forma seria acrescentar um campo chamado item e faze-lo ser sequencial dentro de cada orçamento, o problema é que vc deve estar querendo colocar dois produtos com o mesmo codigo dentro do mesmo orçamento por isso dá esse erro de violação.

Pelo menos pra mim seria a melhor forma.


Responder

Gostei + 0

12/12/2006

Facc

Se vc puder alterar o banco de dados ainda, a melhor forma seria acrescentar um campo chamado item e faze-lo ser sequencial dentro de cada orçamento, o problema é que vc deve estar querendo colocar dois produtos com o mesmo codigo dentro do mesmo orçamento por isso dá esse erro de violação. Pelo menos pra mim seria a melhor forma.


Os Produtos são diferentes...

Vou mudar para os componentes IBX


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar