有一张StringGrid里面有若干数据
如  no        name     num                
    1         tii       10
    2         uuu       2我现在有这样的数据,用sql写
select  name num .... from aaaa....
我想实现sql里的name和StringGrid的name相同时就减去StringGrid里的num不同时就是sql里的num,把这些结果都显示在DBGridEh中,不知怎样实现?请各位高手帮忙.

解决方案 »

  1.   

    var
    sql:string;
    i:integer;
    begin
      sql:=select  name num .... from aaaa.... 
      close;
      sql(sql);
      open;
     while not sql.eof do
       begin
         for i:=1 to k do//StringGrid的行;
              if StringGrid.cell[2,i]=sql.FieldByName('name').AsString then//比较name
                 begin 
                    FieldByName('num').AsInteger:=FieldByName('num').AsInteger+StringGrid.cell[3,i];
                 end
      next
       end;
    ...
    最后怎么显示在  DBGridEh中 
      

  2.   

    修改后把你的query控件刷新一下,显示在 DBGridEh上不就行了
      

  3.   


     如果不需要保存的可能用 ClientDataSet  寫到一個內存表裏去。再用 DataSource  與 DBGrid  關聯顯示