Ajuda com ClientDataSet Urgente
Bom dia a todos.
Utilizando um clientDataSet, criei dois campos dentro dele.
Usuario e Qtde
Obs.: Nome do clientDataSet = relAtivo
Agora eu preciso pesquisar nestes campos se o usuario já existe,
depois preciso inserir o usuario e depois fazer update da qtde.
Mas como esta tabela é uma tabela virtual, eu não sei como fazer isto.
Se eu for dar um select por exemplo eu não sei nem o nome da tabela.
Alguem poderia me ajudar?
Obrigado.
Uelinton
Utilizando um clientDataSet, criei dois campos dentro dele.
Usuario e Qtde
Obs.: Nome do clientDataSet = relAtivo
Agora eu preciso pesquisar nestes campos se o usuario já existe,
depois preciso inserir o usuario e depois fazer update da qtde.
Mas como esta tabela é uma tabela virtual, eu não sei como fazer isto.
Se eu for dar um select por exemplo eu não sei nem o nome da tabela.
Alguem poderia me ajudar?
Obrigado.
Uelinton
Uelinton_reis
Curtidas 0
Respostas
Woinch
16/07/2009
Para localizar determinado usuário você poderá utilizar a função Locate do ClientDataSet.
Para contar você deverá varrer todo o ClientDataSet, através de um laço while. Experimente utilizar um filtro que fica mais fácil, exemplo:
Espero ter ajudado.
Para contar você deverá varrer todo o ClientDataSet, através de um laço while. Experimente utilizar um filtro que fica mais fácil, exemplo:
Filter := ´USUARIO = ´´NOME´´´; Filtered:= True; relAtivo.First; I := 0; while not relAtivo.Eof do begin Inc(I); relAtivo.Next; end; Filter := ´´; Filtered := False;
Espero ter ajudado.
GOSTEI 0
Emerson Nascimento
16/07/2009
se eu entendi...
if not relAtivo.Locate(´Usuario´, ValorProcurado, []) begin relAtivo.Append; relAtivo.FieldByName(´Usuario´).AsString := ValorProcurado; end else relAtivo.Edit; relAtivo.FieldByName(´Qtde´).AsInteger := relAtivo.FieldByName(´Qtde´).AsInteger + 1; relAtivo.Post;
GOSTEI 0