如果是数字串,用strtoint是可以的,如果不是数字串,会引发一个错误。
另外,要注意,如果是一条空记录,也会出错。
你应该在适当的地方设置断点,用Ctrl-F5检查取出的值到底是什么样的。

解决方案 »

  1.   

    try
      n := StrToInt(ADOQuery1.Fields[n].Value);
    except 
      n := 0;
    end;
      

  2.   

    如果不是AsInteger.
    那么就用StrToIntDef(aaaaaaaaaa.Value,0)就可以了!!!
    能给分吗?
      

  3.   

    不能用StrToInt(ADOQuery1.Fields[n].Value),因为参数不能为属性,切记!!!
    可以这样:
      ADOQuery1.FieldByName('').AsString;
    或者:
      vStr := ADOQuery1.Fields[n].Value;
      n := StrToInt(vStr); 
      

  4.   

      I := StrToIntDef(Trim(ADOQuery1.FieldByName('<我不知道你的字段名>').AsString), 0);