ClientDataSet com XML ..como importar?

Delphi

18/05/2006

Ola!

Tenho uma aplicaçao com sqlconnection,sqldataset,datasetprovider,clientedataset e datasource.

Gostaria de implementar na minha aplicacao um siostema de importar dados via xml de um arquivo q foi gerado atraves de outro programinha delphi com somente clientdataset / datasource e dbgrid..

to tendo dificuldades, pois nao sei como jogar os dados do xml para o clientdataser principal e como dar o applyupdates e o principl como nao mandar registros q ja tenha no banco..

Alguem poderia me ajudar?

obrigado


Ectavares

Ectavares

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

18/05/2006

Creio que para importar os dados de uma arquivo xml para o seu clientdataset procure pela propriedade FileName e localize o seu arquivo xml...
depois para criar a estrutura do arquivo no seu DataSet clique com o botão direito sobre o seu dataset e escolha a opção CreateDataSet para que seja carregado o arquivo na memória e pronto, coloque um grid um dbnavigator um button com o comando
CDS.ApplyUpdates(0)
para testar e pronto...
espero ter ajudado :wink:
GOSTEI 0
Adriano Santos

Adriano Santos

18/05/2006

Creio que para importar os dados de uma arquivo xml para o seu clientdataset procure pela propriedade FileName e localize o seu arquivo xml... depois para criar a estrutura do arquivo no seu DataSet clique com o botão direito sobre o seu dataset e escolha a opção CreateDataSet para que seja carregado o arquivo na memória e pronto, coloque um grid um dbnavigator um button com o comando [b:f948b0bc18]´CDS.ApplyUpdates(0)´[/b:f948b0bc18] para testar e pronto... espero ter ajudado :wink:


Cara siga as instruções do Pall. Fiz um esqueminha aki tb pra te ajudar. Olha só:

[b:f948b0bc18]Exemplo do projeto[/b:f948b0bc18]

[color=red:f948b0bc18][b:f948b0bc18]O DBGrid de cima é seu XML, e o de baixo o cadastro de clientes principal[/b:f948b0bc18][/color:f948b0bc18]. A idéia é inserir os dados do XML no Clientes.
Não fiz nenhum tipo de checagem como Primary Key por exemplo. Mas isso é boiada.

[quote:f948b0bc18=´Código fonte do botão Importar´]
procedure TForm1.ImportarClick(Sender: TObject);
begin
  //Conecta no banco
  if not sqlConn.Connected then
    sqlConn.Connected := True;
  //Abre o ClientDataSet principal
  cdsClientes.Active := True;
  //Abre o ClientDataSetAuxiliar que está linkado com o XML
  cdsAuxiliar.Active := True;
  //Faz as inserções
  cdsAuxiliar.First;
  while not cdsAuxiliar.EOF do
  begin
    with cdsClientes do
    begin
      Append;
      FieldByName(´ID´).AsInteger      := cdsAuxiliar.FieldByName(´ID´).AsInteger;
      FieldByName(´NOME´).AsString     := cdsAuxiliar.FieldByName(´NOME´).AsString;
      FieldByName(´ENDERECO´).AsString := cdsAuxiliar.FieldByName(´ENDERECO´).AsString;
      FieldByName(´CIDADE´).AsString   := cdsAuxiliar.FieldByName(´CIDADE´).AsString;
      FieldByName(´ESTADO´).AsString   := cdsAuxiliar.FieldByName(´ESTADO´).AsString;
      FieldByName(´CEP´).AsInteger     := cdsAuxiliar.FieldByName(´CEP´).AsInteger;
      Post;
      cdsAuxiliar.Next;
    end;
    cdsClientes.ApplyUpdates(-1);
  end;
end;

[/quote:f948b0bc18]

[b:f948b0bc18]Exemplo do resultdo[/b:f948b0bc18]

Se quiser posso disponibilizar o exemplo depois no meu FTP ou te passo por e-mail.


GOSTEI 0
M

M

18/05/2006

Caro Colega Adriano Santos

Se for possível me enviar ou disponibilizar em arquivo FTP este exemplo de importar com xml

Agradeço desde já

m


GOSTEI 0
Adriano Santos

Adriano Santos

18/05/2006

Caro Colega Adriano Santos Se for possível me enviar ou disponibilizar em arquivo FTP este exemplo de importar com xml Agradeço desde já m


http://www.doiscliques.com/pub/xml.zip


GOSTEI 0
M

M

18/05/2006

Caro Colega Adriano

Agradeço pelo exemplo xml postado.

m


GOSTEI 0
Yrece Trench

Yrece Trench

18/05/2006

Caro Colega Adriano
Tentei baixar o seu exemplo no site http://www.doiscliques.com/pub/xml.zip sobre importação de xml e não consegui.
Agradeço que puder mandar para ytrench@gmail.com
Obrigado
Yrece
GOSTEI 0
POSTAR