Ler arquivo txt e gravar em banco

07/03/2003

0

Bom dia a todos!
Gostaria de saber como faço para ler um arquivo txt e gravar o que foi lido no banco de dados.
estou trabalhando com um arquivo de txt dos correios e preciso gravar o município o logradouro cep e outros valores para o banco de dados da empresa por exemplo considerem a linha abaixo:
DPR05529800006015CURITIBA 0055800008674SANTA FELICIDADE RUA ProFESSOR 01726400224664FRANCISCO BASSETI

E assim por diante

valeu
Obs, tenho que tirar os números em ecesso e tirar os espaços


Anonymous

Anonymous

Responder

Posts

07/03/2003

Giromake

DPR05529800006015CURITIBA 0055800008674SANTA FELICIDADE RUA ProFESSOR 01726400224664FRANCISCO BASSETI

Eu não sou craque, mais eu fiz assim:

exemplo completo de TXT p/ DB;


No evento escolhido faça o seguinte:


Var
ponto1 : String[1];
ponto2 : String[1];
Txt : TextFile;
Entrada : String;
Xitau1 :String[4];
Xitau2 :String[2];
Xitau3 :String[2];
Xitau4 :String[6];
Xitau5 :String[4];
Xitau6 :String[45];
Xitau71 :String[2];
Xitau72 :String[2];
Xitau73 :String[4];
Xitau74 :String[10];
Xitau81 :String[2];
Xitau82 :String[2];
Xitau83 :String[4];
Xitau84 :String[10];
Xitau9 :String[5];
Xitau10:String;

begin
Assignfile(Txt,´C:\Xitau\Itau.Txt´);
Reset(Txt);
ponto1 := ´/´;
ponto2 := ´/´;

While not Eoln(Txt) do
begin
Xitau1 := ´´;
Xitau2 := ´´;
Xitau3 := ´´;
Xitau4 := ´´;
Xitau5 := ´´;
Xitau6 := ´´;
Xitau71:= ´´;
Xitau72:= ´´;
Xitau73:= ´´;
Xitau74:= ´´;
Xitau81:= ´´;
Xitau82:= ´´;
Xitau83:= ´´;
Xitau84:= ´´;
Xitau9 := ´´;
Xitau10:= ´´;


Readln(Txt,Entrada);
Xitau1 := Copy(Entrada,05,08);
Xitau2 := Copy(Entrada,15,16);
Xitau3 := Copy(Entrada,23,24);
Xitau4 := Copy(Entrada,25,30);
Xitau5 := Copy(Entrada,38,41);
Xitau6 := Copy(Entrada,42,86);
Xitau71 := Copy(Entrada,87,88);
Xitau72 := Copy(Entrada,89,90);
Xitau73 := Copy(Entrada,91,94);
Xitau74 := (Xitau71+ponto1+Xitau72+ponto2+Xitau73);
Xitau81 := Copy(Entrada,95,96);
Xitau82 := Copy(Entrada,97,98);
Xitau83 := Copy(Entrada,99,102);
Xitau84 := (Xitau81+ponto1+Xitau82+ponto2+Xitau83);
Xitau9 := Copy(Entrada,110,115);
Xitau10:= Copy(Entrada,204,204);
ListBox1.Items.Add(Xitau1);

Table1.Insert;
//Procedimento de Conversão de Txt para DB

Table1.FieldByName(´U_sub_ctr´).Value := StrToInt(Xitau1);
Table1.FieldByName(´C_cpg_clv´).Value := StrToInt(Xitau2);
Table1.FieldByName(´C_lds_clv´).Value := StrToInt(Xitau3);
Table1.FieldbyName(´D_mes_ano_cpt´).Value := Xitau4;
Table1.FieldByName(´C_sgd_clv´).Value := Xitau5;
Table1.FieldByName(´N_sgd´).Value := Xitau6;
Table1.FieldByName(´D_nasc_sgd´).Value := StrToDate(Xitau74);
Table1.FieldByName(´D_adm_sgd´).Value := StrToDate(Xitau84);
Table1.FieldByName(´V_pmo_sgd_vg´).Value := StrToCurr(Xitau9);
Table1.FieldByName(´Indice_id_arquivo´).Value := Xitau10;

Table1.Post;
end;
CloseFile(Txt);
Button3.Enabled := True;

end;


Responder

08/03/2003

Anonymous

Dentro do InterBase crie uma tabela com os dados externos, do arquivo TXT, e utilize-a como uma tabela normal.
Veja o comando:

CREATE TABLE ´TXT_TABELA´
EXTERNAL FILE ´C:\DIRETORIO\ARQUIVO.TXT´
( ´CAMPO1´ CHAR(26),
´CAMPO2´ CHAR(13),
´CAMPO3´ CHAR(31),
´CAMPO4´ CHAR(13),
´CAMPO5´ CHAR(18),
´NOV_LINHA´CHAR(2)
);

Os campos são definidos conforme o arquivo TXT de origem o tipo deve ser CHAR(<tamanho ou largura do campo>). O último campo ´´NOV_LINHA´CHAR(2)´ é obrigatório para identificar o final da linha.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar