我用的是ORACLE数据库,如何对日期类型字段赋值为空? ( 积分: 100 )

  • 主题发起人 主题发起人 talasa
  • 开始时间 开始时间
T

talasa

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是ORACLE数据库,三层用ClientDataset赋值,如
ClientDataset.Edit;
ClientDataset.Fieldbyname('日期字段').value:=null;
ClientDataset.post;
ClientDataset.applyupdate(0);
此时日期类型字段更新为 0000-00-00 ,delphi执行报错。
这个问题怎么解决,请指教。
 
我用的是ORACLE数据库,三层用ClientDataset赋值,如
ClientDataset.Edit;
ClientDataset.Fieldbyname('日期字段').value:=null;
ClientDataset.post;
ClientDataset.applyupdate(0);
此时日期类型字段更新为 0000-00-00 ,delphi执行报错。
这个问题怎么解决,请指教。
 
ClientDataset.Edit;
ClientDataset.Fieldbyname('日期字段').Clear;
ClientDataset.post;
ClientDataset.applyupdate(0);
要不就是你中间层作过特殊处理出了问题
 
ClientDataset.Fieldbyname('日期字段').value:='';
看可以不
 
ClientDataset.Fieldbyname('日期字段').Clear;
ClientDataset.Fieldbyname('日期字段').value:='';
这两种方法都不行,不知道是否有人碰到过这种问题?
 
你用了中间层没有?估计是中间层出毛病了,日期为空怎么会是0000-00-00的形式
 
直接赋 '1899-12-30' 试试
 
或者
ClientDataset.Fieldbyname('日期字段').value:= 0;
 
我更新的是两个日期字段
一个赋值为空,另外一个非空,然后更新就出错了。。
 
建议使用:
ClientDataset.Fieldbyname('日期字段').value:='';
Oracle会根据数据类型把值转化为日期类型。有个前提是,该日期必须允许为空。
 
后退
顶部