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]

Responder a