我数据库用的是mysql5.0,photoID是DateTime类型的为何我查询语句如下写法查不出数据"select * from checkingin where format(photoID,'yyyy-MM-dd')='" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + "'"而如下写的能查出"select * from checkingin where photoID>='" + dateTimePicker1.Value + "'"如果想查dateTimePicker1选定那天的记录该怎么写呢?
我查了查论坛中其他人帖子方法试了试都查不出来呢?谁知道怎么回事?

解决方案 »

  1.   

    通过between 开始时间 and 结束时间
    时间详细到秒即可。
      

  2.   

    你看看format(photoID,'yyyy-MM-dd')选出来和你的dateTimePicker1.Value.Date.ToString值一样吗
      

  3.   


    我format(photoID,'yyyy-MM-dd')选不出来啊?
      

  4.   

    你说的办法是对的,我改成
    System.Data.DataTable dt1 = helper.Selectinfo("select * from checkingin where photoID>='" + dateTimePicker1.Value.Date.ToString() + "'and photoID<='" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + timet + "'");
    其中string timet = " 23:59:59";就成查对了,难道只是取出日期来查就不行了吗?
      

  5.   

    只要日期的话也可以改成这样试试:
    "select * from checkingin where format(photoID,'yyyy-MM-dd') LIKE '" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + "%'"
      

  6.   

     ("SELECT COUNT(*) FROM XINXI where WANCHRIQI >= #" + RiQi[0] + "#  and WANCHRIQI <= #" + RiQi[1] + "# ");