sua rotina ta entrando em edicao e postando a cada campo e nao a cada registro
  ----- Original Message ----- 
  From: romulocsouza 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, July 27, 2006 7:38 PM
  Subject: [delphi-br] Migrar DBF para postgres


  Olá !

  Preciso escrever uma rotina para copiar os registros de arquivos dbfs 
  para um banco postgres. Um dos arquivos tem 90 campos, por isso tentei 
  resolver o problema escrevendo a rotina abaixo. Porém, ocorreram dois 
  problemas: 1) ficou extremamente lento; 2) em determinado ponto o 
  processamento é abortado. O Delphi não trata o erro, mas aparecem 
  vários endereços de memória na tela. 

  Algum colega pode me dar uma sugestão mais eficiente ? Existe a 
  possibilidade de se criar, em tempo de execução, uma instrução SQL, 
  tendo como parâmetros os campos do DBF, para gravação na tabela ?

  Obrigado.

  Rotina: (parte dela)

  ...
           while not dm.Tb_aih.Eof do
              begin
                 {*** insere o registro na tabela ***}
                 dm.q_aih.Insert;
                 for Contador:=1 to NumerodeCampos do
                    begin
                       with dm.q_aih do
                          begin
                             edit;
                             fieldbyname(''+NomesCampos[Contador]
  +'').value:=dm.Tb_aih.fieldbyname((''+NomesCampos[Contador]+'')).value;
                             post;
                          end;
                    end;


  * NomesCampos = array com os nomes dos campos do dbf e, 
  consequentemente da tabela;
    NumerodeCampos = a quantidade de campos do dbf



   

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



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a