Saber se um código existe em um ClientDataSet
Olá tenho alguns produtos em um ClientDataSet em memória.
Adicionei-os através de um POST.
Ao adicionar um produto novo, se o código dele já existir no ClientDataSetatual eu preciso apresentar uma mensagem na tela dizendo que o mesmo já existe e aumentar a quantidade deste produto adicionando 1.
Como posso resolver este problema? Não quero me posicionar neste registro e sim saber se ele já existe no ClientDataSet.
Adicionei-os através de um POST.
Ao adicionar um produto novo, se o código dele já existir no ClientDataSetatual eu preciso apresentar uma mensagem na tela dizendo que o mesmo já existe e aumentar a quantidade deste produto adicionando 1.
Como posso resolver este problema? Não quero me posicionar neste registro e sim saber se ele já existe no ClientDataSet.
Claudio Junior
Curtidas 0
Respostas
Marcos Oliveira
11/09/2013
Cláudio, não sei se é possível fazer isso que você quer, sem posicionar o registro no ClientDataSet.
Você pode fazer da seguinte forma:
Lógico, que o código é só um exemplo... Você deve adaptar ao seu programa.
Att,
Marcos
Você pode fazer da seguinte forma:
if ClientDataSetatual.Locate('campo','texto_a_procurar',[loCaseInsensitive]) then
begin
// Mensagem informando que já existe...
ClientDataSetatual.Edit;
ClientDataSetatual.FieldByName('qtde').AsFloat := ClientDataSetatual.FieldByName('qtde').AsFloat + 1;
ClientDataSetatual.Post;
end;
Lógico, que o código é só um exemplo... Você deve adaptar ao seu programa.
Att,
Marcos
GOSTEI 0
Marco Salles
11/09/2013
Sem posicionar o registro , vc pode utilizar o CloneCursor , que mantém um cursor independente dos dados
[]sds
[]sds
GOSTEI 0
Claudio Junior
11/09/2013
Sem posicionar o registro , vc pode utilizar o CloneCursor , que mantém um cursor independente dos dados
[]sds
[]sds
Obrigado o CloneCursor resolveu meu problema da seguinte forma:
Cds.CloneCursor(CdsItensVenda, True);
if Cds.Locate('IDPRODUTO', parambyname('IDPRODUTO').AsString, [loCaseInsensitive]) then
ShowMessage('Item já escolhido!');Abraços
GOSTEI 0
Marco Salles
11/09/2013
Que bom Claudio
abraços e sds
abraços e sds
GOSTEI 0