sexta-feira, 30 de maio de 2008

Como criar um ClientDataset em tempo de execução


Segue abaixo código fonte de como criar um ClientDataset em tempo de execução.

Criar um novo ClientDataset
Var
MyClient : TClientDataSet;
Begin
MyClient := TClientDataSet.Create(nil);

Adicionando campos
MyClient.FieldDefs.Add('NM_CAMPO' , TIPO, TAMANHO, E_OBRIGATORIO);
NM_CAMPO -> Nome do Field a ser adicionado
TIPO -> ftString, ftInteger, ftBoolean, ftFloat, conforme sua necessidade.
TAMANHO -> Mais utilizado para campos ftString, outros tipos deve usar 0 (zero).

Abrindo o DataSet
MyClient.CreateDataSet;
MyClient.LogChanges := False;
LogChanges = False, desabilita os logs de alteração e inserção dando performance na manipulação do ClientDataset।

Adicionando Indices
MyClient.AddIndex(‘NM_INDICE', 'NN_FIELD, NM_FIELD1', [DS_ORDEM]);
NM_INDICE – Nome do novo índice
NM_FIELD – Lista de fields que devem participar do índice
DS_ORDEM -> ixPrimary, ixUnique, ixDescending, ixCaseInsensitive, ixExpression, ixMonMaintained, [] é usado para nenhum dos descritos anteriores.

Ativando Indice
MyClient.IndexName := 'NM_INDICE';
Acesssando os Campos
MyClient.FindField(‘NM_FIELD’).asTipo

Importante
Não esqueça de liberar a memória quando o ClientDataset não for mais usado
MyClient.Free;

  © Blogger template 'Perfection' by Ourblogtemplates.com 2008

Back to TOP