对access97的datetime字段的赋值(50分)

  • 主题发起人 主题发起人 jacaboos
  • 开始时间 开始时间
J

jacaboos

Unregistered / Unconfirmed
GUEST, unregistred user!
设f1为insert语句中datetime字段对应的参数,以下语句可以运行:
parambyname('f1').asDatetime := strtodate('2001-1-1');
但是以下语句将出错:
parambyname('f1').asDatetime := strtodate('');
换一种写法也不行: parambyname('f1').asString := '';

使用table来赋空值没有问题:fieldbyname('field1').asString:='';但是这不是我的选择。
当然,在insert语句中不出现这个datetime也可以实现赋空值的目的,但是这样就得增加
if语句用以根据值是否为空来设置insert语句了。也很麻烦。
我用delphi3来开发的,所以不能使用ADO。
 
parambyname('f1').asDatetime := strtodate('');当然要报错,改成试试NULL吧。
 
同意duckstar的说法,不过应该是[red]nil[/red]而不是NULL
 
nil 肯定不行,null 该怎么用了?
 
你要对时间字段赋空值,最好的办法就是就不要赋值,ACCESS会添入空值或默认值。
否则,就应该添一个默认的,如‘2001-1-1’,时间没有空值这种概念
 
cxx1997说得对
 
接受了 cxx1997 的观点。
 
后退
顶部