string sql = "select * from [FEvaluation] where CourseName='" + courseName + "' and FEDate between  DataTime.Now.AddDays(-20) and  DateTime.Now.Date.ToString(yyyy-mm-dd)";                      
知道不大对,但是不知道怎么改(我也么啥分,各位就当行好吧^_^)

解决方案 »

  1.   

    你把DataTime.Now.AddDays(-20)放到sql里面它能识别么?
      

  2.   

    string sql = "select * from [FEvaluation] where CourseName='" + courseName + "' and FEDate between '" + DataTime.Now.AddDays(-20) + "' and '" + DateTime.Now.Date.ToString(yyyy-mm-dd) + "'";
      

  3.   


    string sql = "select * from [FEvaluation] where CourseName=N'" + courseName + "' and FEDate between "+ DataTime.Now.AddDays(-20) 
                 + " and + " DateTime.Now.Date.ToString(yyyy-mm-dd)";                      
    凑合着用吧(看起来怎么就这么别扭呢 ~.~)
      

  4.   

    string courseName = "wzy";
            string sql = "select * from [FEvaluation] where CourseName='" + courseName + "' and convert(varchar(10),FEDate,120) between '"+ DateTime.Now.AddDays(-20).ToString("yyyy-MM-dd")+"' and '"+ DateTime.Now.Date.ToString("yyyy-MM-dd")+"'"; 
          
      

  5.   


    string sql = "select * from [FEvaluation] where CourseName=N'" + courseName + "' and FEDate between '"+ DataTime.Now.AddDays(-20) 
                 + "' and '" + DateTime.Now.Date.ToString(yyyy-mm-dd) + "' ";    有点晕。。
      

  6.   

    报错说没有定义“yyyy" 把括号里面的东西都删了 貌似就可以了,谢谢啊
      

  7.   

    把yyyy-mm-dd加上一个双引号就ok了。
      

  8.   

    呵呵convert(varchar(10),时间,120) between '2008-01-01' and '2008-01-05'

    时间 between '2008-01-01 00:00:00.000' and '2008-01-05 23:59:59.997'ToString("")用"",MM大写,都是错误
      

  9.   

    不过貌似DataTime.Now.AddDays(-20) 这个没起作用,我就是想查询当前时间之前某一时间段的记录,这个语句也是百度搜来的……各位帮帮忙
      

  10.   

    add(-20)是c#语法,不能放括号里
      

  11.   

    就是用在asp.net里的,刚刚又试过了,可以了,谢谢啊^_^