日期:2014-05-20  浏览次数:20749 次

ling 查询 DataTable 简单问题(各位大神有空请不吝赐教啊)
现在有一DataTable dt;
想查询 dt里是否有 StaffNo='0001’
请问怎么写语句啊

下面是我写的,但是不对
C# code

var dataResult = from
                                 datatable
                             in
                                 dt.AsEnumerable()
                             where
                                datatable.Field<string>("StaffNo") == TransF_Supervisor
                             select
                                datatable.Field<string>("StaffNo");



------解决方案--------------------
http://www.cnblogs.com/lovecherry/archive/2007/08/13/853754.html
学习一下吧
------解决方案--------------------
C# code

            DataTable dt = new DataTable();
            var dataResult = from datatable in dt.AsEnumerable()
                             where datatable.Field<string>("StaffNo") == "0001"
                             select datatable;

------解决方案--------------------
如果只是判断的话,可以这样:
bool b=dt.AsEnumerable().Any(d=>d.Field<string>("StaffNo") == "0001");
------解决方案--------------------
1:Linq 可以判断是否有,并且取得其值
var dataResult =( from datatable in dt.AsEnumerable()
where datatable.Field<string>("StaffNo") == TransF_Supervisor
select datatable.Field<string>("StaffNo")).FirstOrDefault();

2:lamda 仅仅判断是否存在
var reslut = dt.AsEnumerable().Any(c => c.Field<string>("StaffNo") == TransF_Supervisor
);