簡單講解一下dataset和datatable,以excel對比,dataset相當于一個excel檔案,datatable相當于excel的一張表格。datatable可以單獨應用,dataset裡面可以含有多張datatable。
下面講一下datatable的用法:
1、定義datatable
// 定義datable
DataTable dt = new DataTable();
2、定義列(columns),定義列采用add方法,此方法有三個重載,即可以三種方式添加列。這裡隻說兩種。可根據需要檢視重載函數,确定那種方法
//方法1,直接添加
dt.Columns.Add("name", typeof(string));
表示添加了一列,此列的表頭是name,string類型。第二種添加方法為:先用datacolumn定義column,然後直接添加column
//方法2,先定義一個列,後添加,可看add的重載函數,此方法還可以添加預設值
DataColumn dc = new DataColumn("age", typeof(int));
dt.Columns.Add(dc);
DataColumn dcc = new DataColumn("sex", typeof(string));
dcc.DefaultValue = "male";//設定初始值
3、定義行(rows),定義行采用add方法,此方法有兩個重載,與列類似,可以直接add也可以先定義datarow,然後添加
//方法1,直接添加,但是行必須與之前定義的列相對應,本例中行有兩個列
dt.Rows.Add("LL", 28);
//方法2,先定義row,再添加
DataRow dr = dt.NewRow();
dr["name"] = "DD";
dr["age"] = 29;
dt.Rows.Add(dr);
添加的行裡面的參數要與columns對應。
4、datatable資料擷取
通過dt.rows[i]擷取到i行,然後通過dt.rows[i][j]擷取到j列資料,也可以通過dt.rows[i][“name”]進行擷取
//方法1,通過for循環進行周遊,然後進行判斷是否需要
for (int i=0;i<dt.Rows.Count;i++)
{
for(int j=0;j<dt.Columns.Count;j++)
{
Console.Write(dt.Rows[i][j]);
Console.Write(" ");
}
Console.WriteLine();
}
資料也可以通過select方法進行篩選。
DataRow[] rowArr = dt.Select("name='LL'");
以上為datatable最基礎的用法,可以檢視其定義中的相關方法等。
下面說一下dataset
定義完dataset以後,隻要用dataset.tables.add方法給dataset添加datatable即可。
DataSet ds = new DataSet("myDS");//兩個重載,myDS為名稱,預設為NewDataSet
DataTable table1 = ds.Tables.Add("table1");//添加一個表table1
table1.Columns.Add("name");//之後資料添加與一般table一樣