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累加起来。
解决方案 »
- delphi 提示错误 missing operator or semicolon
- 刚学Delphi碰到问题
- 各位,帮帮我吧,非常有难度的问题啊!!!!!!!
- 获取 网络连接速度
- 谁能告诉我,DELPHI编写的程序(含数据库)怎么打包??
- 高手救命,请问如何在cxGrid中表的某个字段的记录显示图标?~分不够再加~
- same question ?
- 在word当中修改了保存在数据库中的word文件之后,怎样再把它保存回数据库?Twordapplication的用法?
- linux_chen到这里来拿分!!谢谢了,我还要麻烦你哟!呵呵
- 三层结构,中间层query,dataprovider客户端用clientdataset,datasource,在客户端用dbgrideh显示数据,怎样添加数据!
- 下面的代码哪里错了
- 一轮捧出分秋色,万户团圆共桂香
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了,设个断点跟下,就知道了。