InterBase. passar dados de uma tabela para outra
Como faço para passar os Dados de uma tabela para outra tudo de uma fez só. Consegui fazer mas so que so consigo mandar um dado da tabela. Queria q fosse todos os dados da tabela. Poderia ser com um [b:d6c4a59c74]with[/b:d6c4a59c74]
Obrigado...
begin PDBDataSet1.Open; with PDBDataSet1 do Begin Append; i := Table1.FieldByName(´Codigo´).AsInteger; s := Table1.FieldByName(´Nome´).AsString; FieldByName(´Codigo´).AsInteger := i; FieldByName(´Nome´).AsString := s; Post; end; PDBDataSet1.Close; end;
Obrigado...
_celo
Curtidas 0
Respostas
Martins
27/12/2004
Como faço para passar os Dados de uma tabela para outra tudo de uma fez só. Consegui fazer mas so que so consigo mandar um dado da tabela. Queria q fosse todos os dados da tabela. Poderia ser com um [b:532ad25e00]with[/b:532ad25e00]
Obrigado...
begin PDBDataSet1.Open; with PDBDataSet1 do Begin Append; i := Table1.FieldByName(´Codigo´).AsInteger; s := Table1.FieldByName(´Nome´).AsString; FieldByName(´Codigo´).AsInteger := i; FieldByName(´Nome´).AsString := s; Post; end; PDBDataSet1.Close; end;
Uma simples questão de lógica Ok!, vc teria q varrer a tabela e transferir os dados, e como se faz isso, faça com While not Tabela.eof do, vejamos como ficaria.
begin Table1.First; PDBDataSet1.First; PDBDataSet1.Open; While Not Table1.Eof do begin with PDBDataSet1 do Begin Append; FieldByName(´Codigo´).AsInteger := Table1.FieldByName(´Codigo´).AsInteger; FieldByName(´Nome´).AsString := Table1.FieldByName(´Nome´).AsString; Post; end; Table1.Next; end; PDBDataSet1.Close;
OBS: Lá no código acima, imagino q Table1 já está aberta, se não vc tem q dar um open nela, pois é dela q vc vai extrair os dados.
* Não testei esso código, pois meu Delphi tá bixado, tenho q reinstalar ele, mas deve funcionar.
Eu costumo fazer assim.
1 - Coloco as 2 tabelas no inicio (table1 e table2) e abertas;
2 - Enquanto não chegar ao fim de Table1 faça;
3 - Importo os dados Table2Codigo.Value:=Table1Codigo_e.value;
4 - Salvo os dados em Table2 (Table2.Post);
5 - Passo para o proximo registro de Table1 (Table1.Next);
Espero q lhe ajude!
Não e se esqueci de algo, se não der certo, post aqui novamente!!
[b:532ad25e00]Martins[/b:532ad25e00]
GOSTEI 0
Gandalf.nho
27/12/2004
Se as 2 tabelas estão no mesmo banco pode usar o comando INSERT INTO
GOSTEI 0