atualização de registro com chave composta

22/09/2004

0

Srs, na aplicação que estou desenvolvendo, tenho a seguinte situação: Na tabela de ´certificados´ eu insiro o codigo do produto e outros dados e na tabela ´itens_do_certificado´ são inseridos automaticamente as características do produto (comprimento, diâmetro etc...). Estes certificados são emitidos a cada vez que o produto é vendido, então eu tenho várias ocorrências das características do produto na tabela itens_do_certificado diferindo apenas o código do certificado, daí eu tenho na tabela ´itens_do_certificado´ uma ´chave composta´ criada pelo código do certificado e pelo código_da_característica_do_produto. Quando emito o certificado de um produto pela primeira vez, tudo funciona perfeitamente, mas quando emito pela segunda vez, eu não consigo alterar alguns dados das caracteristicas ( valor_minimo encontrado, valor_maximo encontrado), pois tais valores irão variar a cada certificado. O Delphi, em tempo de execução me retorna a seguinte mensagem: ´Update affected more than 1 record´. Na propriedade Options --> poAllowMultrecordUpdates, mudei o seu valor para ´true´, ai eu consigo fazer as alterações, nas características, mas esta alteração vai para todas as ocorrências desta característica na tabela ´itens_do_certificado´. Tal alteração só deve acontecer nos itens do certificado, digo nas características do produto do certificado corrente. Então mais uma vez, peço ajuda à comunidade ClubeDelphi para tentarmos resolver este problema.


Programalista

Programalista

Responder

Posts

23/09/2004

Eduprp

Colega

Qual banco de dados e quais componentes de conexão você esta utilizando?

Eduardo M. Pereira


Responder

23/09/2004

Programalista

Olá eduprp, estou usando Delphi7 + Firebird1.5. Os componentes são: sqldataset + datasetprovider + clientdataset, e para exibir no grid, uso sqlclientdataset.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar