全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1939
推到 Plurk!
推到 Facebook!

adodataset之onfilterrecord可過濾符合條件之記錄但recordcount錯誤

答題得分者是:T.J.B
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-19 20:29:32 IP:211.74.xxx.xxx 未訂閱
各位仁兄: adodataset(連接access之.mdb之資料表)過濾符合條件之記錄之方式有二 1.設定adodataset之filter特性,接著設定filtered=true,可過濾符合條件之記錄且adodataset.recordcount正確 2.在adodataset.onfilterrecord寫過濾符合條件程式碼,接著設定filtered=true,可過濾符合條件之記錄,但adodataset.recordcount不正確,其 adodataset.recordcount=全部記錄,不管將adodataset.recordcount之查詢寫在 adodataset之任何事件,結果都一樣就是全部記錄數. 我想問各位有無遇到這情況,上述情況為何會這樣,有無其他解決方法?
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-20 09:49:43 IP:61.220.xxx.xxx 未訂閱
會有這種情況是因為 filter特性只是把用sql撈出來存在buffer裡頭的資料 再過濾一遍 但實際上只是不秀出那些資料罷了 所以recordcount還是最初 用sql撈出來存在buffer裡頭的資料的recordcount 所以要解決這個問題 我的做法都是直接在sql下子查詢 給你參考一下 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-20 13:12:09 IP:61.59.xxx.xxx 未訂閱
引言: 會有這種情況是因為 filter特性只是把用sql撈出來存在buffer裡頭的資料 再過濾一遍 但實際上只是不秀出那些資料罷了 所以recordcount還是最初 用sql撈出來存在buffer裡頭的資料的recordcount 所以要解決這個問題 我的做法都是直接在sql下子查詢 給你參考一下 天行健 君子當自強不息~~@.@
1.我疑問的是為何設定filter特性(無onfilterrecord事件程式碼)再設filtered=true得到之recordcount是正確, 但若經由onfilterrecord事件程式碼得到之recordcount是全部記錄數? 2.你說在sql下子查詢,我想問這該如何下? 比如我要找生日是4月12日之所有人,我的onfilterrecord事件程式碼是如下: procedure TDataMod.FilterRoutine(DataSet: TDataSet; var Accept: Boolean); var temp : String; begin temp := DataSet.FieldByName('生日').AsString; delete(temp,1,5); if Pos('4/12', temp) <> 0 then Accept := True else Accept := False; end;
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-20 20:33:34 IP:211.74.xxx.xxx 未訂閱
引言: 會有這種情況是因為 filter特性只是把用sql撈出來存在buffer裡頭的資料 再過濾一遍 但實際上只是不秀出那些資料罷了 所以recordcount還是最初 用sql撈出來存在buffer裡頭的資料的recordcount 所以要解決這個問題 我的做法都是直接在sql下子查詢 給你參考一下 天行健 君子當自強不息~~@.@
我在sql下子查詢已做出來,謝謝你.
系統時間:2024-11-23 3:18:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!