delphi 根据 一个tedit 输入的信息 在另一个里显示相对应的信息
举例:我输入一个名字,该名字在sql中已存在,则输入名字后下面的Edit框框里面怎么样才能跳出与这个名字相对应的信息,比如该名字的地址,电话等等,请大家帮帮我这个新手把!...
举例:我输入一个名字,该名字在sql中已存在,则输入名字后下面的Edit框框里面怎么样才能跳出与这个名字相对应的信息,比如该名字的地址,电话等等,请大家帮帮我这个新手把!!多谢!
展开
1个回答
展开全部
用adoquery之类的了
如果名字是 edit1 数据库字段是Lname 年龄是edit2 LAge
那么
在edit1的onchange里
procedure TForm1.Edit1Change(Sender: TObject);
var
i:integer;
begin
edit2.Text:='';
adoquery1.Close;
adoquery1.SQL.Text:='select * from 表名 where LName='''+edit1.Text+'''';
adoquery1.Open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldByname('Lage').AsString;
end;
end;
如果名字是 edit1 数据库字段是Lname 年龄是edit2 LAge
那么
在edit1的onchange里
procedure TForm1.Edit1Change(Sender: TObject);
var
i:integer;
begin
edit2.Text:='';
adoquery1.Close;
adoquery1.SQL.Text:='select * from 表名 where LName='''+edit1.Text+'''';
adoquery1.Open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldByname('Lage').AsString;
end;
end;
追问
谢谢您啦
还有个问题 如果要是在输入 Edit 之后 敲回车 然后面的再显示 是放在edit什么里啊
追答
在 OnKeyPress事件里
改为
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
edit2.Text:='';
adoquery1.Close;
adoquery1.SQL.Text:='select * from 表名 where LName='''+edit1.Text+'''';
adoquery1.Open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldByname('Lage').AsString;
end;
end;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询