DBDateTime1的写入问题,很简单100分啊!

missdelphi 2004-09-22 09:38:42
我用了个DBDateTime1,但它在不点击的情况下,保存时不能把它默认的日期保存进去,而只有点击了DBDateTime1才能接受,是不是有什么属性可以让它保存它的默认日期,
希望能写出具体如何做或赋值
另一帖:
http://community.csdn.net/Expert/topic/3391/3391288.xml?temp=.9069025
...全文
209 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhh_88 2004-09-23
  • 打赏
  • 举报
回复
越来越不明白你的意思了。

你是要每次到打开数据表都要修改那个时间字段吧!

1:楼上的方法可以。
2:还可以在打开之后保存时间的值,等到保存的时候判断是否改动,在采取相应的操作。
lobby 2004-09-23
  • 打赏
  • 举报
回复
用CachedUpdate,比较 Value 和OldValue
missdelphi 2004-09-23
  • 打赏
  • 举报
回复
那如何实现,在保存时判断DBDATETIME1,有无变化?如果没变化就用NOW,有变化,就保存DBDATETIME1.DATETIME 呢?
lobby 2004-09-23
  • 打赏
  • 举报
回复
ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME 这个错了。因为它们本来就是一样的。

DateTimePicker 在做成 DBDateTimePicker 以后,默认值已经没有意义了,或者说默认值就是数据库的原始值。所以只能够这样写:

ADO_QQ.FieldByName('date').AsDateTime := now;
bxh2dai 2004-09-23
  • 打赏
  • 举报
回复
楼住,这个问题不是已经解决了吗?
窗体显示时,判断有没有值,没有只就付NOW给他就可以了
楼上的说得很清楚了
missdelphi 2004-09-23
  • 打赏
  • 举报
回复
可是我不想判断数据库里有没有值,也就是说如果数据库中有值,但在保存时,没有改变DBDATATIM1时,也要把默认值保存进去!大家们能好好看看题吗?
xhh_88 2004-09-23
  • 打赏
  • 举报
回复
回复人: missdelphi(肖雅) ( ) 信誉:98 2004-09-22 17:57:00 得分: 0


但数据库中有数据怎么办?我是说要保存默认值进去

--------------------------
下面再贴出我的语句
IF ADO_QQ.FieldByName('date').Value=NULL //这句就是判断数据库中该字段是否有值阿
THEN ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME; //这句就是保存默认值阿

上面的语句不就是现判断数据库中该字段如果没值,就将时间控件的当前值赋给数据库的时间字段吗?这有什么看不懂阿。
xhh_88 2004-09-22
  • 打赏
  • 举报
回复
或者:
IF ADO_QQ.FieldByName('date').Value=NULL
THEN ADO_QQ.FieldByName('date').AsDateTime := DBDATETIME1.DATETIME;
xhh_88 2004-09-22
  • 打赏
  • 举报
回复
这样判断:
IF ADO_QQ.FieldByName('date').Value=NULL
THEN ADO_QQ.FieldByName('date').AsDateTime := now
missdelphi 2004-09-22
  • 打赏
  • 举报
回复
判断怎么写啊:
IF DBDATETIME1.DATETIME=''
THEN ADO_QQ.FieldByName('date').AsDateTime := now
但不对啊
lzy6204 2004-09-22
  • 打赏
  • 举报
回复
赋值最好这样
DBDateTimeEditEh1.DataSource.DataSet.FieldByName('date').AsDateTime := now
luofuyanglfy 2004-09-22
  • 打赏
  • 举报
回复
建立数据库里默认 Default(GetDate())
软件钢琴师 2004-09-22
  • 打赏
  • 举报
回复
在formcreate 里写
DBDateTime1:=now;
xhh_88 2004-09-22
  • 打赏
  • 举报
回复
你在beforpost事件中判断DBDateTime1是不是默认值,如果是就将它手动赋给DBDateTime1对应的字段.
missdelphi 2004-09-22
  • 打赏
  • 举报
回复
但数据库中有数据怎么办?我是说要保存默认值进去
Tensionli 2004-09-22
  • 打赏
  • 举报
回复
在formshow时,先给dbdatatimer指定一个你需要的值。
xhh_88 2004-09-22
  • 打赏
  • 举报
回复
回复人: 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=''怎么可能对阿,数据类型都不一样阿!
missdelphi 2004-09-22
  • 打赏
  • 举报
回复
我说是在POST之前,怎么保存!
IF DBDATETIME1.DATETIME=''
THEN ADO_QQ.FieldByName('date').AsDateTime := now;
ADO_QQ.POST;
ELSE
ADO_QQ.POST;
houlong 2004-09-22
  • 打赏
  • 举报
回复
IF DBDATETIME1.DATETIME<>now
THEN ADO_QQ.FieldByName('date').AsDateTime := now

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧