有一个表dayrecord ,现在我想按给定的值(车号,年,月)查出这部车在本年这个月中的运载重量、运费、燃料、路桥费等之和。请部下面的句子对吗?with datamodule22.ADOQuery3 do
       begin
          close;
          sql.clear;
          sql.add('select carno,sum(zcgls) as zcgls1,sum(rkgls) as rkgls1,sum(lqh) as lqh1,sum(oil) as oil1,sum(sl) as sl1,sum(zcgls*sl) as dgl,sum(sl*yj) as ysfy ');
          sql.add(' from dayrecord where year(rq)=:y and month(rq)=:m group by carno group by carno');
          Parameters.ParamByName('jcar').Value:=g_carno;      // 车号
          Parameters.ParamByName('y').Value:=yyear;      //年
          Parameters.ParamByName('m').Value:=mmonth;      //月
          open;
       end;

解决方案 »

  1.   

    Parameters.ParamByName('jcar').Value:=g_carno;参数好像没有
    with datamodule22.ADOQuery3 do
           begin
              close;
              sql.clear;
              sql.add('select carno,sum(zcgls) as zcgls1,sum(rkgls) as rkgls1,sum(lqh) as lqh1,sum(oil) as oil1,sum(sl) as sl1,sum(zcgls*sl) as dgl,sum(sl*yj) as ysfy ');
              sql.add(' from dayrecord where carno=:jcar and year(rq)=:y and month(rq)=:m group by carno group by carno');
              parameters.refresh;//应该刷新以下
              Parameters.ParamByName('jcar').Value:=g_carno;      // 车号
              Parameters.ParamByName('y').Value:=yyear;      //年
              Parameters.ParamByName('m').Value:=mmonth;      //月
              open;
           end;
    或者直接
    with datamodule22.ADOQuery3 do
           begin
              close;
              sql.clear;
              sql.add('select carno,sum(zcgls) as zcgls1,sum(rkgls) as rkgls1,sum(lqh) as lqh1,sum(oil) as oil1,sum(sl) as sl1,sum(zcgls*sl) as dgl,sum(sl*yj) as ysfy ');
              sql.add(' from dayrecord where carno='+IntTostr(g_carno)+' and year(rq)='+IntTostr(yyear)+' and month(rq)='+IntTostr(mmonth)+' group by carno group by carno');
              open;
           end;
      

  2.   

    sql.add(' from dayrecord where year(rq)=:y and month(rq)=:m group by carno group by carno');改為﹕
    sql.add(' from dayrecord where year(rq)=:y and month(rq)=:m and carno=:jcar group by carno');