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