1. 程式人生 > >DataSet,DataTable,DataView的關係及簡單應用

DataSet,DataTable,DataView的關係及簡單應用

每一個DataSet都是一個或多個DataTable 物件的集合(DataTable相當於資料庫中的表),這些物件由資料行(DataRow)、資料列(DataColumn)等組成。
DataView是對某一個DataTable建立檢視,用來在觀察資料時提供排序和過濾的功能。

                 1.DataSet與DataTable的相互轉換

                    DataSet ds = new DataSet();
                    DataTable dt = ds.Tables[0];

                 2.DataTable的簡單操作

                    1)獲取所有行。
                    DataRow[] rows = dt.Select();
                    
                    2)按主鍵順序(如沒有主鍵,則按照新增順序)獲取符合篩選條件的行。
                    DataRow[] rows = dt.Select("ID>52");
                    
                    3)獲取符合篩選條件的行,並按指定的排序條件排序。

                    DataRow[] rows = dt.Select("ID>52","ID DESC");

                    4)獲取符合篩選條件和指定狀態的行,並按指定的排序條件排序。
                    string strExpr = "ID>52";
                    string strSort = "ID DESC";
                    DataRow[] foundRows = dt.Select(strExpr, strSort, DataViewRowState.OriginalRows); 

                 3.合併兩個DataTable表的資料

                    DataTable dt1 = ds.Tables[0];
                    DataTable dt2 = ds.Tables[1];
                    dt1.Merge(dt2, true, MissingSchemaAction.AddWithKey);
                    //或者
                    //將兩個DataTable合併成一個
                    DataTable d1 = null;//源資料1
                    DataTable d2 = null;//源資料2
                    DataTable newDataTable = d1.Copy();//複製出一個新表
                    //新增DataTable2的資料
                    foreach (DataRow dr in d2.Rows)
                    {
                        newDataTable.ImportRow(dr);//將兩個datatable合併
                    }

                4.DataView

                    DataView dv = ds.Tables[0].DefaultView;
                    //或
                    DataView dv = new DataView(ds.Tables["Product"], "ID > 52", "ID DESC",
                    DataViewRowState.CurrentRows);

                5.DataColumn建立與賦值

                  DataColumn dc = new DataColumn("ID", typeof(string));
                  dt.Columns.Add(dc);
                  DataRow row = dt.NewRow();
                  row["ID"] = "1";