程序中遇到这样问题:数据已经在数据库,但要比较数据是否为0,如果不为零则提示“数据合计不对”,但这些是反映在QuickRep表中,QRdbtext和数据库绑定,我如何写代码?
qu3.Close;
qu3.SQL.Clear;
qu3.sql.Add('selectID,A1,A2,A3,A4,A5 from error1');
Qu3.open;
if qu3.Fieldbyname('A1').AsCurrency<>0 then
showmessage(‘数据合计不对’)
//这句话要反映在QuickRep中,是不是用Qrlabel来显示?
QRsh.Preview;
还有,数据库中的内容多,如何作循环?

解决方案 »

  1.   

    没错就是qrlabel.captionwhile not qu3.eof
    begin
      ...........
      qu3.next;
    end;
      

  2.   

    循环的话:
    First;
    while not Eof do
    begin
      ...;
      ...;
      Next;
    end;至于要在QuickRep中显示的话,没做过,不过你可以将该字段改为varchar类型的
    在将Query付给QuickRep之前循环检查一边,<> ‘0’时,将该值‘改为数据合计不对‘
    然后再付给QuickRep。
    蠢办法
      

  3.   

    TQrLabel有一个事件OnPrint;事件处理过程如下:
    procedure TForm1.QRLabel1Print(sender: TObject; var Value: String);
    begin
        if Value <> '0' then Value := '数据合计不对'
        else Value := '数据合计正确';
    end;