1:From从句呢?
2:三个字段都是数值型吗?

解决方案 »

  1.   

    这位兄台,sum需要根据一个或多个字段分组,只要分组正确,几个sum都不会出错的,
    如:有下表score
    学号  科目  成绩
    1    语文  90
    1     数学  100
    1     计算机  100
    2   语文  80
    2     数学  70
    2     计算机  90
    TADOQuery.SQL.Add('select sum(语文) as a1,sum(数学) as b1,sum(计算机) as c1  from score group by 科目');
      

  2.   

    必须包含group by 子句才能实现sum的
      

  3.   

    程序还没有执行到  open 执行这个add  就出错啦错误提示如下
    Project xx.exe raiseed exception calss Eaccessviolation with message 'Access Violntion at address' B03F511 in module' msjet40.dll
      

  4.   

    好象是数据库的原因
    你的语句是有错的,SUM 要有GROUP BY 才能执行的
      

  5.   

    nj_draker (draker) I 服了you,你使用类作为变量用嘿嘿嘿!偶是第一次见到高人,静态的可以但你永久不行了!
    TADOQuery 是一个类,你该使用他的实例!
    nj_draker (draker) 
    锈有铁生而伤铁,最能帮助你的人和最能伤害你的人都是你自己  
      从水源逃跑
     皈依耶稣基督中。。
      耶稣基督教导我们说:要有崇高的牺牲精神
                          要有伟大的宽恕精神
                          要有平等的博爱精神
         神爱世人
      

  6.   

    我想你搞错了:
    SUM中的参数是字段名而不是字段值。你的错误应该是字段不存在的错误码。应该这样写:
    TADOQuery.SQL.Add('select sum(成绩) as c1  from score group by 科目');
      

  7.   

    补充:上面的话是给pusy(pusy)的。
      

  8.   

    manboo(横刀) 说的对!我竟然没注意到,真是粗心。
    应该这样写:
    aQuery := TADOQuery.Create(self);
    aQuery.Connection := ADOConnection1;
    aQuery.SQL.Add('select sum(a) as a1,sum(b) as b1,sum(c) as c1 ...');
    aQuery.Open;
    ...//进行处理
    aQuery.Close;
    aQuery.Free;
      

  9.   

    必须包含group by 子句才能实现sum的
      

  10.   

    大家注意啦,你们看清楚,程序还没有执行到open,就是还没有开始进行语法分析!只是SQL.ADD就出错了!程序还没有执行到  open 执行这个add  就出错啦错误提示如下
    Project xx.exe raiseed exception calss Eaccessviolation with message 'Access Violntion at address' B03F511 in module' msjet40.dll
      

  11.   

    阁下有没有看上面的回答呀?你用的是T字头的ADO的一个类呀!!应该用类的实例呀!
      

  12.   

    你可以查一下你的代码其中的SQL语句是不是正确。
      

  13.   

    TADOQuery?为什么加个'T',不会是你的控件名就带'T'吧!去掉吧,试试!很明显,是赋值错误!
      

  14.   

    TADOQuery.Close
    TADOQuery.SQL.Clear;
    TADOQuery.SQL.Add('select sum(a) as a1,sum(b) as b1,sum(c) as c1');
    TADOQuery.SQL.Open;
    //以上代码没有错,关键是你的a,b,c字段是不是都能要和呀,另外在Select 
    //字句中的字段除的计算字段以外,都要加到group by 字句之中。
      

  15.   

    就应该是t的原因了
    你不可能吧adoquery1的名字改称这个吧