读书人

请问查询日期为null时赋值给smallda

发布时间: 2012-03-07 09:13:51 作者: rapoo

请教查询日期为null时,赋值给smalldatetime变量出错问题
with frmDM.ADOslt do
begin
close;
sql.Clear;
sql.Add('select max(OutDate)as OutDate from t_OutDetail');
open;
end;
if frmDM.ADOslt.RecordCount>0 then
parameters.ParamByName('@EndDate').Value :=frmDM.ADOslt.fieldbyname('OutDate').AsDateTime//出错的代码行
else
parameters.ParamByName('@EndDate').Value :=trunc(now)+1;

上面的代码当t_OutDetail表中没有数据,查询出来的是Null,这时执行parameters.ParamByName('@EndDate').Value :=frmDM.ADOslt.fieldbyname('OutDate').AsDateTime会出错,显示'将数据类型转换为samlldatetime时出错'
判断条件得怎么写呢?

[解决办法]
怎么打开了记录集还要进行参数赋值??

Select max(OutDate)...怎么会返回Null的呀??
除非你OutDate这一列内容全都是空的...

不过要判断,这样就行了:
if frmDM.ADOslt.FieldByName('OutDate').isNull then
showmessage('空资料')

读书人网 >.NET

热点推荐