一个修改界面 我想修改数据库中的数据 在EDIT控件中输入该条信息的关键字,在其他EDIT 控件中就自动显示出来这条信息的其他数据 而不用把所有数据都输入到EDIT控件中的麻烦 请高手帮帮忙啊 急

解决方案 »

  1.   

    请问下 有没有具体点的代码啊 最好是EDIT控件的 DBEDIT控件能解决这个问题的也可以 急用啊 谢谢 可能我问的问题不是很清楚 初学的 急求高手帮忙
      

  2.   

    做个查询,类似这样可以在Edit1的onenter事件中
    with adoquery1 do
    begin  
      close;
      sql.text := ' select * from table1 where keyid=:keyid';
      parameters.parambyname('keyid').value := trim(Edit1.text);
      Open;
      while not eof do
      beign
        edit2.text := fieldByname('').AsString;
        .........
      end;
    end;
      

  3.   

    十分感谢 这个代码虽然我不知道能用不 不过至少我看明白了些 至少这个思想我觉得我可以理解 谢谢了
    不过sql.text:=' select * from table1 where keyid=:keyid';
    这个我还是不太懂 是不是可以用
    sql.clear;
    sql.add(' select * from table1 where keyid=:keyid');
    取代呢
    parameters.parambyname('keyid').value := trim(Edit1.text);
    这个代码是不是设置参数的
    还有就是
    sql.add(' select * from table1 where keyid=:keyid');当中的keyid=:keyid该做如何解释呢
    我知道KEYID是关键字 我想用的就是根据这个关键字的变化 其他EDIT文本框中的数据自动变化
    俺是个新手 自学的DELPHI 可能有些问题问的有些太小白了 不过求知心理还是那么迫切 感谢楼上的大哥 给了我一段代码
    至少给了我解决这个问题的思路 太感谢您了 如果您有空的话再帮我解答下 谢谢你了
      

  4.   

    还有我的代码也写下吧 
    with adoquery1 do 
    begin  
      close;
      sql.clear; 
      sql.add(' select * from table1 where keyid:='''+edit1.text+''''); 
      Open; 
      if recordcount<> then
      beign 
        edit2.text := fieldByname('').AsString; 
        ......... 
      end; 
    end
    基本思路跟给我代码的那个朋友是一样的 不过他的parameters.parambyname('keyid').value := trim(Edit1.text);这段在我那运行不了 总提示所查询的KEYID无效 所以我就给改了下
    还有 就是在edit1的oncreate方法中做这个查询 在onenter方法中没啥效果