用tmpstr:=datetostr(now)把时间记录入ACCESS数据库时。
用showmessage(tmpstr)显示时间是正确的,如2005-10-10
但记录入数据库时,看到字段里的值为1995-6-30!!!
这是怎么回事?
字段属性用的是时间/日期,长日期。

解决方案 »

  1.   

    保存时格式化一下:
    字段.value:=FormatDateTime('yyyy-mm-dd',now);
      

  2.   

    可是,如果值有问题,在showmessage()中为什么又能看到正确的格式呢?
      

  3.   

    应该不是值有问题,而是ACCESS保存转换的问题
      

  4.   

    时间系统好象有1900年为起点和1980年为起点两种,
    我这个问题可能与这有关。
    不知如何让ACCESS知道是以1980年为起点。
      

  5.   


    tmpstr:=FormatDateTime('yyyy/mm/dd',now);可以吧
      

  6.   

    问题已解决,但不是楼上的朋友们的办法!
    问题出在SQL语句上。
    应该是:mytime="'+datetostr(now)+'"',也就是说,把mytime当作字串处理,尽管它是一个时间/日期字段