DateTable.Select(sql)sql条件中有日期字段的条件怎么写?
DataRow [] drs = dt.Select("Date between " + startDate + " and " + endDate);
报:语法错误:“00”运算符后缺少操作数。

解决方案 »

  1.   

    DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");
      

  2.   

    DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");
    使用'
      

  3.   

    表达式包含不支持的运算符“Between”。
      

  4.   

    DataRow [] drs = dt.Select("Date >'" + startDate + "' and Date <'" + endDate+"'");
      

  5.   

    RowFilter   
    dt.Select("Date >'" + startDate + "' and Date <'" + endDate+"'");
      

  6.   

    RowFilter="Date >'" + startDate + "' and Date <'" + endDate+"'"
      

  7.   

     drs = dt.Select("Date >= '" + startDate + "' and  Date <= '" + endDate + "'");
    Date字段中有2011-02-26 15:28:35
    startDate的值2011-01-01 00:00:00,endDate的值2011-02-27 00:00:00
    虽然不报错,可是也查不到数据了
      

  8.   

    rs = dt.Select( "Date >= '" + startDate + "' and  Date <= '" + endDate + "'");
    drs = {System.Data.DataRow[0]}
      

  9.   

    wuyq11这个RowFilter怎么用的呀?dt找不到这个属性或方法呀 。我想就是dt.Select()方法就是可以按条件过滤的呀!
      

  10.   

    呵呵 应该是时间转换的问题你看看你的Date 是什么格式的 换成统一的比较看看
    dt.Select("Date.ToShortDateString()>='" + startDate.ToShortDateString() + "' and Date.ToShortDateString() <= '" + endDate.ToShortDateString() + "'");
      

  11.   

    可能会有小的语法错误。没有环境 自己在调调。就是把时间格式转换相同的。 另外还要看你满足条件的数据在数据库里存在不。先把生成SQL放查询分析器里跑一遍
      

  12.   

    DateView dv=ds.Tables[0].DefaultView;
    dv.Filter="Date >'" + startDate + "' and Date <'" + endDate+"'"在查询分析中根据日期查询是否有数据
      

  13.   

    是这样的,这些数据是日志文本文件,解析出来的数据填充在DataTable中,之后要根据日期条件来查询。
    刚试了wuyq11给的方法调试了哈,DateView dv=ds.Tables[0].DefaultView;
    dv.Filter="Date >'" + startDate + "' and Date <'" + endDate+"'"
    在调试器中也没有查到数据
      

  14.   

    drs = dt.Select("Date >= '" + startDate.ToShortDateString() + "' and  Date <= '" + endDate.ToShortDateString() + "'");用这个方法解决了。
    wxr0323谢谢大家!