有一个表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;
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;
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;
sql.add(' from dayrecord where year(rq)=:y and month(rq)=:m and carno=:jcar group by carno');