我用了个DBDateTime1,但它在不点击的情况下,保存时不能把它默认的日期保存进去,而只有点击了DBDateTime1才能接受,是不是有什么属性可以让它保存它的默认日期,
希望能写出具体如何做或赋值
另一帖:
http://community.csdn.net/Expert/topic/3391/3391288.xml?temp=.9069025

解决方案 »

  1.   

    你在beforpost事件中判断DBDateTime1是不是默认值,如果是就将它手动赋给DBDateTime1对应的字段.
      

  2.   

    在formcreate 里写
    DBDateTime1:=now;
      

  3.   

    建立数据库里默认 Default(GetDate())
      

  4.   

    赋值最好这样
      DBDateTimeEditEh1.DataSource.DataSet.FieldByName('date').AsDateTime := now
      

  5.   

    判断怎么写啊:
    IF DBDATETIME1.DATETIME=''
    THEN ADO_QQ.FieldByName('date').AsDateTime := now
    但不对啊
      

  6.   

    这样判断:
    IF ADO_QQ.FieldByName('date').Value=NULL
    THEN ADO_QQ.FieldByName('date').AsDateTime := now
      

  7.   

    或者:
    IF ADO_QQ.FieldByName('date').Value=NULL
    THEN ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME;
      

  8.   

    IF DBDATETIME1.DATETIME<>now
    THEN ADO_QQ.FieldByName('date').AsDateTime := now
      

  9.   

    我说是在POST之前,怎么保存!
    IF DBDATETIME1.DATETIME=''
    THEN ADO_QQ.FieldByName('date').AsDateTime := now;
    ADO_QQ.POST;
    ELSE 
    ADO_QQ.POST;
      

  10.   

    回复人: missdelphi(肖雅) ( ) 信誉:98  2004-09-22 17:11:00  得分: 0  
     
     
       我说是在POST之前,怎么保存!
    IF DBDATETIME1.DATETIME=''
    THEN ADO_QQ.FieldByName('date').AsDateTime := now;
    ADO_QQ.POST;
    ELSE 
    ADO_QQ.POST;
    ___________________这句话有问题。我上面说的你都没看。
    你应该在ADO_QQ控件的BeforePost事件中用我的代码就可以了。另:DBDATETIME1.DATETIME=''怎么可能对阿,数据类型都不一样阿!
      

  11.   

    在formshow时,先给dbdatatimer指定一个你需要的值。
      

  12.   

    回复人: missdelphi(肖雅) ( ) 信誉:98  2004-09-22 17:57:00  得分: 0  
     
     
       但数据库中有数据怎么办?我是说要保存默认值进去
     
    --------------------------
    下面再贴出我的语句
    IF ADO_QQ.FieldByName('date').Value=NULL  //这句就是判断数据库中该字段是否有值阿
    THEN ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME; //这句就是保存默认值阿上面的语句不就是现判断数据库中该字段如果没值,就将时间控件的当前值赋给数据库的时间字段吗?这有什么看不懂阿。
      

  13.   

    可是我不想判断数据库里有没有值,也就是说如果数据库中有值,但在保存时,没有改变DBDATATIM1时,也要把默认值保存进去!大家们能好好看看题吗?
      

  14.   

    楼住,这个问题不是已经解决了吗?
    窗体显示时,判断有没有值,没有只就付NOW给他就可以了
    楼上的说得很清楚了
      

  15.   

    ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME 这个错了。因为它们本来就是一样的。DateTimePicker 在做成 DBDateTimePicker 以后,默认值已经没有意义了,或者说默认值就是数据库的原始值。所以只能够这样写:ADO_QQ.FieldByName('date').AsDateTime := now;
      

  16.   

    那如何实现,在保存时判断DBDATETIME1,有无变化?如果没变化就用NOW,有变化,就保存DBDATETIME1.DATETIME 呢?
      

  17.   

    用CachedUpdate,比较 Value 和OldValue