第一次提问,先试试,如果各位大虾答案好的话可以以后再给分(>50分)
Access2000数据库中时间的问题。具体情况是,在Access2000中设置字段为日期/时间类型,格式为“hh:nn:ss”,默认值为Time(),然后在Delphi中用ADODataSet和DataSource打开数据库表,在DBGrid中显示此字段为:“1899-12-30 下午 06:05:20”改为其他格式也是如此。
希望显示为“下午 06:05:20”。望各位高人赐教!(最好不要在源代码中进行修改)

解决方案 »

  1.   

    取日期时使用:right(datetimestr,14)
      

  2.   


    设置时间格式为 tt:hh:mm:ss
    上午和下午的符号分别“上午”和下午
      

  3.   

    经过近5个小时的折磨(F u c k M$),终于明白了原因!!!
    因为日期和时间(就是日期/时间数据类型)在ACCESS中是一起存储的,表示为一个浮点小数,小数部分为时间。在M$的ACCESS中,由于其系统的支持可以正常单独地显示日期及时间。在Delphi中会直接全部显示出来。
    具体的解决方法,是没有办法解决数据的原始内容,但是可以解决在Delphi中(DBGrid或其他)的显示内容。在Form的Create事件中的ADODataSet的Open方法后,使用(TDateTimeField(ADODataSetX.FieldByName('FieldName'))).DisplayFormat := 'hh:mm:ss';就可以正常显示为长时间格式,而不带有日期了!最后,真诚的感谢各位,发自肺腑地。
    还有,xxxM$。
    给分。