Bruno da uma olhada :

class procedure TDataSetUtils.AddFields(DataSet: TDataSet);
var
  intFor: integer;
  intPacketRecords: integer;
begin
  intPacketRecords := TClientDataSet(DataSet).PacketRecords;
  TClientDataSet(DataSet).PacketRecords := 0;
  try
    if Dataset.Active then
      Dataset.Close;

    if Dataset.FieldDefs.Count > 0 then
      begin
        repeat
          Dataset.Fields[DataSet.FieldDefs.Count -
DataSet.FieldDefs.Count].Destroy;
          Dataset.FieldDefs[Dataset.FieldDefs.Count -
Dataset.FieldDefs.Count].Destroy;
        until
          Dataset.FieldDefs.Count = 0;
     end;

    Dataset.FieldDefs.Update;
    for intFor := 0 to Dataset.FieldDefs.Count - 1 do
      begin
        if Dataset.FindField(Dataset.FieldDefs[intFor].Name) = nil then
            Dataset.FieldDefs.Items[intFor].CreateField(Dataset);
      end;
  finally
    TClientDataSet(DataSet).PacketRecords := intPacketRecords;
  end;
end;




2009/2/11 Eduardo Silva dos Santos <eduardo....@gmail.com>

>   Olá Bruno, desculpa a pergunta, mais qual a sua intenção em fazer isso?
>
> 2009/2/11 Bruno Lepesqueur 
> <brunolbra...@yahoo.com.br<brunolbrasil%40yahoo.com.br>
> >
>
>
> > Pessoal, eu uso o MyDac em minhas aplicações e gostaria de tirar uma
> > dúvida!
> >
> > Eu tenho uma query com um código select tipo: select * from clientes
> > Se eu clicar na query com o botão direito, depois em Fields Edito... eu
> > consigo add todos os campos, mas eu gostaria de fazer isso usando uma
> linha
> > de códigos pelo delphi.
> >
> > To tentando algo assim:
> >
> > QueryCli.Fields.Clear; (para limpar todos os campos, mas não sei se
> > dará certo)
> >
> > Agora eu preciso de outro comando que inclua todos novamente na query,
> tipo
> > algo parecido com:
> >
> > QueryCli.Fields.Add(all); (Esse código não dá certo! Já testei!)
> >
> > Obrigado a todos!
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> .......................................................
> Eduardo Silva dos Santos
> DRD SISTEMAS
> (27) 3218-4201
> (27) 8842-9489
> MSN: eduardo....@gmail.com <eduardo.drd%40gmail.com>
> Site: http://www.drdsistemas.com.br/
> .......................................................
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,

Daniel.

"Sempre que a vida lhe apresentar um desafio, tenha certeza que junto dele
está a solução",


[As partes desta mensagem que não continham texto foram removidas]

Responder a