Fórum Importar txt para firebird #50304
04/04/2005
0
Nobres programadores, sou novato a esta linguagem visual, estou querendo importar minha base de dados em txt para firebird. Estou tendo algumas dificuldades nesta importacao. Ou quem tiver uma maneira mais rapida eu agradeco. Uso delphi 7.0 e firebird 1.5
Sem mais
Edvaldo.
Sem mais
Edvaldo.
Edvaldomoreira
Curtir tópico
+ 0
Responder
Posts
05/04/2005
Gandalf.nho
Não sei se funciona com arquivos TXT, mas se o arquivo pode ser aberto via BDE talvez o IBDataPump ajude [url]http://www.clevercomponents.com[/url]
Responder
Gostei + 0
05/04/2005
Arc@njo
Em se tratando de importação de base TXT costumo utilizar da seguinte forma:
1. Cria-se, no Delphi atraves do componente SQLDataSet, os Selects que acessam as tabelas do Banco.
2. Ligo os SQLDatasets a um DataSetProvider e este a um ClientDataSet (um por tabela);
3. Gero os campos TFields dos ClientDataSet e logo apos executo a seguinte rotina;
Procedure TForm1.Button1Click(Sender : TObject);
Var TXT : TextFile;
Linha : String // ou AnsiString dependendo do tamanho do texto;
Begin
AssignFile(TXT, ´C:\Meus Documentos\MeuArquivo.TXT´);
ClientDataSet1.Open;
Reset(TXT)
Try
While Not EOF(TXT) do
Begin
Readln(TXT,Linha)
ClientDataSet1.FieldByName(´NOMECAMPO´).AsString:=Linha;
End;
Finally
CloseFile(TXT);
ClientDataSet1.Close;
End;
End;
Ai de acordo com a quantidade de campos do arquivo pode-se utilizar a função Copy(Linha, Inicio, Tamanho) para atribuir parte dos dados a campos distintos
Espero ter ajudado.
1. Cria-se, no Delphi atraves do componente SQLDataSet, os Selects que acessam as tabelas do Banco.
2. Ligo os SQLDatasets a um DataSetProvider e este a um ClientDataSet (um por tabela);
3. Gero os campos TFields dos ClientDataSet e logo apos executo a seguinte rotina;
Procedure TForm1.Button1Click(Sender : TObject);
Var TXT : TextFile;
Linha : String // ou AnsiString dependendo do tamanho do texto;
Begin
AssignFile(TXT, ´C:\Meus Documentos\MeuArquivo.TXT´);
ClientDataSet1.Open;
Reset(TXT)
Try
While Not EOF(TXT) do
Begin
Readln(TXT,Linha)
ClientDataSet1.FieldByName(´NOMECAMPO´).AsString:=Linha;
End;
Finally
CloseFile(TXT);
ClientDataSet1.Close;
End;
End;
Ai de acordo com a quantidade de campos do arquivo pode-se utilizar a função Copy(Linha, Inicio, Tamanho) para atribuir parte dos dados a campos distintos
Espero ter ajudado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)