a表里面有id字段和name字段是对应的
我在edit1填写id
然后怎样提取对应的name并赋值给edit.text
别让我用什么dbedit
我需要使用 sql请提供代码谢谢

解决方案 »

  1.   

    是然后怎样提取对应的name并赋值给edit2.text
    对不起,漏了2字
      

  2.   

    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('select name from a where id='+edit1.text);
      open;
      edit2.text:=fieldbyname('name').asstring;
    end;
      

  3.   

    楼上是对的, 我通常也是这样做的, 一般在edit的onkeypress事件或者OnExit事件里写
      

  4.   

    添加一个空间,如Tquery
    我这里没装delphi,你在edit1的离开大概是exit事件中添加如下代码:procedure TForm1:Edit1Exit(Sender:Tobject);
    begin
      with query1 do begin
        close;
        sql.clear;
        sql.add('select name from a where id=:id');
       parambyname('id').asstring:=trim(edit1.text);
       edit2.text:=fieldbyname('name').asstring;
       end;
    end;
    这其实是很简单的一个SQL的应用,学习数据库编程,基本的SQL语句一定要知道.
      

  5.   

    procedure TForm1:Edit1Exit(Sender:Tobject);
    begin
      with Table1 do begin
       IndexFieldNames:='id';
       if FindKey([Edit1.text]) then
        Edit2.Text:=Table1.FieldByName('name').asString
       else
        Edit2.Text:='找不到记录';
      end; //end of with Table1
    end;
      

  6.   

    谢谢goodhazel(小猪) (
    可以了
      

  7.   

    又是一个不眠夜,CSDN要戒严了。记得葛优(演的一个人物)曾经说过:“……什么人都可以惹,唯独小人不能沾。”初春的一场小雪,纷纷扬扬地下着,掩饰了大地,掩盖了一切人间的罪恶。上帝说:“有阳光就有黑暗,有善举就有罪过。饶恕他吧。”
      

  8.   


    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('select name from a where id='''+edit1.text+'''');多加几个引号
      open;
      edit2.text:=fieldbyname('name').asstring;
    end;
      

  9.   

    procedure TForm1:Edit1Exit(Sender:Tobject);
    begin
      with query1 do begin
        close;
        sql.clear;
        sql.add('select name from a where id=:id');
       parambyname('id').asstring:=trim(edit1.text);
      try
        open;   
        edit2.text:=fieldbyname('name').asstring;
      except
       showmessage('error');
     end;
       end;
    end;
      

  10.   

    edit的onchange事件(在onExit事件中写也可)
    with query1 do begin
        close;
        sql.clear;
        sql.add('select name from a where id='''+Edit1.text+'''');
        open;   
        edit2.text:=fieldbyname('name').asstring;
        end;