C# DataSet(記憶體中的資料集)
阿新 • • 發佈:2019-01-05
DataSet 中有多個 DataTable;DataTable 中有多個DataColumn (列名),多個Rows (資料行)。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _04DataSetDemos { public partial class MainFrm : Form { public MainFrm() { InitializeComponent(); } private void MainFrm_Load(object sender, EventArgs e) { //建立一個記憶體的資料集 DataSet ds =new DataSet("DS5"); //建立一張記憶體表 DataTable dt1 =new DataTable("dt1"); //把表放到資料集裡面去。 ds.Tables.Add(dt1); //給表定義列 DataColumn dcName = new DataColumn("Name",typeof(string)); //定義三個列名 DataColumn dcAge = new DataColumn("Age",typeof(int)); DataColumn dcId=new DataColumn("Id",typeof(int)); //把列放到表裡面去。 dt1.Columns.AddRange(new DataColumn[]{dcId,dcName,dcAge}); //給表新增資料 dt1.Rows.Add(1, "老馬", 18); //新增資料行,一行三個資料 對應三個列名。次序也要對應。 dt1.Rows.Add(1, "趙黑", 29); dt1.Rows.Add(1, "老王", 18); dt1.Rows.Add(1, "老汪", 19); //------- //建立一張記憶體表,第二張表 DataTable dt2 = new DataTable("dt2"); //把表放到資料集裡面去。 ds.Tables.Add(dt2); //給表定義列 DataColumn dcName2 = new DataColumn("Name", typeof(string)); DataColumn dcAge2 = new DataColumn("Age", typeof(int)); DataColumn dcId2 = new DataColumn("Id", typeof(int)); //把列放到表裡面去。 dt2.Columns.AddRange(new DataColumn[] { dcId2, dcName2, dcAge2 }); //給表新增資料 dt2.Rows.Add(1, "老馬", 18); dt2.Rows.Add(1, "趙黑", 29); dt2.Rows.Add(1, "老王", 18); dt2.Rows.Add(1, "老汪", 19); //遍歷資料集DataSet foreach(DataTable tb in ds.Tables) { foreach (DataRow dataRow in tb.Rows) //遍歷資料表 DataTable { Console.WriteLine(dataRow[0]+" " +dataRow[1]+" "+dataRow[2]); } } } } }