Violation of Foreign Key
Estou com o seguinte erro
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:
Estou usando o D7, Firebird 1.5, ClientDataSet
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
Curtidas 0
Respostas
Rm
09/12/2006
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
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
GOSTEI 0
Rm
09/12/2006
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
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
GOSTEI 0
Facc
09/12/2006
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???
GOSTEI 0
Rm
09/12/2006
Não tenho esta informação...mas quando mudei para integer e digitei NOVAS entradas na tabela não tive mais problemas
GOSTEI 0
Facc
09/12/2006
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
GOSTEI 0
Facc
09/12/2006
Continua dando o erro...
GOSTEI 0
Salupe
09/12/2006
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.
Pelo menos pra mim seria a melhor forma.
GOSTEI 0
Facc
09/12/2006
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
GOSTEI 0