如下面這段代碼
    QueryTmp.Close;
    QueryTmp.SQL.Clear;
    QueryTmp.SQL.Add('select sum(GoodsFee) as TotalFee from tblShipped where OPID=:para1');
    QueryTmp.Parameters.ParamByName('para1').Value:=ADOQuery1OPID.Value;
    QueryTmp.Open;
    if QueryTmp.fieldbyName(TotalFee)  
    這裡怎麼判斷記錄為空時求出的SUN的值,fieldbyName(TotalFee)就報錯,我到底該怎麼判斷?

解决方案 »

  1.   

    我需要把sun求出的值取出來呀,比如我要把sum求出的值存到一個變量中,只能這麼做
       i:=QueryTmp.fieldByName('TotalFee').value;如果這個為空的話,這種賦值就會出錯,所以必須判斷,為空時賦為0
      

  2.   

    i := QueryTmp.FieldByName('TotalFee').AsInteger;行吗?
      

  3.   

    不行,QueryTmp.FieldByName('TotalFee'),只要出現這句就錯,因為它說根本沒有TotalFee字段
      

  4.   

    select isnull(sum(aa),0)…………//值为空的时候结果为0
      

  5.   

    QueryTmp.SQL.Add('select isnull(sum(GoodsFee),0) as TotalFee from tblShipped where OPID=:para1');