Erro de Gravação

Delphi

10/10/2005

Olá amigos, blz?

Estou com um probelma sério. Tenho uma aplicação que contem uma tabela de MOVIMENTAÇÃO, nela existem duas operações: ENTRADA e SAÍDA de cartuchos, usando radiobutton. Ao clicar no entrada, coloco alguns dados e clico no gravar. É gerado um código de movimentaçao, e o status fica como pendente, ou seja, ainda nao enviei o cartucho solicitado para troca. Até aí está funcionando muito bem. Ah, qdo é fornecedor, o estoque é atualizado, e tem um campo origem que diferencia ele do cliente. Qdo tem uma operação de saída, ao clicar no componente, é aberta uma tela de cartuchos pendentes. Escolho um item que será enviado para o usuário, a tabela de movimentaçao entra em modo de ediçao, faço as modificaçoes (data e hora de saída, qtde e quem realizou esta operação). Coloquei um botão atualizar. No primeiro momento, usei o seguinte codigo:

with dmMovimentacao.cdsMovimentacao do
begin
applyupdates;
end;

Aí, deu erro de KEY VIOLATION. Fiz uma modificação...

with dmMovimentacao.cdsMovimentacao do
begin
close;
open;
edit;
applyupdates;
showmessage(´atualizado com sucesso´);
end;

Neste caso, não grava e nem dá mensagem de erro, simplesmente vai para o primeiro registro da tabela.

Gostaria de saber se alguem já viu este tipo de erro, e qual a solução aplicada...

Fico no aguardo, e agradeço desde já pela velha atenção de sempre...

[]´s

Rogério


[quote:9ba868413a=´Roger1976, em outro tópico´]Só uma correção, eu usei APPLYUPDATES(0) no código.[/quote:9ba868413a]


Roger1976

Roger1976

Curtidas 0

Respostas

Roger1976

Roger1976

10/10/2005

Corrigindo, é APPLYUPDATES(0)....


GOSTEI 0
Roger1976

Roger1976

10/10/2005

Galera, eu descobri o pq estava dando mensagem de KEY VIOLATION. Tinha uma linha de codigo duplicada, que eu havia esquecido de apagar, que estava fazendo a duplicaçao do codigo. Porem, tem um outro problema, qdo eu seleciono um registro do grid que tem os cartuchos pendentes, eu consigo fazer as alterações, visualmente mostra que eu estou alterando o registro que eu selecionei que esta exibido na tela, qdo vejo a tabela no banco, as modificaçoes foram feitas no primeiro registro, independetemente de qual eu escolher. Alguem ja viu um erro deste tipo?

[]´s


GOSTEI 0
POSTAR