Fórum Importar dados TXT para o Banco? #366302
20/11/2008
0
Pessoal, não sei como fazer para importar estes dados para um banco de dados Firebird, vi alguns topicos aqui, mais não entendo o procedimento
Este arquivo fica tudo junto quando é gerado, preciso separar e passar para o banco, mais ai é que esta a duvida, não sei como separar isso e gravar no banco.
Alguém pode me ajudar?
Vi este código aqui nas buscas que fiz;
Mais sinceramente, não entendo o modo que é feito para exportar, e nem cheguei a testar.
A principio não sei qual leitura o comando copy faz aqui
[b:7062193f06]Copy(Entrada,01,05);[/b:7062193f06] Seria algO da linha 01 a 05? e a Coluna? Bom pessoal, estou perdido ainda, mais preciso saber como importar o texto acima no banco. (Obs: Este testo pode haver alterações de nomes além de ter mais conteudo que este ai acima)
Grato
Adriano.
30100594228000157 119507736761107200211SUMAKO YAMOTO
30100594228000157 126906135320104200401ADRIANO ANTUNESIS
30100594228000157 128410654900104200401JOSIMARA RIBEIRO DOS SANTOS
30100594228000157 129041985220108200301GISLAINE CRISTINA TROLLI
30100594228000157 129460184920105200401SUELLEN CAMARGO
30100594228000157 209062969130103200401TEREZA APARECIDA MENDES TEIXEIRA
Este arquivo fica tudo junto quando é gerado, preciso separar e passar para o banco, mais ai é que esta a duvida, não sei como separar isso e gravar no banco.
Alguém pode me ajudar?
Vi este código aqui nas buscas que fiz;
procedure TF_Importar.BitBtn1Click(Sender: TObject);
var
Txt: Textfile;
Entrada: string;
begin
BitBtn1.Enabled:= false;
if OpenDialog1.Execute then
begin
F_Importar.Table1.EmptyTable; //... zera o arquivo
F_Importar.Table1.Open;
AssignFile(Txt,(OpenDialog1.FileName){ NOME do arquivo texto}
Animate1.Visible:= true;
Animate1.Active:= true;
Reset(Txt);
While not Eoln(Txt) do
begin
Readln(Txt,Entrada);
F_Importar.Table1.Insert;
F_Importar.Table1.FieldByName(´Numero_Ordem´).Value:= Copy(Entrada,01,05);
F_Importar.Table1.FieldByName(´Codigo_Entidade´).Value:= Copy(Entrada,06,01);
F_Importar.Table1.FieldByName(´Numero_Entidade´).Value:= StrToInt(Copy(Entrada,07,03));
F_Importar.Table1.FieldByName(´Referencia´).Value:= Copy(Entrada,10,07);
F_Importar.Table1.FieldByName(´Tipo_Envio´).Value:= StrToInt(Copy(Entrada,17,01));
F_Importar.Table1.FieldByName(´Matricula´).Value:= Copy(Entrada,18,10);
F_Importar.Table1.FieldByName(´Nome´).Value:= Copy(Entrada,28,60);
F_Importar.Table1.FieldByName(´CPF´).Value:= Copy(Entrada,88,11);
F_Importar.Table1.FieldByName(´Sexo´).Value:= Copy(Entrada,99,01);
F_Importar.Table1.FieldByName(´Data_Nascimento´).Value:= Copy(Entrada,100,10);
F_Importar.Table1.FieldByName(´Data_Admissao´).Value:= Copy(Entrada,110,10);
F_Importar.Table1.FieldByName(´Tipo_Servidor´).Value:= Copy(Entrada,120,01);
F_Importar.Table1.FieldByName(´Codigo_Cargo_Funcional´).Value:= Copy(Entrada,121,10);
F_Importar.Table1.FieldByName(´Codigo_Lotacao´).Value:= Copy(Entrada,131,10);
F_Importar.Table1.FieldByName(´Salario_Base´).Value:= Copy(Entrada,141,11);
F_Importar.Table1.FieldByName(´Total_Vencimento´).Value:= Copy(Entrada,152,11);
F_Importar.Table1.Post;
NeatoMeter1.Caption:= ´Importando, aguarde... ´+ IntToStr(Table1.RecordCount);
end;
CloseFile(Txt);
NeatoMeter1.Caption:= ´Importação realizado com sucesso...´;
NeatoMeter1.Percent:= 100;
BitBtn1.Enabled:= true;
F_Importar.Height:= 404;
F_Importar.ClientHeight:= 377;
BitBtn2.Kind:= bkClose;
Label1.Caption := ´Foi Importado um total de ´+ IntToStr(Table1.RecordCount)+´ registros com sucesso´;
end;
end; Mais sinceramente, não entendo o modo que é feito para exportar, e nem cheguei a testar.
A principio não sei qual leitura o comando copy faz aqui
[b:7062193f06]Copy(Entrada,01,05);[/b:7062193f06] Seria algO da linha 01 a 05? e a Coluna? Bom pessoal, estou perdido ainda, mais preciso saber como importar o texto acima no banco. (Obs: Este testo pode haver alterações de nomes além de ter mais conteudo que este ai acima)
Grato
Adriano.
Adriano_servitec
Curtir tópico
+ 0
Responder
Posts
20/11/2008
Marcosrocha
Mensagem := ´18/11/2008 às 08:10´; Edit1.Text := Copy(Mensagem, 1, 10);
Copiar o texto da variável Mensagem a partir da primeira posição da String, pegando 10 caracteres à frente. Edit1.Text ficará com o valor: 18/11/2008
Tomando o mesmo exemplo se eu usar Copy(Mensagem, 12, 2), Edit1.Text dicará com o valor: às
[b:307a6392d9]Jamais[/b:307a6392d9] confunda Copy de 01 até 05 pois como mostrei, o último parâmetro do copy diz quantos caracteres ele deve copiar e [b:307a6392d9]não[/b:307a6392d9] até qual posição.
Responder
Gostei + 0
20/11/2008
Adriano_servitec
Mensagem := ´18/11/2008 às 08:10´; Edit1.Text := Copy(Mensagem, 1, 10);
Valeu pela ajuda.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)