procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a,b,c,d like'+''''+'%'+Trim(edit1.Text)+'%'+'''');
open;
end;
end;注:我用的是ADO连接的access数据库。
access 模糊查询like 为何查询不出来,请问错在哪里?请高手解答!
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a,b,c,d like'+''''+'%'+Trim(edit1.Text)+'%'+'''');
open;
end;
end;注:我用的是ADO连接的access数据库。
access 模糊查询like 为何查询不出来,请问错在哪里?请高手解答!
哪来的a,b,c,d like你太搞了
在ACCESS中模拟查询没有问题。但放到delphi就有问题了:delphi显示下面红色显示4个错误。
procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like '%学习%');
Prepared;
open;
end;
end;
SQL.Add('Select * from insp where a like ''*学习*''');ACCESS的文档中有这么一句话:
请注意,ANSI SQL 通配符 (%) 和 (_) 仅在 Microsoft® Jet 4.X 版本和 Microsoft OLE DB Provider for Jet 中才是有效的。如果用在 Microsoft Access 或 DAO 中,那么它们被视为文本。
procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like ''%学习%''');
Prepared;
open;
end;
end;procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like ''*学习*''');
Prepared;
open;
end;
end;
另外,记录在那里显示,DBGrid? 和ADOQuery2关联了吗?LZ在考我们智商呢,鉴定完毕...
双击adquery2,字段全部选了
parameters的Tparameters我没有动
Select * from insp where a like '%学习%'
这个在access里是可以查询的。
a1:='%'+edit1.text+'%';
a:='select * from 数据表 where 查询字段 like '''+a1+'''';
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add(a);
adoquery2.open;