2013-03-21 14 views
11

Obecnie mam kod, który wyszukuje tabelę bazy danych za pośrednictwem połączenia SQL i wstawia pięć górnych wierszy do danych (tabela).Drukuj zawartość DataTable

using(SqlCommand _cmd = new SqlCommand(queryStatement, _con)) 
{ 
    DataTable Table = new DataTable("TestTable"); 

    SqlDataAdapter _dap = new SqlDataAdapter(_cmd); 

    _con.Open(); 
    _dap.Fill(Table); 
    _con.Close(); 
} 

Jak mogę potem wydrukować zawartość tej tabeli do konsoli, aby użytkownik mógł zobaczyć?

Po wykopaniu, czy możliwe jest powiązanie zawartości z widokiem listy lub czy istnieje sposób bezpośredniego drukowania? Nie jestem zainteresowany projektowaniem na tym etapie, tylko danymi.

Wszelkie wskazówki byłyby świetne, dzięki!

Odpowiedz

19

można wypróbować ten kod:

foreach (DataRow dataRow in Table.Rows) 
    { 
    foreach (var item in dataRow.ItemArray) 
    { 
    Console.WriteLine(item); 
    } 
    } 

Aktualizacja 1

DataTable Table = new DataTable("TestTable"); 
using(SqlCommand _cmd = new SqlCommand(queryStatement, _con)) 
    {   
     SqlDataAdapter _dap = new SqlDataAdapter(_cmd); 
     _con.Open(); 
     _dap.Fill(Table); 
     _con.Close(); 

     } 
Console.WriteLine(Table.Rows.Count); 
foreach (DataRow dataRow in Table.Rows) 
     { 
     foreach (var item in dataRow.ItemArray) 
     { 
     Console.WriteLine(item); 
     } 
     } 
+0

Hi, Dziękuję za odpowiedź. To się kompiluje, ale nic się nie pokazuje, czy to możliwe, że nic tam nie ma? – William

+0

można umieścić punkt przerwania i sprawdzić, czy 'DataTable' jest pusty, czy nie? – Arshad

+0

Mam breakpoint, jak sprawdzić? – William

0

Oto kolejne rozwiązanie, które zrzuca stół do oddzielonych przecinkami wyrażenie:

using System.Data; 

public static string DumpDataTable(DataTable table) 
     { 
      string data = string.Empty; 
      StringBuilder sb = new StringBuilder(); 

      if (null != table && null != table.Rows) 
      { 
       foreach (DataRow dataRow in table.Rows) 
       { 
        foreach (var item in dataRow.ItemArray) 
        { 
         sb.Append(item); 
         sb.Append(','); 
        } 
        sb.AppendLine(); 
       } 

       data = sb.ToString(); 
      } 
      return data; 
     }