terça-feira, 31 de maio de 2011

Clonar Query para ClientDataSet

Rotina para clonar uma query carregada para um clientDataset.

No meu caso, estou usando o Componente SDEngine. Componente nativo para conexões mysql. TSDQuery é a classe da query.

procedure TClsDados.CarregarClientDataSet(aClientDataSet: TClientDataSet; aQuery: TSDQuery; aComitar: boolean = true; aLimparDataSet: boolean = true);
var
i: integer;
begin
if (aLimparDataSet) then
aClientDataSet.EmptyDataSet;

aQuery.First;
while not (aQuery.Eof) do
begin
aClientDataSet.Append;

for i := 0 to aClientDataSet.FieldCount - 1 do
aClientDataSet.Fields[i].Value := aQuery.FieldByName(aClientDataSet.Fields[i].FieldName).Value;

if (aComitar) then
aClientDataSet.Post;

aQuery.Next;
end;
end;

Nenhum comentário: