小弟初学delphi的数据库,碰到下面的问题:
我用ADOQuery连接了一个表(voltagedata),表中有个字段(voltage),数字类型的,现在要计算这个字段的平均值,然后用edit显示出来。
不知道该怎么做,求大神帮忙。Delphi数据库

解决方案 »

  1.   

    SQL语句:select avg(voltage) as VoltageAvg from voltagedate 将这个SQL语句写到查询中,然后不会有问题了吧。
      

  2.   

    我写的代码,但是报错,提示无法找到另一个字段(time)with ADOQuery1 do
       begin
          ADOQuery1.Close;
          SQL.Text := 'SELECT avg(voltage)AS avgvoltage FROM voltagedata ';
          ADOQuery1.Open;
          edtrl.Text := FieldByName('avgvoltage').AsString  ;
       end;
      

  3.   


    voltagedata 不会是视图吧,单从这几行来看,是没有问题的。
      

  4.   


    voltagedata 不会是视图吧,单从这几行来看,是没有问题的。
    voltagedata是本地的数据表。
      

  5.   

    求大神指导!
    img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]
      

  6.   

    你把SQL单独拿出来放到工具里面执行看下有没有错误提示。如果没有,是不是你有什么数据源控件(如DBEdit等)指向了ADOQuery1,并且这个数据源控件指定了字段为“time”
      

  7.   

    同意这种说法很可能楼主在ADOQuery1里面加了time字段。楼主你双击ADOQuery1,看看里面是不是有time字段如果是这样,你可以另外做一个ADOQuery2,就可以避免这个问题。
      

  8.   

    同意这种说法很可能楼主在ADOQuery1里面加了time字段。楼主你双击ADOQuery1,看看里面是不是有time字段如果是这样,你可以另外做一个ADOQuery2,就可以避免这个问题。把控件对应的事件在检查下,很可能Adoquery1你设置了定时的time,因为默认的值他会引用到
      

  9.   

    你的是什么数据库?不同的数据库,它的sql语句的写法有一定的差异的。SELECT avg(voltage)AS avgvoltage FROM voltagedata
    如果是用oracle,得写成
    SELECT avg(voltage) avgvoltage FROM voltagedata  
    如果是其他的数据库,你看看那数据库对sql语言方面的要求。