天天看点

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";

继续阅读