StringGrid 如何带出SQL Groupby后 汇总的值呢?
自己之前么用过Delphi,望各位大侠指点……
用下面的SQL,如果用DBGrid,可以显示汇总后的结果 sum(qty)列,
如果用StringGrid,该怎么带出 sum(qty)的结果呢?
SQL1:='select ordnum,linnum,prod,sum(qty) FROM [dbecdfn].[dbo].[pur550db] where stat=2 ';
sql2:=' and uploaddte>='+trim(formatdatetime('yyyymmdd',datetimepicker1.Date))+' and uploaddte <'+trim(formatdatetime('yyyymmdd',datetimepicker2.Date)) ;
sql3:='group by ordnum,linnum,prod order by ordnum,linnum,prod';
qry1.Active:=False;
qry1.SQL.Add(SQL1);
qry1.SQL.Add(SQL2);
qry1.SQL.Add(sql3);
qry1.Prepared;
qry1.Active:=True;
StringGrid1.RowCount:=2;
while not qry1.Eof do begin
StringGrid1.RowCount:=StringGrid1.RowCount+1;
StringGrid1.Rows[ StringGrid1.RowCount-1].Clear;
StringGrid1.Cells[1,StringGrid1.RowCount-1]:=Trim(qry1.fieldbyname('ordnum').AsString);
StringGrid1.Cells[2,StringGrid1.RowCount-1]:=Trim(qry1.fieldbyname('linnum').AsString);
StringGrid1.Cells[3,StringGrid1.RowCount-1]:=Trim(qry1.fieldbyname('prod').AsString);
qry1.Next;
[解决办法]
... sum(qty) as qty from
StringGrid1.Cells[4,StringGrid1.RowCount-1]:=FloatToStr(qry1.fieldbyname('qty').AsFloat);