DataTable因使用灵活,所以在有不少开发者喜欢使用。但是你真的会用吗?
我用DataTable来处理数据有很久了,但是一直没有仔细研究过它,每次处理数据的时候都是使用最笨的方法来循环匹配,想必很多人都用过,但是DataTable这个数据集其实自带有比较好用的快速检索方法,下面列举两个
第一种是根据主键检索:
使用Find方法查找有主键的表
(1) 主键只有一个字段
DataRow dr = dt.Rows.Find("主键字段的值");
(2) 主键有多个字段
例如,表的主键由一个整型字段ID和一个字符类型自动Name组成,以下代码查找满足ID=10且Name="张三"条件的记录。
Object[] objs = new Object[]{10,"张三"};
dr = dt.Rows.Find(objs);
第二种更加灵活,可以是任意字段:
DataRow[] dr = dt.Select("fy_no='" + fy_no + "'and brd_no='" + brd_no + "' and area_no='" + area_no + "' and city_no='" + city_no + "' and outlet_no='" + outlet_no + "' and hc_date='"+date+"'");
看起来是不是很像写sql语句,直接就可以得到检索的结果。很方便。