Thursday, January 20, 2011

[C#] 獲得DataSet內容

在幫人解問題時寫了這一小段程式,可以列出未知內容DataSet內的所有資料,紀錄一下。

其實要獲得DataSet內容蠻簡單的,丟到GirdView之類的物件內顯示就可以了,不過如果在Console下似乎就沒這種東西可以用,於是只好老實的印出來,下面是程式碼,模擬的情況是去SQL Query一段資料然後用SqlDataAdapter塞到DataSet內。


DataSet dt = new DataSet();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = new SqlCommand(sqlString, connection);
                adapter.Fill(dt);
            }

            Console.WriteLine("Table Count:" + dt.Tables.Count.ToString());
            for (int i = 0; i < dt.Tables.Count; i++)
            {
                Console.WriteLine("Table " + i.ToString() + " [" + dt.Tables[i].TableName+"]");
                for (int j = 0; j < dt.Tables[i].Columns.Count; j++)
                {
                    Console.Write(dt.Tables[i].Columns[j].ColumnName+"\t");
                }
                Console.WriteLine();
                for (int j = 0; j < dt.Tables[i].Rows.Count; j++)
                {
                    for (int k = 0; k < dt.Tables[i].Columns.Count; k++)
                    {
                        Console.Write(dt.Tables[i].Rows[j][k].ToString() + "\t");
                    }
                    Console.WriteLine();
                }
            }


左邊是原始資料,右邊是把DataSet內容印出來的結果。


dataset


如果不一定要在程式內知道DataSet的內容的話,還有更簡單的方式,直接把DataSet輸出成XML格式,然後打開來看,只要一行就解決了XD


dt.WriteXml("dataset.xml");

打開來就跟一般的XML一樣囉


dataset2

筆記做完,收工。

No comments:

Post a Comment