ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text :='SELECT COUNT(*) as aa FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#';
ADOQuery1.Open;
int :=ADOQuery1.fieldbyname('aa').AsInteger;
SUM :=0;
SUM1:=0;
SUM2:=0; FOR i:=0 TO int-1 DO
BEGIN
Label8.Caption :=DateToStr(NOW);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:='SELECT PRICE,price_Query FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#';
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
SUM1 :=ADOQuery1.fieldbyname('PRICE').AsInteger;
SUM2 :=ADOQuery1.fieldbyname('price_Query').AsInteger;
ADOQuery1.Active :=True;
SUM :=SUM+(SUM1 * SUM2);
END; Label2.Caption :=inttostr(SUM);帮忙看一下,好像循环没有执行,SUM也无法进行累加,请问需要怎么修改呢?谢谢!
目的:查询出所有符合指定日期的记录,计算出每条记录中PRICE * price_Query的值SUM,然后全部SUM累加起来。
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text :='SELECT COUNT(*) as aa FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#';
ADOQuery1.Open;
int :=ADOQuery1.fieldbyname('aa').AsInteger;
SUM :=0;
SUM1:=0;
SUM2:=0; FOR i:=0 TO int-1 DO
BEGIN
Label8.Caption :=DateToStr(NOW);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:='SELECT PRICE,price_Query FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#';
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
SUM1 :=ADOQuery1.fieldbyname('PRICE').AsInteger;
SUM2 :=ADOQuery1.fieldbyname('price_Query').AsInteger;
ADOQuery1.Active :=True;
SUM :=SUM+(SUM1 * SUM2);
END; Label2.Caption :=inttostr(SUM);帮忙看一下,好像循环没有执行,SUM也无法进行累加,请问需要怎么修改呢?谢谢!
目的:查询出所有符合指定日期的记录,计算出每条记录中PRICE * price_Query的值SUM,然后全部SUM累加起来。
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text :='SELECT (PRICE * price_Query) as cSUM FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#';
ADOQuery1.Open;Label2.Caption :=ADOQuery1.fieldbyname('cSUM).AsInteger;
那就是where条件不成立,查询不到数据给你一个简单的方法:Label8.Caption :=DateToStr(NOW);
{这个结果只有日期,如果要时间,就使用DateTimeToStr(NOW);}
With ADOQuery1 Do
Begin
Close;
SQL.Text:='SELECT Sum(PRICE*price_Query) FROM SELLTB WHERE OUTDATE='+Quotedstr(DateToStr(Date));
Open;
Label2.Caption :=FloatToStr(Fields[0].AsFloat);
Close;
End;
int为0,可能是因为ADOQuery1.SQL.Text :='SELECT COUNT(*) as aa FROM SELLTB WHERE OUTDATE = #'+DateToStr(NOW)+'#' 查询不到东西
int:=0了,设个断点跟下,就知道了。