本人在做一个库存出入的程序,在查询时间方面遇到一个很烦恼的问题:
1)数据库为Access,时间写入数据库用datetimepicker组件(其中datetimepicker:=now()),数据库里显示的时间格式为:2002/9/9 下午 03:04:15 
2)我在查询某段日期的出入情况时,用到两个datetimepicker组件(没有赋值,时间不变化)做选择。我用了两种方法:
1)adoquery1.SQL.Add('时间 between #'+DatetimeToStr(datetimepicker1.datetime)+'# and #'+DatetimeToStr(datetimepicker2.datetime)+'#');2)adoquery1.SQL.Add(' 时间>='''+datetimetostr(datetimepicker1.datetime)+'''');
    adoquery1.SQL.Add(' and 时间<='''+datetimetostr(datetimepicker2.datetime)+'''');以上两种方法都不行,请高手指点,有没有好的解决方法。谢谢!

解决方案 »

  1.   

    FormatDateTime('yyyy-mm-dd', datetime);可以将TdateTime型转变为你想要的格式,然后再组装sql语句用于查询,你的两种查询语句应该都可以实现的
      

  2.   

    //假设你的字段'时间'为日期时间型,则:
    adoquery1.SQL.Add('时间>=:TIME1 and 时间<=:TIME2');
    adoquery1.PARAMBYNAME('TIME1').ASDATETIME:=datetimepicker1.datetime;
    adoquery1.PARAMBYNAME('TIME2').ASDATETIME:=datetimepicker2.datetime;
      

  3.   

    FormatDateTime('hh:nn:ss', datetime);用来转化时间,然后拼装字符串你总会了吧
      

  4.   

    不好意思,下午因为有事,所以没结帐,虽然现在俺还未搞定,谢谢两位的答案,money 是不会少给你们的。请接受!