se vc tem grids mostrando os registros deixa mais lento..
acredito q o ProcessMessages informa ao processador a fazer outras tarefas q
estao na fila ou processar algo do seu sistema.. acho q isso faz perder
tempo tbm.. por n usa um ProgressBar1.refresh?

2009/6/25 Fernando Pires de Souza Filho <nando_ace...@hotmail.com>

>
>
>
> Opa,
>
> Sou iniciante em delphi, to com o seguinte problema:
>
> Tenho que importar dados de uma tabela para a outra, seus campos sao
> iguais.
> uso a seguinte logica:
>
> tenho duas querys no form, uma qry_fonte(de onde vou pegar os dados da
> tabela que quero importar), e colocar na outra tabela que criei, na
> qry_Destino.
>
> de primeiro, faco um select * pra pegar tds os campos da tabela fonte, e
> depois, faco um insert campo a campo na tabela de destino, ex:
>
> ----------------------------------------------------------
> QRY_Fonte.sql.Clear;
> QRY_Fonte.SQL.Add('Select * From [TabelaFonte]');
> QRY_Fonte.Open;
> while Not QRY_Fonte.Eof do
> begin
> with QRY_Destino do
> begin
>
> sql.Clear;
> Sql.Add('Insert Into [TabelaDestino] (');
> SQL.Add('campo1, campo2, campo3');
> SQL.Add(') Values (');
> SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo1').AsString)+',');
> SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo2').AsString)+',');
> SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo3).AsString)+','); etc...
> ExecSql;
> ProgressBar1.Position := ProgressBar1.Position + 1;
> Application.ProcessMessages;
> QRY_Fonte.Next;
>
> end;
> end;
> qry_Fonte.close;
>
> ------------------------------------------------
>
> Funciona, mais ta MUIITOO lento!!!
> pra importar 150 reg de uma tabela pra outra demora um pouco mais de 1
> Minuto.
> e tenho tabelas aqui com mais de 8.000.
>
> oq pode ta errado, e se alguem conhece uma forma melhor e mais rapida de
> manipular esses dados?
>
> Atenciosamente
> Fernando Pires
>
> __________________________________________________________
> Conheça os novos produtos Windows Live! Clique aqui.
> http://www.windowslive.com.br
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Leandro, MuTukA


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

Responder a