Lentidao na importação de dados!

Delphi

08/06/2004

Olá

Estou importando dados de um arquivo TXT de 1,36MB, tem muito registro, e consegui importar todos para o meu banco de dados em interbase, mas ele demora ateh 1h para importar tudo, fico imaginando se o cliente vai gostar disso na hora de atualizar essa lista.
O código do meu sistema que faz a importação eh o seguinte:

While not Eoln(TXT) do
Begin
Try
ReadLn(TXT,Entrada);
dtm.dts_produtos.Insert;
dtm.dts_produtosCODIGO.AsInteger := strtoint(Copy(Entrada,03,06));
dtm.dts_produtosCOD_BARRAS.AsString := Copy(Entrada,09,13);
dtm.dts_produtosDESCRICAO.AsString := Copy(Entrada,22,32);
dtm.dts_produtosLABORATORIO.AsString := Copy(Entrada,54,15);
dtm.dts_produtosPRECO_VENDA.AsCurrency := strtocurr(Copy(Entrada,69,11));
dtm.dts_produtosPRECO_FABRICA.AsCurrency := strtocurr(Copy(Entrada,80,11));

valor := CurrToStr(dtm.dts_produtosPRECO_VENDA.AsCurrency);
tamanho := Length(valor);
if tamanho = 2
Then Insert(´0,´,valor,1); {Bota as virgulas se nao os valores vao pros mil}
if tamanho = 3
Then Insert(´,´,valor,2);
if tamanho = 4
Then Insert(´,´,valor,3);
if tamanho = 5
Then Insert(´,´,valor,4);
dtm.dts_produtosPRECO_VENDA.AsCurrency := strtocurr(valor);

valor := currtostr(dtm.dts_produtosPRECO_FABRICA.AsCurrency);
tamanho := Length(valor);
if tamanho = 2
Then Insert(´0,´,valor,1);
if tamanho = 3
Then Insert(´,´,valor,2);
if tamanho = 4
Then Insert(´,´,valor,3);
if tamanho = 5
Then Insert(´,´,valor,4);
dtm.dts_produtosPRECO_FABRICA.AsCurrency := strtocurr(valor);
dtm.dts_produtosPERC_ICMS.AsInteger := 17;
dtm.dts_produtos.Post;
dtm.dts_produtos.ApplyUpdates;

Tem como melhorar isso para almentar a performance?

Obrigado


Raphal

Raphal

Curtidas 0
POSTAR