数据库中该时间字段的值是:2009-6-9 08:00:00
但是显示到这个DBGRIDEH控件上就变成了 2009-6-9 07:59:59
如果设定好显示格式为 HH:MM
显示的结果就是 07:59  
我想要的是与数据库中一致 即 08:00
请教是什么原因导致这个数据控件显示时间差了一秒?如何解决?

解决方案 »

  1.   

    不知道是什么原因导致的情况下,如果硬加上一秒可不是最好的解决办法,那是在实在没办法时的办法。
    按理说时间型字段是一个浮点数,小数点后第五位是秒位,但是第六位也对第五位有影响,会不会是在使用INSERT INTO插入记录时,使用FORMAT格式化SQL语句时,VALUES值我使用%.5f导致了第五位以后的丢弃,导致的这个结果呢?我现在马上去试验一下,一会将结果告诉大家。
      

  2.   

    还是不行,显示一样,如果将数据库里面的数值加上一秒,如2009-6-15 08:00:01  这样,在DBGRIDEH控件里显示的就是 2009-6-15 8:00:00 
    格式化hh:mm后显示就是 08:00
    这是什么原因,为什么会自动减掉一秒呢
      

  3.   

    把操作结果放到dbgrid中试一下~~如果情况相同,就是你的语句问题了~~
      

  4.   

    没遇到过,等结果中
    顺便问问DBGRIDEH这种控件,能弄那种多行固定头,有概括和细分项的列头显示的那种吗?
      

  5.   

    FormatDateTime('yyyy''-''mm''-''dd',now)取的是服务器的时间,还是本机时间?
      

  6.   

    TDateTime=type Double;
    是因为DBGrid显示DateTime转换的问题!
    Delphi有很多遐思的.使用String类型存储就没有问题了!