Winform开发。
数据库表中的Weight_DateTime字段为DateTime型的,其内数据可能为:2010-4-21 15:49:24 类似这样的数据,在筛选数据时若是范围为数日内的我可以用两个MonthCalendar控件让用户来选择,然后用sql语句: where Weight_DateTime between (MonthCalendar1.选择的日期), (MonthCalendar2.选择的日期) 来处理(当然我这里用了简写方式)。可是对于某日指定某时某分 - 某时某分或者比如4月5日10时15分 - 4月6日12时30分这样的时间段如何来写sql语句我就不知所措了。vs 2005好像没有类似MonthCalendar这样的选择时分的控件,请问各位该如何解决?谢谢!

解决方案 »

  1.   

    用正则验证用户  让他们输入正确的时间  给出用户友好提示
    然后 在数据库中  
    where convert(varchar,eight_DateTime,112) between convert(varchar,@beginDate,112) and convert(varchar,@enddate,112)
      

  2.   

    DateTime.Now包含所有时间信息。取分钟用DateTime.Now.Minute。在sql中可以直接用大于“>”和小于“<”对日期进行对比
      

  3.   

    select * from tb where cast(convert(varchar(10),Weight_DateTime,120) as datetime) betweem MonthCalendar1.选择的日期 and MonthCalendar2.选择的日期
      

  4.   

    没有分秒控制,你可以自己写,比如用dropdownlist,把时间都填充上去让用户自己选,数据库时间类型是有分秒的,你可以判断时间段
      

  5.   

    "select * from 表 where convert(varchar(7),计划年月(字段),120)=" + "'" + dateTimePicker1.Value.ToString("yyyy-MM") + "' order by 字段1,字段2 desc";