Bom dia a todos Estou fazendo uma rotina de importação que esta gerando problemas, pois apos importar os dados verifiquei que tinha preenchido todos os campos com um mesmo registro, "código" o primeiro do arquivo texto.
Tenho uma tabela com o mesmo layout do txt. Os códigos ficaram assim: procedure TfrmImportacao.btnImportaClick(Sender: TObject); var fArq: TextFile; //Variável do Tipo Arquivo de Texto Caminho: string; //Variável que armazenará o caminho Linha: string; //Variável que vai armazena cada linha mTexto: TStringList; //Utilizada para contar as linhas a importar i: integer; //variavel utilizada no contador de linhas Importadas begin Caminho := editArquivo.Text; //Variável vai receber os dados do edit AssignFile(fArq, Caminho); ReSet(fArq); mTexto := TStringList.Create; try mTexto.LoadFromFile(Caminho); ProgressBar1.Max := mTexto.Count - 1; i := 0; finally mTexto.Free; end; while not Eof(fArq) do //Enquanto não chegar ao fim do arquivo begin Application.ProcessMessages; Readln(farq, linha); //Lê a linha e posiciona o cursor na próxima Caption := 'Lendo Linha: ' + IntToStr(i) + ' de: ' + IntToStr (ProgressBar1.Max); DM.cdsImportacao.Params.ParamByName('codigo').asString := Trim (Copy(Linha, 1, 8)); DM.cdsImportacao.Open; //Abre o CDS // if DM.cdsImportacao.IsEmpty then //Se Não existir o registro DM.cdsImportacao.Append //Insira os dados da linha atual else //Senão, se o registro já existir DM.cdsImportacao.Edit; //Coloca em modo de edição para atualizar os campos //Aqui os campos recebem as linhas lidas DM.cdsImportacaocodigo.AsString :=Trim(Copy(Linha, 1, 8 )); DM.cdsImportacaonome.AsString :=Trim(Copy(Linha, 12, 20 )); DM.cdsImportacaoproduto.AsString :=Trim(Copy(Linha, 24, 20 )); DM.cdsImportacaocontato.AsString :=Trim(Copy(Linha, 36, 20 )); DM.cdsImportacaoemailcontato.AsString :=Trim(Copy(Linha, 52, 20 )); DM.cdsImportacaocod_agente.AsString :=Trim(Copy(Linha, 64, 20 )); DM.cdsImportacaorua.AsString :=Trim(Copy(Linha, 76, 20 )); DM.cdsImportacaobairro.AsString :=Trim(Copy(Linha, 88, 20 )); DM.cdsImportacaocidade.AsString :=Trim(Copy(Linha, 100,20 )); DM.cdsImportacaonumero.AsString :=Trim(Copy(Linha, 112,20 )); DM.cdsImportacaocomplemento.AsString :=Trim(Copy(Linha, 124,20 )); DM.cdsImportacaouf.AsString :=Trim(Copy(Linha, 136,20 )); DM.cdsImportacaocod_pais.AsString :=Trim(Copy(Linha, 148,20 )); DM.cdsImportacaocep.AsString :=Trim(Copy(Linha, 160,20 )); DM.cdsImportacaocargo.AsString :=Trim(Copy(Linha, 172,20 )); DM.cdsImportacao.Post; //Salve o registro em memória. DM.cdsImportacao.ApplyUpdates(0); //Aplica as atualizações em memória no banco DM.cdsImportacao.Close; //Fecha o CDS } Inc(i); ProgressBar1.Position := ProgressBar1.Position + 1; Next; end; MessageBeep(65); ShowMessage('Processo Concluído Com êxito!!!'); end; ERRO : Project SysSam.exe raised exception class EDatabaseError with message "EMAIL RUA BAIRROC' IS NOT A VALID INTEGER VALUE FOR FIELD 'COD_AGENTE". Agradeço a ajuda!!