1、在一个form上。左边为一个输入框。右边为dbgrid控件
要求输入框在输一个控制为8好字符的时候,从数据库中的表a中读取数据(效果就像我们写代码的时候
form.方法 它会自动选择)
2、在输入框输完第8个字符的时候。右边的dbgrid里自动显示出表b中以输入的字符串搜索出来的数据
select from b where name=''输入字符串'';最主要的是自动搜索刷新的这个效果。谢谢大家!~
要求输入框在输一个控制为8好字符的时候,从数据库中的表a中读取数据(效果就像我们写代码的时候
form.方法 它会自动选择)
2、在输入框输完第8个字符的时候。右边的dbgrid里自动显示出表b中以输入的字符串搜索出来的数据
select from b where name=''输入字符串'';最主要的是自动搜索刷新的这个效果。谢谢大家!~
begin
if length(edit1.Text) = 8 then
begin
Key := #0;
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from b where name =' + edit1.Text;
open;
end;
end;
end;
你在KEYPRESS里写上,
if length(Trim(Edit.text))=8 then
begin
ado.……
sql.clear;
sql.add('Select * from b where name ='''Trim(Edit.text)'''');
open;
end;
类似吧
第一个问题的:像DELPHI系统一样的输入一个字符以这个字符为开头的所有的记录都显示然后一部部接近你输入的字符这个字符串。
效果就比如。你在GOOGLE中输入你曾经搜索过的关键字段的时候它会显示一系列记录的
我这里要显示的不是已经输过的而是表格里的备选的记录
比如表格里有
abcad
abca2
abcd3
abdd3
addd3
这五条记录
在你输入a的时候,下面显示五条记录为备选。
等你输到ab的时候,下面显示四条记录为备选。
等你输入abc的时候,下面显示三条记录为备选。
最终等你输入abcad的时候确定为你这条记录
然后右边的DBGRID 控件显示这个个name =abcad的员工的所有操作过的记录(这条上面已经有人写了~)
我要前面那个效果再^_^
begin
if length(edit1.Text) < 8 then
begin
with adoquery1 do
begin
close;
sql.clear;
showmessage('12');
sql.text := 'select * from b where name='+'%'+trim(edit1.Text)+'%';
// open;
end;
end
else
key := #0;
end;
// 这样不停执行查询,我汗.....
begin
if length(edit1.Text) = 8 then
begin
Key := #0;
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from b where name like ' + edit1.Text;
open;
end;
end;
end;這樣才正確嗎。要把“=”號換成 “like ”
begin
if length(edit1.Text) < 8 then
begin
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from b where name like '+'%'+trim(edit1.Text) //这里改一下去掉一个%号;
open;
end;
end
else
key := #0;
end;
借宝地一用,没钱了,没办法 :)
还有就是我想问的是下面显示的是edit的哪个属性?