我在ADOQuery2中有一个查询。现在我想要一个过滤器:
ADOQuery2.Filter := 'where Fname like ' + QuotedStr(Txt_Search.Text + '*');
ADOQuery2.Filtered := true;
但它抛出了这个异常:(*
在like语句中用于Access而不是%
)
任何想法?
答案 0 :(得分:2)
在Access本身中使用LIKE运算符时,星号*
是正确的通配符,但对于来自其他应用程序(如您的)的ADO连接,您实际应该使用& #34;标准" SQL的百分比%
通配符。
答案 1 :(得分:0)
试试这个,它运作正常
if Txt_Search.Text<> '' then
begin
ADOQuery2.Filter := 'where Fname like '+QuotedStr(Txt_Search.Text+'*');
ADOQuery2.Filtered := true;
end;
或
if Txt_Search.Text<> '' then
begin
ADOQuery2.Filter := 'Fname like '+QuotedStr(Txt_Search.Text+'%');
ADOQuery2.Filtered := true;
end;