Jump to content
Fórum Script Brasil
  • 0

Ficheiro XML


Eugenio Gomes

Question

1ª.TABELA

loginbase.IBClientDataSet1.Close;

loginbase.IBClientDataSet1.CommandText:='select * from prf_profissao order by prf_profissao';

loginbase.IBClientDataSet1.Active:=true;

diver := Tdiver.Create(diver);

// diver.Caption := 'Profissões';

diver.DBGrid1.Columns.Add;

diver.DBGrid1.Columns.Items[0].FieldName:= 'prf_profissao';

diver.DBGrid1.Columns.Items[0].Title.caption :='Profissão';

// diver.ShowModal; Não e necessario

ClientDataSet1.SaveToFile('c:\teste.xml');

-----------------------------------------------

Ate aqui tudo correcto

-----------------------------------------------

2ª.TABELA

loginbase.IBClientDataSet1.Close;

loginbase.IBClientDataSet1.CommandText:='select * from tit_titulo order by tit_titulo';

loginbase.IBClientDataSet1.Active:=true;

diver := Tdiver.Create(diver);

diver.Caption := 'Titulos';

diver.DBGrid1.Columns.Add;

diver.DBGrid1.Columns.Items[0].FieldName:= 'tit_titulo';

diver.DBGrid1.Columns.Items[0].Title.caption :='Titulo';

// diver.ShowModal;

Aqui esta o problema

se eu escrever a seuinte linha de codigo,

ClientDataSet1.SaveToFile('c:\teste.xml');

vou eliminar o conteudo ta 1ª.TABELA.

Ora o que necessito e de fazer um APPENDTOFILE?

para obter o conteudo da duas tabelas.

Se porventura existir uma solução agradeço.

Em Abraço

Eugenio Gomes.

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

voce terá que fazer uma união entre as 2 tabelas usando um campo comum às duas.

exemplo:

SELECT prf_profissao.COD, prf_profissao.id_profissao, prf_profissao.profissao, tit_titulo.id_titulo, tit_titulo.titulo
FROM prf_profissao 
INNER JOIN tit_titulo 
ON  (prf_profissao.COD = tit_titulo.COD)

OBS: Não use o mesmo nome de campo para o nome da tabela, isso causa problemas

veja que existe um campo COD para a tabela prf_profissao e

existe um campo COD para a tabela tit_titulo

dessa maneira voce pode unir as duas tabelas e gerar apenas um resultado no ClientDataSet e assim poder salvar o seu conteudo

ClientDataSet1.SaveToFile('c:\teste.xml');

abraço

Link to comment
Share on other sites

  • 0
Reportado:

Provalvelmente não me terei explicado da forma mais correcta. As duas tabelas não teem qualquer ligação entre si

logo o que sera pretendido e o seguinte:

quando abro a 1ª tabela e depois executo o savetofile vou criar o ficheiro xml com o conteudo da tabela.

logo quando abro a 2ª.tabela não posso executar o savetofile

porque desto modo vou eliminar o conteudo inicial, portanto penso que teria de ser com um (APPEND to file)?

E estou somente a falar de 2 tabelas quando o ficheiro xml que pretendo construir sera composto com algumas dezenas de tabelas sem qualquer relação entre si.

Se por possivel agradeço a ajuda.

um abraço.

Eugenio... se voce quiser salvar tabelas com estrutras direferentes em um unico XML não vai conseguir, talvez tenha que fazer alguma transformação

http://edn.embarcadero.com/article/37321

abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...