天天看點

datatable dataset

簡單講解一下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一樣      
上一篇: sqlite C#