2013-03-21 64 views
11

目前我的代碼通過SQL連接查找數據庫表,並將前五行插入到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(); 
} 

然後,我如何將此表的內容打印到控制檯以供用戶查看?

經過深入研究,有可能我應該將內容綁定到列表視圖,還是有辦法直接打印它們?我不關心現階段的設計,只是數據。

任何指針會很好,謝謝!

回答

19

你可以試試這個代碼:

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

更新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

嗨,感謝你的回答。這個編譯好,但沒有顯示,是否有可能沒有什麼? – William 2013-03-21 12:55:07

+0

你可以把一個斷點檢查'DataTable'是否爲空嗎? – Arshad 2013-03-21 12:56:41

+0

我有一個斷點,我該如何檢查? – William 2013-03-21 12:58:43

0

這裏是一個轉儲表到一個逗號分隔的字符串另一種解決方案:

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; 
     }