我 现在有多行数据 有数量这个字段,我要将每行的数量减去,比如减去20,怎么同时减去呢 ,谁知道这个sql语句或者设计思想啊 ?帮我下  谢谢还有就是在delphi中我怎么将这些减去数量后的数据显示出来啊 ,再加以黄色进行全部选中,表示这些记录中的数量已经被减去了,谢谢,

解决方案 »

  1.   

    直接用SQL update 表名  set  数量 =  isNull(数量,0.00)-20.00  where  条件。。with adoquery1 do while not eof do begin
      edit; 
      fieldbyname('数量').asfloat := fieldbyname('数量').asfloat  - 20;
      next;
    end;
      

  2.   

    同意楼上,建议直接用SQL写以提高效率,然后刷新数据集,在DBGrid的OnDrawColumnCell中对记录加以黄色标记
      

  3.   

    写在SQL语句中:
    SQL.Clear;
    SQL.Add(' select 数量- ' + StrToInt(edit.text) + ' from 表 ');
    Open;
      

  4.   

    1楼写得很清楚了update 表 set 数量=数量-20 where 条件