使用通配符无法得到预想数据集 |
尚未結案
|
bloodrose
一般會員 ![]() ![]() 發表:8 回覆:9 積分:3 註冊:2003-10-27 發送簡訊給我 |
有一个表TABLE1中有三条数据,其一字段为METHOD,用以下程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
FilterOptions := [];
filter := 'method=''*''';
filtered := True;
end;
end;
其中ADOQUERY1使用默认设置,连接TABLE1,但运行后,原本是想设置ADOQUERY1的过滤属性FILTEROPTION为允许使用通配符,并设置FILTER为METHOD=‘*’。按道理应该得到TABLE1中的所有数据(因为*为通配符,而所有数据都应该满足METHOD等于任何值)。但运行结果是一条记录都没有得到,为什么呢?是不是还需要设置其他的地方?我把FILTEROPTION:=[]改写为FILTEROPTIONS:=[foNoPartialCompare],运行后却报错:‘FilterOptions are not supported',为什么会这样呢?请各位指点,谢谢~~
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 首先﹐ADO資料集元件不具備FilterOptions屬性﹐故會出現錯誤﹒BDE資料集元件具備FilterOptions屬性﹒
其次﹐在ADO資料集的Filter過濾功能中﹐'*'字符是做為字元使用﹐而非萬用字元﹐您的資料表中某欄位沒有值為'*'的資料錄﹐所以就會出現找不到任何資料的現象﹒
既然是使用ADOQuery元件﹐擷取資料是透過SQL語句﹐在SQL語句中直接指定其擷取的條件會比較有效率一些﹐所以建議您直接在SQL語句中指定﹒ 參考看看﹗ =========================
大病初愈﹐休養調整中...
=========================
發表人 - cashxin2002 於 2004/10/15 18:05:50
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |