字段:进出时间 
类型:datatime 
格式:2000-01-01 00:00:00 
SLQ:"select ```` where 进出时间 between '" +DateTime.Now.Date+ " 00:00:00' and '" +DateTime.Now.Date+ "23:59:59'"; 
提示:从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界!
请问应该怎么改?

解决方案 »

  1.   

    SLQ: "select ```` where 进出时间 between '" + DateTime.Now.Date + " 00:00:00' and '" + DateTime.Now.Date + " 23:59:59'"; //少个空格?
      

  2.   

    先谢谢sprc_lcl,帮我看的那么细!!
    但好象不是这个问题!我的原码里是有空格的,好象是DateTime.Now.Date函数的出的结果,格式问题!
    我试了 DateTime.Now.ToString("yyyy-mm-dd") 还是不行!请问各位老师,应该怎么改?
      

  3.   

    DateTime.Now.Date.ToString("yyyy-MM-dd")
      

  4.   

    yyyy-MM-dd
    大写
      

  5.   

    变成大写也试了!
    提示:从字符串向 datetime 转换时失败。
    怎么变成datetime型?
      

  6.   

    //有点晕,你把'去掉试试,再不行就这么写:
            "select ```` where 进出时间>='" + DateTime.Now.Date.ToString("yyyy-MM-dd") + " 00:00:00' and 进出时间<='" + DateTime.Now.Date.ToString("yyyy-MM-dd") + " 23:59:59'";
            //或"select ```` where 进出时间>='" + DateTime.Now.Date.ToString()+"' and 进出时间<'" + DateTime.Now.AddDays(1).Date.ToString()+"'";
      

  7.   

    如果是access数据库的话就把'变为#试试
      

  8.   


    你的目的就是要查询当天的数据对吧,可以这样做撒
    select * from A where 0=datediff(day,进出时间,getdate()) 
      

  9.   

    搞定了,多谢sprc_lcl 给分!呵呵!