Fórum Como criar campo via program. num ClienteDataSet (XML) ? #297743
29/09/2005
0
Valeu.
Paulo Serra
Paulo-serra
Curtir tópico
+ 0Posts
29/09/2005
Vagner Monteiro
Crie o CDS2 e os campos a serem adicionados posteriormente e depois, quando precisar incrementar algum campo no CDS1, use esta função:
Cds1.Fields.Add(Cds2.Fields[0]);
Cds1.CreateDataSet;
Gostei + 0
30/09/2005
Paulo-serra
Gostei + 0
30/09/2005
Vagner Monteiro
Try
CDS2.Loadfromfile(´Teste.xml´);
except
CDS1.LoadfromFile(´Teste.xml´);
end;
While not CDS2.Eof do
Begin
CDS1Campo1.Asstring := CDS2Campo1.Asstring;
CDS1Campo2.ASInteger := CDS2Campo2.Asinteger;
CDS1CampoAdicional.Asstring := ´´;
CDS2.Next;
End;
CDS2.EmptyDataset;
Assim, ele não vai berrar pq o campo não existe, pois será carregado como nulo.Depois de carregá-lo(CDS1) é só trabalhar com ele e salvar em .xml.A exceção é para que dá próxima vez que vc for carregar, o arquivo terá um campo a mais, assim o CDS2 não conseguirá carregar o xml, pois terá um campo a menos, porém o CDS1 terá todos os campos.Aí é um abraço.hehehe
Gostei + 0
30/09/2005
Vagner Monteiro
O correto é assim:
Try
CDS2.Loadfromfile(´Teste.xml´);
While not CDS2.Eof do
Begin
CDS1Campo1.Asstring := CDS2Campo1.Asstring;
CDS1Campo2.ASInteger := CDS2Campo2.Asinteger;
CDS1CampoAdicional.Asstring := ´´;
CDS2.Next;
End;
CDS2.EmptyDataset;
except
CDS1.LoadfromFile(´Teste.xml´);
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)