在sql语句中有计算总和,例:select @in=sum(jij) from CW where km=101
那怎么在delphi里运行这条sql语句时,运行完把求出的总和数提取出来,复制给delphi中的一个变量!各位帮帮忙!谢谢了!

解决方案 »

  1.   

    var
      i:Extended;
    begin
    i:=0;
    with adoquery1 do
      begin
        close;
        sql.clear;
        sql.add('select @in=sum(jij) from CW where km=101');
        open;
        if not eof then
          i:=fields[0].asfloat;
      end;
      

  2.   

    我是用三层结构,所以这样写:
    dm.CDS_CW_01.CommandText:='select sum(jij) as ff from CW where km=101'
    dm.CDS_CW_01.Execute();
    if not dm.CDS_CW_01.Eof then
      sum1:=dm.CDS_CW_01.Fields[0].asfloat;
    可运行完,sum1还是为零呀?
    这是怎么回事呀?
      

  3.   

    通过你的代码中:
    dm.CDS_CW_01.Execute();可以看出,你用的是ClientDataSet,而它的execute是不返回结果的,改用OPEN吧,就这么简单;
      

  4.   

    var
     mn:real;
    with adoquery1 do
      begin
        close;
        sql.clear;
        sql.add('select sum(jij) as km from CW where km=101');
        open;
        if not eof then
          mn:=adoquery1.fieldbyname('km').asfloat;
        end;
      end;