今天使用DataTable.Select()函数,需求是要筛选出data(DadaTable里面的字段名,日期类型)的月份为2月的所有数据行,
代码:string expression = "datapart(MONTH,DATA) = '" + 2 + "'";
DataRow[] foundRows;// Use the Select method to find all rows matching the filter.
foundRows = myBindTable.Select(expression);报错:异常详细信息: System.Data.EvaluateException: 表达式包含未定义的函数调用 datapart()。之后把datapart()函数换成Month(),依然同样的错误!我想知道select()里面为什么那两个函数用不了,Select(string filterExpression)函数filterExpression参数说明
然后,希望能解决我的问题:有没有语句能够代替它们取出  月份为2月的所有数据行

解决方案 »

  1.   

    本帖最后由 bdmh 于 2012-02-23 13:35:33 编辑
      

  2.   

    http://blog.csdn.net/maonongwu/article/details/6308922
      

  3.   

    直接在SQL语句处理,然后得到2月的DataTable
      

  4.   

    .Select是不支持你这样的SQL函数操作的,可以用变同方法,在最原始的DataTable数据的SQL语句里查询一个临时字段。
    如SQLselect id,name,date, MONTH(date) AS mon
     from table然后你在DataTable.Select("mon=2");就OK了。另外一个小问题,SQL函数是datepart()而不是datapart()。
      

  5.   

    我想了解:用Linq应该怎么实现啊?我没用过Linq
      

  6.   

    http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html