欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-14 13:32:10
DATASET 可以理解为是个数据库。 DATATABLE 可以理解为是个数据表。 DATAVIEW 可以理解为是表的视图。 dataset 数据集合可以包含多个datatable,而datatable可以声明多个dataview。dataview是个虚拟的视图,用于数据展示层,可以通过对它的Row ......

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