怎样在录入一个空的DateTime类型的数据? 我做了一个数据录入窗口,有一个数据是DateTime类型,当我在DBEdit中录入空的数据数据时,程序就报错,请问这是怎么回事?我的代码如下: FieldByName('BirthDate').AsDateTime:= StrToDate(DBEdit4.Text); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不需要指定该字段的值啊。不要用数据感应控件DBEdit,用Edit。if Edit4.Text<>'' then FieldByName('BirthDate').AsDateTime:= StrToDate(Edit4.Text); //空的当然报错了,不要用DBEdit用一般的Edit,或者用DateTimePickertry FieldByName('BirthDate').AsDateTime:= StrToDate(DBEdit4.Text);except end; 1.用dbedit 还要自己赋值语句干嘛?在里面填好时间然后一个post不就结了么?2.用edit就不同了: adoquery['BirthDate']:=StrToDate(Edit1.text); adoquery.post;这样就可以了. 为空当然会报错了在post前先验证一下用户的输入是否合法! 改成这样试试看if dbedit4.text<>'' thenFieldByName('BirthDate').AsDateTime:= StrToDate(DBEdit4.Text)elseFieldByName('BirthDate').value:= nil; DBEdit在ONEXIT时会自动验证数据格式,如果此时DBEdit.text与数据表中的数据格式不一致,就会报错。在针对Datetime类型数据时最好不用DBEdit,而用EDIT或DateTimePicker。 append增加时能不能增加在第一行 delphi与汽车计量衡通信读取重量数据的问题,急,100分! 马上给分:请教各位大侠我想请教发邮件的程序,并使它能达到我的要求!!! 如何在NT和95下面把长文件名转换为短文件名?? SQL问题 Delphi 中如何调用别的应用程序? ORACLE SQLPLUS导出的文本文件如何再用导回DELPHI数据库中。 共享串口? 急求助~~关于抽样率!!! 属性编辑器 快到了和男友第一次见面三周年纪念日,勾起很多的回忆。。。 DLL(4),不好意思 分不多了。
不要用数据感应控件DBEdit,用Edit。
if Edit4.Text<>'' then FieldByName('BirthDate').AsDateTime:= StrToDate(Edit4.Text);
try
FieldByName('BirthDate').AsDateTime:= StrToDate(DBEdit4.Text);
except
end;
2.用edit就不同了:
adoquery['BirthDate']:=StrToDate(Edit1.text);
adoquery.post;
这样就可以了.
if dbedit4.text<>'' then
FieldByName('BirthDate').AsDateTime:= StrToDate(DBEdit4.Text)
else
FieldByName('BirthDate').value:= nil;