2
我在ADOQuery2中有一个查询。现在,我想有一个过滤器,如此:ADOQuery.Filter不能与LIKE一起工作
ADOQuery2.Filter := 'where Fname like ' + QuotedStr(Txt_Search.Text + '*');
ADOQuery2.Filtered := true;
但引发此异常:(*
像语句是访问,而不是%
)
什么想法?
我在ADOQuery2中有一个查询。现在,我想有一个过滤器,如此:ADOQuery.Filter不能与LIKE一起工作
ADOQuery2.Filter := 'where Fname like ' + QuotedStr(Txt_Search.Text + '*');
ADOQuery2.Filtered := true;
但引发此异常:(*
像语句是访问,而不是%
)
什么想法?
当使用LIKE操作从Access本身内的星号*
是正确的通配符,但对于从其他应用程序ADO连接(像你这样),你实际上应使用“标准”百分比为SQL %
通配符。
试试这个,它工作正常
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;
AAAAH感谢。像往常一样,我应该早点问谷歌/堆栈溢出方式,但是不,至少需要一个小时“承认我需要帮助”...... – Zalumon 2013-07-15 14:52:13