2013-05-02 136 views
2

我在ADOQuery2中有一個查詢。現在,我想有一個過濾器,如此:ADOQuery.Filter不能與LIKE一起工作

ADOQuery2.Filter := 'where Fname like ' + QuotedStr(Txt_Search.Text + '*'); 
    ADOQuery2.Filtered := true; 

但引發此異常:(*像語句是訪問,而不是%

enter image description here

什麼想法?

回答

2

當使用LIKE操作從Access本身內的星號*是正確的通配符,但對於從其他應用程序ADO連接(像你這樣),你實際上應使用「標準」百分比爲SQL %通配符。

+0

AAAAH感謝。像往常一樣,我應該早點問谷歌/堆棧溢出方式,但是不,至少需要一個小時「承認我需要幫助」...... – Zalumon 2013-07-15 14:52:13

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;