我想请教一个问题:
有这个一个表DataTable dt=....;
其中有两个字段a,b,c都是字符串类型,但里面保存的都是数字。我如何通过比较a=b+c来筛选数据呢?
我这样写会报错;
dt.Select("convert(float,a)=(convert(float,b)+convert(float,c))")。求大神指教以下是错误提示:
dt.Select("convert(float,REQ_QUAN)=0")
“dt.Select("convert(float,REQ_QUAN)=0")”引发了“System.Data.EvaluateException”类型的异常 System.Data.DataRow[] {System.Data.EvaluateException}

解决方案 »

  1.   

    DataTable result=dt.AsEnumerable().Where(t=>int.Pares(t.Field<string>("b"))==int.Pares(t.Field<string>("c"))+int.Pares(t.Field<string>("a"))).CopyToDataTable();
      

  2.   

    将dt的字段设置为float不行吗?
      

  3.   

    你好,我的数据是从别人的数据库中查出来的。可以将datatable的某列改为float吗
      

  4.   

    DataTable result=dt.AsEnumerable().Where(t=>int.Pares(t.Field<string>("a"))==int.Pares(t.Field<string>("b"))+int.Pares(t.Field<string>("c"))).CopyToDataTable();lamda表达式
      

  5.   

    Refer this:
    http://www.cnblogs.com/insus/archive/2013/05/13/3075994.html