procedure TForm2.Edit1Change(Sender: TObject);
var
i:integer;
(*resultstr: integer;
resultstr1: string;*)
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from faoecocrop where NAME like ''%'+AnsiUpperCase(Edit1.Text)+'%''');
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
begin
for i := 0 to ADOQuery1.RecordCount -1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldByName('NAME').AsString );
ListBox1.Items.Add(ADOQuery1.FieldByName('NAME').AsString);
ADOQuery1.Next;
end;
end;
end;
程序如上,在Edit内输入关键字,然后在ComboBox或者ListBox里面显示出数据库内含有关键字的所有选项的名称一列。数据库是Access的。现在的问题是这个程序可以实现模糊查询,不过它把查询结果和本身的数据库名称那项全部显示出来了,我个人觉得是ComboBox1.Items.Add(ADOQuery1.FieldByName('NAME').AsString );这里有问题,但是不知道应该怎么改了。只想要它显示结果集。拜托高手指教!!!!!