DataSet、DataTable、DataView三者关系及DataView 常见用法

DATASET   可以理解为是个数据库。

DATATABLE  可以理解为是个数据表。

DATAVIEW   可以理解为是表的视图。

  dataset 数据集合可以包含多个datatable,而datatable可以声明多个dataview。dataview是个虚拟的视图,用于数据展示层,可以通过对它的RowFilter、Sort属性的设置,控制输出想要的数据集合。

DataView过滤 和 排序
1 //假设有个DataTable
2 DataTable dt=new DataTable();
3 //转成一个DataView
4 DataView dv=dt.DefaultView;
5 //加上过滤条件
6 dv.FilterSort=" 员工='张三'";
7 //重新转化为新DataTable
8 DataTable newTable=dv.ToTable();
//员工ID大于5且生日小于?
dv.RowFilter = "EmployeeID >5 AND Birthdate < #1/31/82#";
//描述类似于product关键字
dv.RowFilter = "Description LIKE '*product*'";
//员工ID等于 2 or 4 or 5
dv.RowFilter = "employeeID IN (2,4,5)";
//如果在LIKE子句中已经有了*或%字符,你必须用方括号将其括起,以免歧义。如果很不幸,字符串中方括号本身也存在了,那么它也必须用将本身括起
dv.RowFilter = "Description LIKE '[[]*[]]product[[]*[]]";
//员工ID小于6且名字字数偶数,员工ID大于6且名字字数奇数
dv.RowFilter="IIF(employeeID<6, Len(lastname) %2 =0, Len(lastname) %2 >0)";
//排序
//正序
dv.Sort = "ID asc";
//倒序
dv.Sort = "ID desc";
//多个排序
view.Sort = "ID DESC,Name ASC";