我现在有3个edit控件,分别为edit1,edit2,edit3。1输入姓名,2输入总价。我的adorquery1连接的职员信息表,里面有他的帐户资金。现在等我输入姓名时自动判断职员信息表中的姓名,如果姓名相同则调用他的帐户资金与总价进行计算,将帐户资金减去总价,然后再显示到edit3中去。请大家帮忙,最好有代码。

解决方案 »

  1.   

    在edit的onexit或onchange事件中判断
    select name from 表 where name='''+edit1.text+'''';
    if 有记录 then
      edit3.text:=帐户资金减去总价
      

  2.   

    在edit2的changed事件中if trim(edit1.text) <> '' then
    begin
      adoquery1.sql.text:= 'select 总价 from 表1 where 姓名 = '''+trim(edit1.text)+'''';
      adoquery1.active:= true;
      if not adoquery1.eof then
        edit3.text:= floattostr(adoquery1.fields[0].asfloat - strtofloat(edit2.text))
      else showmessage('error! no record found!');
    end;
      

  3.   

    如果想要即时的,就在onchanged事件中处理
    其他的也可以回车后处理
      

  4.   


    兄弟。提示这个错误信息:incompatible types:'integer' and 'string'
      

  5.   


    很明显的错误提示,数值类型转换错误,edit3.text是字符型的,看看哪里被转成integer了
      

  6.   

    兄弟,你应该先多看看书,至少应该对delphi有基本的了解
    别什么事情都来提问,这样效率更低