ADO_tmpsel.Open;
    ADO_tmpsel.First;
    while not ADO_tmpsel.Eof do
     begin
     form6.ADOTable1.Open;
     form6.ADOTable1.Locate('prod_id',ADO_tmpsel.fieldbyname('sell_prod_id').AsString,[]);
      form6.ADOTable1.Edit;
      if form6.ADOTable1.FieldByName('stock').AsInteger <> '0' then
     begin
     form6.ADOTable1.FieldByName('sale').AsInteger:=form6.ADOTable1.FieldByName('sale').AsInteger+ADO_tmpsel.fieldbyname('sell_number').AsInteger;
     form6.ADOTable1.FieldByName('stock').asinteger:=form6.ADOTable1.FieldByName('stock').AsInteger-ADO_tmpsel.fieldbyname('sell_number').AsInteger;
end;
     form6.ADOTable1.Post;
     form6.ADOTable1.Next;
      ADO_tmpsel.next;
     end;
  到红笔那会出现错误提示 incompatible  types应该如何解决

解决方案 »

  1.   

    ADO_tmpsel.Open; 
        ADO_tmpsel.First; 
        while not ADO_tmpsel.Eof do 
        begin 
        form6.ADOTable1.Open; 
        form6.ADOTable1.Locate('prod_id',ADO_tmpsel.fieldbyname('sell_prod_id').AsString,[]); 
          form6.ADOTable1.Edit; 
          if form6.ADOTable1.FieldByName('stock').AsInteger <> 0 then 
        begin 
        form6.ADOTable1.FieldByName('sale').AsInteger:=form6.ADOTable1.FieldByName('sale').AsInteger+ADO_tmpsel.fieldbyname('sell_number').AsInteger; 
        form6.ADOTable1.FieldByName('stock').asinteger:=form6.ADOTable1.FieldByName('stock').AsInteger-ADO_tmpsel.fieldbyname('sell_number').AsInteger; 
    end;    form6.ADOTable1.Post; 
        form6.ADOTable1.Next; 
          ADO_tmpsel.next; 
        end;