Fórum Verificar fields preenchidos #414422
22/03/2012
0
Eu criei um componente ClientDataSet com alguns recursos. Eu preciso saber se existe alguma forma de identificar se houve algum field no ClientDataSet que foi preenchido. Eu não preciso saber quais, só preciso saber se existe algum, tipo um count de fields preenchidos. Eu estou usando o SqlDataSet / DataSetProvider / ClientDataSet.
Grato.
Gilmar Fernandes
Curtir tópico
+ 0Posts
22/03/2012
Joel Rodrigues
var
i, cont:integer;
begin
cont:=0;
for i := 0 to Pred(ClientDataSet1.FieldCount) do
if not ClientDataSet1.Fields[i].IsNull then
Inc(cont);
Ao final, cont deverá ser a quantidade de campos não nulos (isso para o registro atual).
Boa sorte.
Gostei + 0
22/03/2012
Gilmar Fernandes
Gostei + 0
23/03/2012
Gustavo Bretas
Pense na seguinte lógica, se vc permitir q a gravação do registro seja feita quando pelo menos um Field estiver preenchido, vc garante que em todos os registro, pelo menos um field estará preenchido, se vc não precisa saber qual, acredito que isso já resolva seu problema, pois o simples fato de existir o registro será prova de que um dos field esta preenchido, e então vc pode usar o código que o Joel postou para fazer a verificação.
Mas vc disse tipo um count de fields preenchidos, se isso for realmente necessário, vc pode criar mais um Field no ClientDataset e informar a quantidade de fields preenchidos no post do registro!
Espero ter ajudado!
Gostei + 0
23/03/2012
Gilmar Fernandes
Pense na seguinte lógica, se vc permitir q a gravação do registro seja feita quando pelo menos um Field estiver preenchido, vc garante que em todos os registro, pelo menos um field estará preenchido, se vc não precisa saber qual, acredito que isso já resolva seu problema, pois o simples fato de existir o registro será prova de que um dos field esta preenchido, e então vc pode usar o código que o Joel postou para fazer a verificação.
Mas vc disse tipo um count de fields preenchidos, se isso for realmente necessário, vc pode criar mais um Field no ClientDataset e informar a quantidade de fields preenchidos no post do registro!
Espero ter ajudado!
Obrigado Bretas, pela atenção... mas o que acontece, é o seguinte, eu criei um recurso de pesquisa no meu ClientDataSet, onde eu posso fazer um filtro (pesquisa) no meu formulário de manutenção (tabela) informando qualquer valor, isto é, o usuário pode realizar uma pesquisa informando qualquer campo da tabela, para isso eu faço uma varredura em todos os fields da tabela e verifico se foi informado algum dado, este processo funciona perfeitamente, porém quando a tabela possui um volume muito grande de colunas (fields), este processo fica um pouco demorado, pelo fato de varrer todos os fields, então eu preciso que essa varredura seja feita somente se o usuário realmente estiver preenchido algum campo para pesquisa. Então eu só preciso saber se existe alguma propriedade no ClientDataSet que me informe se há algum field preenchido, alguma coisa que me fale se teve ou não algum campo preenchido, ou o número de fields preenchidos, ou se houve alteração no seu conteúdo, qualquer coisa que me diga se houve ou não algum field preenchido ou alterado.
Grato pela sua atenção!
Gostei + 0
23/03/2012
Leonardo Xavier
Gostei + 0
23/03/2012
Gilmar Fernandes
Fica aí a dica.
Gostei + 0
23/03/2012
Marco Salles
de alteraçõs no Log do conjunto de dados .
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)