问题出在“卖出”按钮中 卖出按钮代码如下
jiage3:=ADOquery2.Fieldbyname('商品').asstring;
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 价格 as wan1 from sp where 商品='+jiage3+'');
adoquery3.Open;
a:=adoquery3.Fieldbyname('wan1').AsInteger;
label6.Caption:=inttostr(a);
//label6.Caption:=inttostr(lab6+adoquery3.Fields('wan1').asinteger);
adoquery2.Delete;
运行后 点击按钮 系统提示 “参数 衣服(当前商品)没有定义”
卖出按钮实现功能就是  
现有表1 表2 将表2中的商品删除 把表2中商品的价格赋值给a ;
搞半天搞不好!!!

解决方案 »

  1.   

    adoquery3.SQL.Add('select 价格 as wan1 from sp where 商品='''+jiage3+'''');
      

  2.   

    和你的对比下 这是个减库存的卖出方式Adoquery1的查询是在 LEdtBHChange事件中进行的
    procedure TFrmDMGL.BitBtn1Click(Sender: TObject);
    begin
    if (trim(LEDtBH.Text)<>'')and(trim(DBEDTbj.Text)<>'') then
    begin
      adoquery1.Edit;//读取表的条件中   库存>=1 
      adoquery1.FieldByName('库存').AsInteger:=strtoint(dbedtBJ.Text)-1;
      adoquery1.Post;
      with adoquery2 do
        begin
          close;
          sql.Clear;
          sql.Add('select * from 销售记录表 ');
          open;
          insert;
          FieldByName('编号').AsString:=LEdtBH.Text;
          FieldByName('名称').AsString:=adoquery1.FieldByName('名称').AsString;
          FieldByName('型号').AsString:=DBEdtXH.Text;
          FieldByName('进货价').AsString:=adoquery1.FieldByName('进货价').AsString;
          FieldByName('卖出日期').AsString:=datetimetostr(now);
          FieldByName('操作人').AsString:=u;
          if (strtoint(labelededit1.Text)/10<1)and(strtoint(labelededit1.Text)/10>0) then
            begin
            FieldByName('卖出价').Asinteger:=trunc(strtoint(DBEdtBJ.Text)*strtoint(labelededit1.Text)/10);
            end else
              begin
                FieldByName('卖出价').Asinteger:=Trunc(strtoint(DBEdtBJ.Text)*1);
              end;
          post;
          showmessage('谢谢惠顾');
          form1.memo2.Lines.Add('以'+inttostr(FieldByName('卖出价').Asinteger)+'元'+labelededit1.Text+'折卖出'+LEdtBH.Text);
        end;
    end else
      begin
        showmessage('请输入服装编号,再选择型号!');
      end;
    end;