如果以資料庫來打比方:
DataSet 就是一個功能簡單的資料庫,
DataSet 是多個表(DataTable)的集合,
DataTable 就是對應數(對應資料庫中的資料表)
DataView 則對應資料庫中的視圖(View)。
範例
從資料庫將資料填入 DataTable 中,並由DataTable 逐一取出資料,顯示在控制台上。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//連線字串
string connString = "Data Source=.;Initial catalog=Northwind;User id=riva;Password=1234;Encrypt=true;Trust Server Certificate=True";
SqlConnection conn = new(connString); //建立連線
SqlDataAdapter da = new("select top 2 CustomerID,CompanyName,ContactName from customers", conn); //執行SQL
DataTable dt = new(); //建立DataTable,用來裝 da 執行sql結果的資料。
da.Fill(dt); //用fill將資料放入dt (fill方法會自動開啟/關閉conn連線)
//從 DataTable 取出資料, ds.Tables[0]就是所要查詢的結果集
foreach (DataRow row in dt.Rows) // dt.Rows表示table的第一行資料
{
//row[0] 指定index 將該行(row)的 每一列(column)資料 輸出到控制台
Console.WriteLine($"客戶編號: {row[0]}, 公司名稱: {row[1]}, 聯絡人: {row[2]}");
}
da.Dispose();//釋放SqlDataAdapter資源
執行結果:
1
2
客戶編號: ALFKI, 公司名稱: Alfreds Futterkiste, 聯絡人: Maria Anders
客戶編號: ANATR, 公司名稱: Ana Trujillo Emparedados y helados, 聯絡人: Ana Trujillo