Você vai ter que fazer a rotina na mão mesmo. Faz a leitura de um arquivo
linha a linha, e cada linha você retira os  valores devidos e manda gravar
no banco.

Veja abaixo a rotina que uso para pegar um txt, cujos dados estão separados
por ponto e virgula, e jogar seu conteúdo dentro de uma base no SQK Server

 
procedure TfDlgImportaDados.ImportaCadFuncionario;
var
 qryImportFunc: TADOQuery;
 sFile: Textfile;
 sFileImportFunc, sStrData,
 sMes, sAno, sDataInicio, sRetornoTrab, sMotivoAfast,
 sDataInicioAfast, sRetornoTrabAfast : String;
 sBakFileImportFunc: string;
 vDatabaseFunc : array[0..7] of String;
 iChapaFunc : integer;
 iFoundRegister: integer;
begin
 iCancel := False;
 OpenDialog.Execute;
 sFileImportFunc := OpenDialog.FileName;
 Button2.Visible := False;
 Button3.Visible := True;
 pBar.Position := 0;
 pBar.Max := NumLinhasArq(sFileImportFunc);
 AssignFile(sFile, sFileImportFunc);
 Reset(sFile);

 qryImportFunc := TADOQuery.Create(nil);
 qryImportFunc.Connection := DMFrot.cnFrota;
 qryImportFunc.SQL.Add('select * from ZVTLMTECNICO');
 qryImportFunc.Open;
 while (not Eof(sFile)) and (not iCancel) do
 begin
  ReadLn(sFile, sStrData);
  //
  iChapaFunc := StrToInt(ParteTexto(sStrData, ';'));
  //
  if qryImportFunc.Locate('CHAPA', iChapaFunc, [loCaseInsensitive,
loPartialKey]) then
  begin
    iFoundRegister := 1;
    qryImportFunc.Edit;
  end
  else
  begin
    iFoundRegister := 0;
    qryImportFunc.Insert;
  end;
  //
  qryImportFunc.FieldByName('CHAPA').AsInteger := iChapaFunc;
  qryImportFunc.FieldByName('CODPESSOA').AsString := ParteTexto(sStrData,
';');
  qryImportFunc.FieldByName('NOME').AsString := ParteTexto(sStrData, ';');
  qryImportFunc.FieldByName('CARGO').AsString := ParteTexto(sStrData, ';');
  qryImportFunc.FieldByName('FUNCAO').AsString := ParteTexto(sStrData, ';');
  qryImportFunc.FieldByName('SECAO').AsString := ParteTexto(sStrData, ';');
  qryImportFunc.FieldByName('HORARIOTRABALHO').AsString :=
ParteTexto(sStrData, ';');
  qryImportFunc.FieldByName('DATAADMISSAO').AsString := ParteTexto(sStrData,
';');
  qryImportFunc.FieldByName('DTDESLIGAMENTO').AsString :=
ParteTexto(sStrData, ';');
  sDataInicio := ParteTexto(sStrData, ';');
  sRetornoTrab := ParteTexto(sStrData, ';');
  sDataInicioAfast := ParteTexto(sStrData, ';');
  sRetornoTrabAfast := ParteTexto(sStrData, ';');
  sMotivoAfast := ParteTexto(sStrData, ';');
  //
  qryImportFunc.FieldByName('INICPROGFERIAS').AsString := sDataInicio;
  qryImportFunc.FieldByName('FIMPROGFERIAS').AsString := sRetornoTrab;
  qryImportFunc.FieldByName('INIAFASTAMENTO').AsString := sDataInicioAfast;
  qryImportFunc.FieldByName('FIMAFASTAMENTO').AsString := sRetornoTrabAfast;
  qryImportFunc.FieldByName('CODSITUACAO').AsString := sMotivoAfast;
  qryImportFunc.Post;

  if (sDataInicio <> '') and (sRetornoTrab <> '') then
    GravaAfastamento(iChapaFunc, iFoundRegister, 5, sDataInicio,
sRetornoTrab,'Desconto relativo ao período de férias do funcionário');

  if (sDataInicioAfast <> '') then
    GravaAfastamento(iChapaFunc, iFoundRegister, 3, sDataInicioAfast,
sRetornoTrabAfast,'Desconto relativo ao período de Licença do funcionário');

  pBar.Position := (pBar.Position + 1);
  Application.ProcessMessages;
 end;
 CloseFile(sFile);
 if FileExists(sFileImportFunc) then
 begin
   sBakFileImportFunc :=
ChangeFileExt(ExtractFileName(sFileImportFunc),'.old');
   if FileExists(sBakFileImportFunc) then DeleteFile(sBakFileImportFunc);
   if not RenameFile(sFileImportFunc,sBakFileImportFunc) then
     MessageDlg (format('Erro criando arquivo
"%s"!',[sBakFileImportFunc]),mtError,[mbOk],0);
 end;
 //
 qryImportFunc.Close;
 FreeAndNil(qryImportFunc);
 Button3.Visible := False;
 Button2.Visible := True;
 DMFrot.dsHistoricoVeiculo.DataSet.Close;
 DMFrot.dsHistoricoVeiculo.DataSet.Open;
end;
 
 []s

 Walter Alves Chagas Junior
 Projeto e desenvolvimento
 Telemont Engenharia de telecomunicações
 [EMAIL PROTECTED]
 Fone: (31) 3389-8215 Fax: (31) 3389-8200
 
 

> -----Mensagem original-----
> De: Debora [mailto:[EMAIL PROTECTED]
> Enviada em: quinta-feira, 24 de março de 2005 09:30
> Para: delphi-br@yahoogrupos.com.br
> Assunto: [delphi-br] 
> 
> 
> 
> Bom dia gente. aqui estou eu enchendo vcs de novo. :):):)
> Gostaria de saber se alguem tem algum exemplo (pode ser bem 
> simples) de como importar arquivos texto para dentro de um 
> banco de dados. Eu sou programadora de um cartorio e as 
> informaçoes bancarias agora serao enviadas por meiod eum 
> disquete. Uso ibdataset e firebird com delphi 5. O programa 
> ja roda legal so que preciso fazer com que ele importe esse 
> arquivo,gere o arquivo de retorno. Baixei um componente 
> chamado boleto bancario mas nao entendi patavina. anexei o 
> arquivo que vem do banco. desde ja agradecida...
> Debora da Silva Costa
> 
> [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] ou [EMAIL PROTECTED]
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 


[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] ou [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