Importar dados de arquivo texto
Olá.
É possivel importar dados de um arquivo texto para um banco de dados pelo delphi?
Luiz
É possivel importar dados de um arquivo texto para um banco de dados pelo delphi?
Luiz
L_carlos
Curtidas 0
Respostas
Woinch
08/05/2009
Claro...
Primeiro defina de que maneira você quer fazer isso e se tiver alguma dificuldade basta postar aqui.
Primeiro defina de que maneira você quer fazer isso e se tiver alguma dificuldade basta postar aqui.
GOSTEI 0
L_carlos
08/05/2009
Woinch,
O arquivo texto está da seguinte forma:
Alberto Silva;alberto11234@bol.com.br;Rua Itu;Niteroi;24000-000;2233-0099;8877-8877;Av Italva 44;Niteroi;24000;;AnicletisSharp;
Albizzati, Alexandre;albizzati@terra.com.br;;;;;;;;;;;
Aldair Lopes;oldpes@superig.com.br;;;;;;;;;;;
Alfredo Sampaio;alfredo@divisafm.com.br;;;;;;;;;;;
Alvaro Moro Filho;alvaro_moro@uol.com.br;;;;;;;;;;;
Eu preciso importar esses dados para uma tabela CONTATOS do firebird, o nome para um campo NOME, o email para o campo email, e assim por diante. Como consigo fazer isso?
Grato
Luiz Carlos
O arquivo texto está da seguinte forma:
Alberto Silva;alberto11234@bol.com.br;Rua Itu;Niteroi;24000-000;2233-0099;8877-8877;Av Italva 44;Niteroi;24000;;AnicletisSharp;
Albizzati, Alexandre;albizzati@terra.com.br;;;;;;;;;;;
Aldair Lopes;oldpes@superig.com.br;;;;;;;;;;;
Alfredo Sampaio;alfredo@divisafm.com.br;;;;;;;;;;;
Alvaro Moro Filho;alvaro_moro@uol.com.br;;;;;;;;;;;
Eu preciso importar esses dados para uma tabela CONTATOS do firebird, o nome para um campo NOME, o email para o campo email, e assim por diante. Como consigo fazer isso?
Grato
Luiz Carlos
GOSTEI 0
Woinch
08/05/2009
Vou lhe passar um exemplo. Tente utiliza-lo. Qualquer dúvida favor responder.
Obrigado!
function CopiaStr(Texto: String; Posicao: Integer; Ocorrencia: String): String;
var
I : Integer;
begin
Result := ´´;
I := 0;
while (Pos(Ocorrencia, Texto) > 0) do
begin
Result := Copy(Texto, 0, Pos(Ocorrencia, Texto)-1);
Delete(Texto, 1, Pos(Ocorrencia, Texto)+ Length(Ocorrencia) -1);
Inc(I);
if (I = Posicao) then
Exit;
Result := Texto;
end;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
S: TStringList;
I: Integer;
begin
S := TStringList.Create;
try
S.LoadFromFile(´Arquivo.txt´);
for I := 0 to S.Count -1 do
{ sdsInsert é o componente utilizado para executar querys no banco de dados
isso irá depender da sua estrutura. eu utilizo o SQLClientDataSet, mas ele é
DBExpress. esse componente terá de estar devidamente configurado e com uma
query da seguinte maneira: insert into TABELA (CAMPO1, CAMPO2, CAMPO3) values (:NOME, :EMAIL, :CAMPO3) }
with sdsInsert do
begin
Close;
Params.ParamByName(´NOME´).Value := CopiaStr(S[I], 1, ´;´);
Params.ParamByName(´EMAIL´).Value := CopiaStr(S[I], 2, ´;´);
{...}
Params.ParamByName(´N-EZIMO_PARAMETRO´).Value := CopiaStr(S[I], N, ´;´);
ExecSQL;
end;
finally
S.Free;
end;
end;Obrigado!
GOSTEI 0
L_carlos
08/05/2009
Vlw Woinch, vou ver se consigo fazer a importação com seu codigo. Obrigado.
Luiz Carlos
Luiz Carlos
GOSTEI 0