如何用Insert语句保存时间型和空值?(50分)

  • 主题发起人 主题发起人 lyplay2
  • 开始时间 开始时间
L

lyplay2

Unregistered / Unconfirmed
GUEST, unregistred user!
ADO+ACCESS2000
时间的值为DateTimePicker
还有当EDIT1。TEXT值为空时(充许为空)会报错
请问如何做


 
insert table (datetimefield)values(null)//支持null的数据库,或者用
insert table (datetimefield)values(0)试试
 
Access接受字符串,因此要先用DateTimeToStr把DateTimePicker的值转换为String。
 
null报错用isnull();
时间的值用动态传参好了
 
那对于接收字符串的只要 '' 不就可以了吗
 
null报错用isnull();
判断是否是空值,如果字段很多,判断不是很麻烦吗
时间的值用动态传参好了
给个例子好吗 谢谢
ADOQUERY





 
adoquery.sql.add('insert table datetimefield values(:date)');
adoquery.parambyname('date').asdate:=datetimepicker.date;
 
adoquery.sql.add('insert table datetimefield values(:date)');
adoquery.parambyname('date').asdate:=datetimepicker.date;

ADOQUERY没有PARAMBYNAME属性。
 
ADOQuery1.Parameters.ParamByName ()
 
保存时间值:
SQLString:='insert into Table values(#'+formateDateTime('yyyy-mm-dd hh::nn::ss',DateTimePicker.DateTime)+'#)';
或SqlString:='Update Table Set Field=#'+formateDateTime('yyyy-mm-dd hh::nn::ss',DateTimePicker.DateTime)+'#';
保存空值用null:
SqlString:='insert into Table values(null,null,...);
或SqlString:='Update Table Set Field=null';
 
ADOQuery1.Parameters.ParamByName ('XXX').asdate错,无asdate
 
问题解决了
1’空值最简单的就是在ACCESS表设计时将它设置为充许空值
2`ADOQuery1.Parameters.ParamByName ('XXX').value:=datetimepicker1.date;
发分了,谢谢大家
 
多人接受答案了。
 
后退
顶部