2013-03-21 30 views
11

現在、私はSQL接続を介してデータベーステーブルを検索し、上位5行をDatatable(テーブル)に挿入するコードを持っています。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

+0

'DataTable'が空であるかどうかをチェックすることができますか? – Arshad

+0

私はブレークポイントを持っていますが、どうすれば確認できますか? – William

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; 
     } 
関連する問題