if not ADOQuery1.fieldbyname('PieceNo').IsNull then showmessage('aaa');这样子不行有提示 could not convert variant of type (NULL) into type (String)

解决方案 »

  1.   

    var v : Variant;
    begin
      v:=ADOQuery1.fieldbyname('PieceNo').AsVariant;
      if VarIsNull(v) then showmessage('所得值为NULL')
      else showmessage(string(v));
      

  2.   

    或者:
    VarToStr(ADOQuery1.fieldbyname('PieceNo').AsVariant) <> ''
      

  3.   

           str1:=FieldByName('PieceNo').AsVariant;
            if str1='' then
              ShowMessage(str1+'空')
            else begin
              ShowMessage(str1);
            end;
      

  4.   

    在插入数据的时候给定默认值,而不是用NULL, 那么以后的操作就会简单多了。
      

  5.   

    ADOQuery1.fieldbyname('PieceNo').IsNull这样判断是可以判断字段是否为null的,确定是这句引起这个错误的吗? 这个错误是类型转换報错,null转换成string不成功
      

  6.   

    if ADOQuery1.FieldByName('aa').IsNull then
    begin
    //想的东东
    end;