代码如下:
procedure TForm7.Edit2Change(Sender: TObject);
begin
  with adoquery3 do
  begin
    close;
    sql.clear;
    sql.add('select 单价 from MerchInfo where 商品编号='''+trim(edit2.text)+'''');
    open;
    if not eof then edit5.text:=fieldbyname('商品编号').AsString;
  end;
end;目的是但我们在edit2输入内容时,查找MerchInfo表(包含字段:商品编号、单价)并在edit5显示商品编号=edit2.text时单价字段的值。
(其中商品编号为VARCHAR类型、单价为MONEY类型)
运行时弹出“adoquery3:field'商品编号'not found”请高手指点!也可自己写实现上述目的,但代码要全!谢谢!

解决方案 »

  1.   

    你只select 单价 怎么可能有商品编号呢
      

  2.   

    sql.add('select 单价,商品编号 from merchinfo where 商品编号='''+trim(edit2.text)+''''); 
      

  3.   


    procedure TForm7.Edit2Change(Sender: TObject); 
    begin 
      with adoquery3 do 
      begin 
        close; 
        sql.clear; 
        sql.add('select [单价] from MerchInfo where [商品编号]='''+trim(edit2.text)+''''); 
        open; 
       
      end; 
    end; 
      

  4.   

    呵呵!之前已经自己搞定了
    如下:
    procedure TForm7.Edit2Change(Sender: TObject);
    begin
      with adoquery3 do
      begin
        close;
        sql.clear;
        sql.add('select 单价,商品编号 from MerchInfo where 商品编号='''+trim(edit2.text)+'''');
        open;
        if not eof then edit5.text:=fieldbyname('单价').AsString;
      end;
    end;
    但是还是会出错
    出现无法将NULL值插入列‘销售价格’,表'suppershop.dbo.Sale',该列不允许空值,insert失败
    错在哪里???