try this:
i:=adoquery1.FieldByName('i').AsInteger /30;

解决方案 »

  1.   

    你的i:integer是一个变量,而Adoquery返回的是一个记录集,需要象楼上的一样先把值取出来。
      

  2.   

    i:=adoquery1.FieldbyName('I').ASinteger;
    i:=adoquery1.FieldbyName('I').AsFloat;
      

  3.   

    请务必弄清楚
    var
      i: Integer

    ADOQuery1.sql.add('select sum(age) as i from rsb');
    两个i是不一样的,i: Integer是个变量,而ADOQuery1.sql.add('select sum(age) as i from rsb')里的i只是个标记,可以随意改变,比如改为k, ADOQuery1.sql.add('select sum(age) as k from rsb'), 这里的标记只是用于取值的方便 adoquery1.FieldbyName('i').Value;
    正象楼上说的,要把值取出,然后再赋给i
    i:=adoquery1.FieldByName('i').AsInteger;
    i:=i/30;