entendi o que você faz; eu consigo alimentar o CDS, o problema está quando mando para o Firebird 1.5, não sei se preciso ou não usar Transaction, o que acontece é que nem todas as tabelas vão para o Banco, é este o meu problema, de qualquer forma grato pela atenção. Stainle
--- Em sex, 14/11/08, Luciano Angelini - uol <[EMAIL PROTECTED]> escreveu: De: Luciano Angelini - uol <[EMAIL PROTECTED]> Assunto: Re: [delphi-br] Firebird não atualiza Para: delphi-br@yahoogrupos.com.br Data: Sexta-feira, 14 de Novembro de 2008, 9:25 Bom dia Stainle2003 .... quando preciso importar dados TXT para um CDS ... clientDataSet eu uso assim .... um Componente ClientDataSet .... um DataSource ... um OpenDialog ... um Edit.... 2 button(Gerar Dados no CDS e Localizar o Arquivo TXT) e um DBGrid. OnClick do Button para Localizar o Arquivo TXT OpenDialog1. Execute ; edit1.text := OpenDialog1. FileName ; no clique do Button para Gerar Dados no CDS var texto : TStringList; i,total : integer; begin ClientDataSet1. Open ; texto := TStringList. create ; texto.LoadFromFile( Edit1.Text) ; texto.Text := trim(texto.Text) ; for i := 0 to texto.Count -1 do begin ClientDataSet1. Insert; ClientDataSet1NOME. AsString := trimRight(copy( texto[i], 01,45)); ClientDataSet1N_ DOC.AsString := TrimRight(copy( texto[i], 45,59)); ClientDataSet1ENDER ECO.AsString := TrimRight(copy( texto[i], 66,120)); ClientDataSet1BAIRR O.AsString := TrimRight(copy( texto[i], 119,149)) ; ClientDataSet1CEP. AsString := TrimRight(copy( texto[i], 150,159)) ; ClientDataSet1. post ; end; texto.Free ; total := ClientDataSet1. RecordCount ; ShowMessage( 'Total de Registros Importados: ' + inttostr(total) ) ; Espero ter ajudado ... Luciano Angelini Prefeitura de Lupionopolis stainle2003 escreveu: > > Amigos, estou com Delphi 7 lendo arquivos textos e tentando atualizar > tabelas no Firebird 1.5, leio os textos e coloco num CDS que está > ligado a um Provider que por sua vez está ligado ao SqlDataSet e este > ao SQLConnection( DBExpress) , algumas tabelas são atualizadas outras > não, a configuração do DSP estão todas iguais, não uso Transaction, > não sei se precisa, estou perdido, se alguem puder ajudar desde já > agradeço. > Stainle, > segue abaixo o codigo que utilizo: > if FileExists(' c:\remoto\ descon\txtdes. txt') then > begin > Dados.CDSDes. First; > While not (Dados.CDSDes. Eof) do > begin > Dados.CDSDes. Delete; > end; > Dados.CDSDes. ApplyUpdates( 0); > AssignFile(aa, 'c:\remoto\descon\ txtdes.txt' ); > reset(aa); > While not eof(aa) do > begin > readln(aa, linho); > if Dados.CDSDes. FindKey([ copy(linho, 1, 8)]) then > begin > Dados.CDSDes. Edit; > Dados.CDSDesRFornec e.Value := copy(linho, > 9, 20); > > Dados.CDSDes. Post; > Dados.CDSDes. ApplyUpdates( 0); > end > else > begin > Dados.CDSDes. Insert; > Dados.CDSDesRNrolin ha.Value := copy(linho, > 1, 8); > Dados.CDSDesRFornec e.Value := copy(linho, > 9, 20); > Dados.CDSDes. Post; > Dados.CDSDes. ApplyUpdates( 0); > end; > end; > > Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]