begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select zcmessage.zcid as 代码,zcmessage.zcname as 姓名,sum(zcmessage.zcmoney) as 支出金额, zcmessage.zcdate as 支出时间 from zcmessage');
ADOQuery1.SQL.Add('where zcname=:uname');
ADOQuery1.Parameters.ParamByName('uname').Value := dblookup1.Text;
ADOQuery1.SQL.Add('group by zcmessage.zcid,zcmessage.zcname,zcmessage.zcmoney,zcmessage.zcdate');
ADOQuery1.SQL.Add('with rollup');
ADOQuery1.Open;
end
上边的这些语句执行的结果总是将相同的记录以几条的方左显示能给我说说错在哪里吗?
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select zcmessage.zcid as 代码,zcmessage.zcname as 姓名,sum(zcmessage.zcmoney) as 支出金额, zcmessage.zcdate as 支出时间 from zcmessage');
ADOQuery1.SQL.Add('where zcname=:uname');
ADOQuery1.Parameters.ParamByName('uname').Value := dblookup1.Text;
ADOQuery1.SQL.Add('group by zcmessage.zcid,zcmessage.zcname,zcmessage.zcmoney,zcmessage.zcdate');
ADOQuery1.SQL.Add('with rollup');
ADOQuery1.Open;
end
上边的这些语句执行的结果总是将相同的记录以几条的方左显示能给我说说错在哪里吗?
ADOQuery1.SQL.Add(' group by zcmessage.zcid,zcmessage.zcname,zcmessage.zcmoney,zcmessage.zcdate'); ADOQuery1.SQL.Add(' with rollup');
放到Open前面一句看看。
用sum()就不要用 'with rollup',或者去掉 sum() ;
ADOQuery1.Parameters.ParamByName('uname').Value := dblookup1.Text;改为VarToStr(dblookup1.KeyValue)试试。