none
Percorrer DataTable - Urgente RRS feed

  • Pergunta

  • Pessoal,

    Preciso da seguinte ajuda. Tenho um arquivo Excel. Dele, preciso gerar várias DataTables, pois deverei armazenar na base de dados. Só que o que pensei.. Vou carregar inicialmente tudo num DataTable principal, e depois faço a divisão. Até ai tudo bem, consegui. Agora estou precisando saber como posso percorrer esse datatable principal para fazer a divisão em outros datatbles. Pelo que observei, já sei como foram gravados no DataTable principal as linhas e colunas referente ao xls. Tipo da linha 0 até linha 12, poderia formar o primeiro datatble separado.. Só que como posso percorrer da melhor maneira e gravar nesse datatable novo por exemplo as linahs e colunas.. ?

    obrigado

    quarta-feira, 12 de outubro de 2011 15:18

Todas as Respostas

  • Olá.

    Para percorrer os registros você pode fazer um foreach:

    using System;
    using System.Data;
    using System.Text;
    using System.Data.OleDb;
    
    namespace CA_CSharp
    {
        class Usuario
        {
            public DateTime DataNascimento { get; set; }
        }
        class Program
        {
            static void Main(string[] args)
            {
                DataTable table = new DataTable();
                DataColumn column;
                DataRow row;
    
                column = new DataColumn("ColunaA");
                table.Columns.Add(column);
    
                column = new DataColumn("ColunaB");
                table.Columns.Add(column);
    
                row = table.NewRow();
                row["ColunaA"] = "1";
                row["ColunaB"] = "1";
                table.Rows.Add(row);
    
                row = table.NewRow();
                row["ColunaA"] = "2";
                row["ColunaB"] = "1";
                table.Rows.Add(row);
    
                row = table.NewRow();
                row["ColunaA"] = "1";
                row["ColunaB"] = "2";
                table.Rows.Add(row);
    
                foreach (DataRow linha in table.Rows)
                {
                    Console.WriteLine("Valor coluna A: {0} | Valor coluna B {1}",
                        linha["ColunaA"].ToString(), linha["ColunaB"].ToString());
                }
    
          
                Console.ReadKey();            
            }
           
        }
    }
    
    



    Para copiar os dados para outro objeto dataTable você pode fazer um clone (vai garantir que o outro objeto tenha as mesmas caracteristicas do original) e importar os registros utilizando o método ImportRow. Veja um pouco sobre isto aqui:

    http://www.macoratti.net/adon_crt.htm

    http://social.msdn.microsoft.com/Forums/pt/aspnetpt/thread/64d9ad53-785c-4ec2-af52-14509835600d


    --
    Marque as respostas e ajude a melhorar a busca do fórum. pcfviana@gmail.com
    quinta-feira, 13 de outubro de 2011 01:55