.net中DataView.RowFilter属性中可以使用sql server的函数吗,比如datediff等。。比如DataView.RowFilter="datediff(day,createTime,'2010-12-12')>=0 and plan='ok'"等等

解决方案 »

  1.   

    dataView   .RowFilter   =   String.Format(   过滤条件   (如: "datediff(d,datacode,getdate()) ")); 
      

  2.   

    这个datediff是不可以用了,我试验过了,但是还有其它很多很多函数呢,怎么区分
      

  3.   

    表达式包含未定义的函数调用 datediff()。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.EvaluateException: 表达式包含未定义的函数调用 datediff()。源错误: 
    行 175:            if (rowFilterStr !="")
    行 176:            {
    行 177:                dv.RowFilter = rowFilterStr;
    行 178:            }
    行 179:            if (sortExpressionStr 
     
      

  4.   

    dv.RowFilter=“datediff(day,createTime,'2010-12-12')>=0”;
      

  5.   

    这个貌似不可以,rowfilter都是字段与值比较,没见过你要的这种
    但是这种问题可以转化为不是SQL方法来做过滤,
    比如你的问题就可以写成
    int dateDiff = 0;//时间间隔
    DateTime date = System.DateTime.Now;//时间
    DataView.RowFilter = "Time > '" + date.AddDays(dateDiff) + "'";
    同样达到你要的效果。