我用的是sqlserver数据库,用odbc链接,tdataset组件是Table,我查看了数据库,保存的是8:00:00,怎么在table上显示的是1899-12-30 8:00:00呢?我的数据类型是 datetime,我先在界面上的一个datetimepick控件中设置8:00:00,然后保存到数据库中,这个时候,我查看数据库,保存的是8:00:00,怎么在table上显示的是1899-12-30 8:00:00呢?

解决方案 »

  1.   

    它是一个默认的时间!!你以设计时把DATATIMEPIC的属性DATE去掉,你就会看到它
    改为1899-12-30
      

  2.   

    楼上的,我去掉了哦,保存进数据库的是8:00:00,但是table从数据库中取出的却是1899-12-30 8:00:00了???我觉得应该和DATATIMEPIC的属性没有关系,是不是和sqlserver的datetime类型有关呢?它是不是会自己设置一个默认的日期呢?
      

  3.   

    控制面板——〉区域语言选择——〉自定义——〉把日期格式改为yyyy-M-d试试
      

  4.   

    因为日期是以浮点型数据保存!
    Delphi的时间从12/30/1899 12:00 am开始,数字为0,时间是小数点后的数据
    例如8:00:00在Delphi中保存为0.333333333等
    所以取出来的数据就是这样了,只要你从SQLSERVER中取数据时转换一下即可,甚至可以用字符型保存时间,例如用varchar(8)保存