ClientDataset para outro de uma só vez
Como eu faço para inserir todo o conteúdo de um clientdaset para outro de uma só vez, sem precisar executar linha por linha, dentro de um looping.
Jose Boas
Curtidas 0
Respostas
Marco Salles
16/06/2012
Existe duas formas . Depende da necessidade
A propriedade Data ou Utlizar o metodo CloneCursor
A propriedade Data ou Utlizar o metodo CloneCursor
GOSTEI 0
Jose Boas
16/06/2012
Poderia me mandar um exemplo de utilização ?
GOSTEI 0
Marco Salles
16/06/2012
Poderia me mandar um exemplo de utilização ?
Para utilizar o CloneCursor vc pode ver em
http://marcosalles.wordpress.com/2011/02/17/clonecursor-como-definir-os-parametros-reset-keepsettings/
Ja a propriedade Data é so fazer
ClientDataSet2.Data:=ClientDataSet1.Data;
com o clientdataset1 aberto e o clientadatset2 fechado
ps) Porém o clonecursro e o a Propriedade data apesar de ter o mesmo efeito são distintas
pois o cloenCurosr não duplica os dados e simpesmente tem-se um cursor indepedente da Fonte de dados Original
GOSTEI 0
Gustavo Bretas
16/06/2012
Eu fiz uma função para quando eu preciso adicionar informações de uma pesquisa para outro DataSet, se ajudar, segue:
Só lembrando que ela só adiciona a informação caso os nomes dos Fields sejam iguais!
// -> Adiciona os Items de um DataSet em outro
procedure pAddItemsDataSetToDataSet(nFromDataSet, nToDataSet : TDataSet);
var
i, nRecNo : Integer;
begin
nRecNo := nFromDataSet.RecNo;
nFromDataSet.DisableControls;
nFromDataSet.First;
while not nFromDataSet.Eof do
begin
if (nToDataSet.State in [dsEdit, dsInsert]) then
nToDataSet.Cancel;
nToDataSet.Append;
for i := 0 to nFromDataSet.Fields.Count - 1 do
begin
if Assigned(nToDataSet.FindField(nFromDataSet.Fields[i].FieldName)) then
nToDataSet.FieldByName(nFromDataSet.Fields[i].FieldName).Value := nFromDataSet.Fields[i].Value;
end;
nToDataSet.Post;
nFromDataSet.Next;
end;
nFromDataSet.RecNo := nRecNo;
nFromDataSet.EnableControls;
end;
Só lembrando que ela só adiciona a informação caso os nomes dos Fields sejam iguais!
GOSTEI 0
Jose Boas
16/06/2012
Já resolvi . Obrigado
GOSTEI 0
Marco Salles
16/06/2012
Já resolvi . Obrigado
Então , mas é bom dar o feedback de com ovc resolveu??
Propriedade Data Ou CloneCursor ou Xmldata , ou outra solução ??
GOSTEI 0