none
Importar Dados XML para DataSet Tipado RRS feed

  • Pergunta

  • Olá pessoal, tudo bom?

    Estou desenvolvendo uma aplicação em ASP.NET e é o seguinte, tenho um arquivo XML com dados para inserir num datatable de um Dataset Tipado.

    Sei que posso colocar num Datatable todos os dados do arquivo XML de modo rápido e prático. Simplesmente fazendo um ReadXML.

    Gostaria de saber se tem algum modo de depois que eu faço isso eu posso copiar os dados deste datatable para o outro que pertence ao dataset tipado?

    Seria como dar um INSERT INTO SELECT, entenderam?

    Porque não quero pegar linha por linha, isso causa muita demora no processamento.

    Desde já agradeço pela ajuda

    segunda-feira, 13 de fevereiro de 2012 14:04

Respostas

  • Sim, Eu entendi. Faz um merge:

    novoDataTable.Merge(dataTableJaPreenchido);

    O novoDataTable vai ser carregado com todos os dados do outro. 

    Paulo César Viana
    .NET Developer
    MCC - Microsoft Community Contributor
    MCP - Microsoft Certified Professional
    MCTS - Microsoft Certified Technology Especialist
    --
    Marque as respostas e contribua para uma melhora no fórum.

    segunda-feira, 13 de fevereiro de 2012 14:42

Todas as Respostas

  • Para inserir os dados do DataTable ao dataSet você pode simplesmente adicionar o DataTable ao DataSet:

    dataSet.Tables.Add(dataTable) ou ainda fazer um Merge: dataSet.Merge(dataTable)

    Lembro apenas que o Merge não adiciona se já tiver um dataTable com a mesma estrutura e dados.


    Paulo César Viana
    .NET Developer
    MCC - Microsoft Community Contributor
    MCP - Microsoft Certified Professional
    MCTS - Microsoft Certified Technology Especialist
    --
    Marque as respostas e contribua para uma melhora no fórum.

    segunda-feira, 13 de fevereiro de 2012 14:24
  • Olá Paulo,

    O caso é o seguinte, eu não quero incluir o datatable no meu dataset não. Eu tenho os dois datatable já criados.

    O que eu preciso é inserir os dados de um datatable para o outro. Mas quero ver a possibilidade de fazer isso sem precisar percorrer cada linha e inserir cada linha. Entendeu?

    segunda-feira, 13 de fevereiro de 2012 14:39
  • Sim, Eu entendi. Faz um merge:

    novoDataTable.Merge(dataTableJaPreenchido);

    O novoDataTable vai ser carregado com todos os dados do outro. 

    Paulo César Viana
    .NET Developer
    MCC - Microsoft Community Contributor
    MCP - Microsoft Certified Professional
    MCTS - Microsoft Certified Technology Especialist
    --
    Marque as respostas e contribua para uma melhora no fórum.

    segunda-feira, 13 de fevereiro de 2012 14:42