怎么判断adoquery中的字段为空

如何判断adoquery中的字段为空啊
 if not ADOQuery1.fieldbyname('PieceNo').IsNull then showmessage('aaa');这样子不行有提示 could not convert variant of type (NULL) into type (String)

------解决方案--------------------
var v : Variant;
begin
  v:=ADOQuery1.fieldbyname('PieceNo').AsVariant;
  if VarIsNull(v) then showmessage('所得值为NULL')
  else showmessage(string(v));
------解决方案--------------------
或者:
VarToStr(ADOQuery1.fieldbyname('PieceNo').AsVariant) <> ''
------解决方案--------------------
       str1:=FieldByName('PieceNo').AsVariant;
        if str1='' then
          ShowMessage(str1+'空')
        else begin
          ShowMessage(str1);
        end;
------解决方案--------------------
在插入数据的时候给定默认值,而不是用NULL, 那么以后的操作就会简单多了。
------解决方案--------------------
ADOQuery1.fieldbyname('PieceNo').IsNull

这样判断是可以判断字段是否为null的,确定是这句引起这个错误的吗? 

这个错误是类型转换報错,null转换成string不成功

------解决方案--------------------
不能直接给默认指么
------解决方案--------------------
if ADOQuery1.FieldByName('aa').IsNull then
begin
//想的东东
end;