从数据库(SQL SERVER 2K)中读取一日期时间字段到DateTimePicker控件中然后将其转换为字符串来显示。结果出人意料竟是:1899.12.30 
另外如果将控件的类型设为time,当点击一下控件上的向上按钮再点击向下按钮竟然出错
exception class EDateTimeError with message
'You must be in ShowCheckbox mode to set to this date'
(DateTimePicker的值是从数据库中读出来的且读出来的与表中的时间不符00:00:00)请问各位大虾有什么办法可解决?
谢谢先!分不够再加!!

解决方案 »

  1.   

    1 日期时间字段你应该用两个DateTimePicker,一个显示时间,一个显示日期
    2 SQL SERVER 2K中的日期时间字段是实数,整数部分表示离1899.12.30 的天数,小数表示时间,如果整数为0,当然就代表1899.12.30
      

  2.   

    Showmessage(FormatDateTime('hh:nn:ss',DateTimePicker1.Time));
      

  3.   

    'You must be in ShowCheckbox mode to set to this date'
    你没看到提示吗?你用了CHeckBox框,你要选中才会写入时间的
      

  4.   

    delphi中可以输入的最早日期是1899-12-30,如果你没有输入值就会被默认系统日期,想显示之前日期系统当然会保错了。
      

  5.   

    谢谢各啦!
    原来是小弟大意,那条SQL语句读回来的数据集是空的,难怪它显示1899-12-30,
    那也就是它没有值时的缺省值吧?但是奇怪就算日期时间为最开始的值,怎么会出
    出那样的错误呢。多多指教!!