Join DataTable


por Mauricio Junior em 1/1/2011 0



Esse título não tem nada demais, é apenas a junção de dois dados do tipo DataTable. O que vou mostrar hoje é um método que recebe dois parâmetros do tipo DataTable, junta os dois dados em um só e retorna o valor.

Usado: Visual Studio 2010, Linguagem C#.NET, Método, Framework.

Como falado em outros artigos publicados, foi criado um método do tipo public e estático. Isso facilita na criação de uma dll ou framework de utilidades que pode ser usado em qualquer projeto. 

Na primeira linha é verificado se os dados enviados são diferentes de null para dar continuidade no método. Após a verificação, é feita uma cópia do primeiro DataTable usando o comando Copy(), em seguida um foreach começa a vasculhar o segundo parâmetro.

Dentro do foreach, é criado uma nova linha e adicionada a um array que no final adiciona os dados ao novo DataTable. No final, o novo DataTable é retornado no caso de não erro. Veja o código 1.1.

 

public static DataTable JoinDataTable(DataTable oDataTable1, DataTable oDataTable2)

        {

            if (oDataTable1 == null || oDataTable2 == null)

                return null;

 

            DataTable odtt = oDataTable1.Copy();

            foreach (DataRow row in oDataTable2.Rows)

            {

                try

                {

                    DataRow r = odtt.NewRow();

                    r.ItemArray = row.ItemArray;

                    odtt.Rows.Add(r);

                }

                catch (Exception e) //if the schema are not equal

                {

                    string x = e.Message;

                    break;

                }

            }

            return odtt;

        }

 

Code 1.1

O tratamento de erro não é um dos melhores, dessa forma, se for utilizar este método mude apenas a parte do catch fazendo com que retorne algum erro real ao desenvolvedor que for utilizar o método.

Qualquer dúvida, pode entrar em contato pelo site.

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Sistema de Login em ASP – Parte 10
Sistema Calcula IMC e IGC no Celular
Vídeos Online Gratuitos
Microsoft AdventureWorks Database
Usando ProgressBar com Visual Studio.NET 2005
Apresentação do Windows
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010
Windows Phone 7 Multi Touch
Servidor Integrado - Visual Studio.NET
C# - Da introdução ao primeiro projeto-1
OpenWave SDK 6.2.2
User Control Windows executando no Internet Explorer (parte 2 de 2)
Visual Studio 11 - Novas funcionalidades e melhorias
Cookies
Você tem boa postura no trabalho?
Agrupando e-mails no Hotmail
Vídeo: Série Atlas.NET - Parte I
XAML Power Toys
Trabalhando com GridView e RowCommand
Windows Forms Application – Alterando Arquivo de Configuração Dinamicamente
MaskedTextBox da direita para esquerda
Java J2EE – Segundo Passo
2 Eventos, 1 dia: Mix On UniEURO
Calcular Média de Combustível
Escrevendo e Controlando Log de Erro
Finanças para os filhos
Montando Menu Dinâmico com Banco de Dados
Aspirador de pó inteligente
Dicas para programar melhor
Novo HTC com Windows Phone 7
Método SHA1
Membership
Padrão de Codificação
O segredo de utilizar ModalPopupExtender
Criando TreeView com Visual Studio.NET 2005 (passo 1)