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

ClientDataSet的搜尋問題

答題得分者是:Jasonwong
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-28 06:24:01 IP:220.132.xxx.xxx 訂閱
各位前輩和版大:
不知道ClientDataSet是否有類似sql語法可以利用like來作搜尋的指令,目前我使用 ClientDataSet.Filter 但是我發現好像若是中文的話,就無法過濾到,可能我中文是在最後一個字吧!因為我是用手動的方式填入資料,想讓使用者可以用輸入條件的方式,找到要找的資料,不知道要如何達成?

ClientDataSet1.Filter := '編號 like ''%' Self.TBX_Query_Input.Text '%'' or [中文] like ''%' Self.TBX_Query_Input.Text '%''';
ClientDataSet1.Filtered := true;
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
dyming
初階會員


發表:0
回覆:11
積分:32
註冊:2003-04-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-28 09:09:16 IP:211.72.xxx.xxx 未訂閱
如果要過濾成想要的資料, 寫在 OnFilterRecord 事件內最理想, 畢竟 Filter 的功能很有限.
如果只想快速找到那筆資料, 其它資料不要隱藏, 用 Locate 就好了 (您應該早知道的).
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-28 21:19:00 IP:219.68.xxx.xxx 未訂閱
1,找找合適的 Filter 程式碼, 改寫 ClientDataSet 的  Filter. 
2.用第三方 Midas.dll, 問題就出在這個 DLL

Q:不知道Union Code 是否可以正常! 還沒空去測,
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-29 12:03:12 IP:61.57.xxx.xxx 未訂閱
ClientDataSet 的 Filter 不支援中文, 要支援中文須使用 DELPHI 2007 才能支援
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-29 14:11:28 IP:220.132.xxx.xxx 訂閱
前輩:
DELPHI 2007確定支援中文搜尋嗎? 不知道跟Fastreport 的相容性如何? 如果可以我想又該來升級了!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
VICSYS
初階會員


發表:21
回覆:64
積分:32
註冊:2002-10-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-29 16:14:45 IP:219.68.xxx.xxx 未訂閱
不過我測試 Delphi 2007 ClinetDataSet 的 Fileter
[SomeField] LIKE '%水%'
有問題哦! 確定不支援 BIG5! 莫非要改為 UNION CODE?
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-30 09:15:59 IP:211.75.xxx.xxx 未訂閱
以 DELPHI 的目前的版本是確定不支援 UNICODE 的

李維的部落格上講 DELPHI 2007 的 ClientDataSet 的 Filter 是支援中文的.......

又被騙了嗎 XD.......................

===================引 用 VICSYS 文 章===================
不過我測試 Delphi 2007 ClinetDataSet 的 Fileter
[SomeField] LIKE '%水%'
有問題哦! 確定不支援 BIG5! 莫非要改為 UNION CODE?
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-08-08 03:24:35 IP:220.132.xxx.xxx 訂閱
不知道是否真的還有問題? 已經更新最後一版的ServicePack了嗎? 真的知道確切的答案?
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-08-08 09:10:50 IP:220.132.xxx.xxx 訂閱
目前我測試Delphi 2007的結果是,ClientDataSet的Filtered指令確實可以支援中文搜尋,但不是Unicode而是BIG5,而且需要在Form的字元集設定
指定成CHINESEBIG5_CHARSET,若沒有去設定使用DEFAULT_CHARSET則,一樣會搜尋不到!

至於Unicode我使用有名的"堃"字去作搜尋,除了顯示會不正常外,搜尋也無法搜尋到,因為DBGRID和TEDIT一樣還是不支援Unicode字元顯示,
不過倒是可以選擇GB2312_CHARSET,作為顯示簡體使用!

但是Delphi 2007,不是號稱全面支援Unicode嗎? 怎麼資料庫的顯示物件沒有一個支援啊? 難道還要繼續使用TNT的解決方案! 感覺是半調子的升級勒!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-08-08 09:42:03 IP:64.62.xxx.xxx 未訂閱
你搞錯了吧, DELPHI 要 2008 版才會全面支援 UNICODE


===================引 用 g9221712 文 章===================
目前我測試Delphi 2007的結果是,ClientDataSet的Filtered指令確實可以支援中文搜尋,但不是Unicode而是BIG5,而且需要在Form的字元集設定
指定成CHINESEBIG5_CHARSET,若沒有去設定使用DEFAULT_CHARSET則,一樣會搜尋不到!

至於Unicode我使用有名的"堃"字去作搜尋,除了顯示會不正常外,搜尋也無法搜尋到,因為DBGRID和TEDIT一樣還是不支援Unicode字元顯示,
不過倒是可以選擇GB2312_CHARSET,作為顯示簡體使用!

但是Delphi 2007,不是號稱全面支援Unicode嗎? 怎麼資料庫的顯示物件沒有一個支援啊? 難道還要繼續使用TNT的解決方案!? 感覺是半調子的升級勒!
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-08-08 13:20:50 IP:220.132.xxx.xxx 訂閱
謝謝版主提醒! 不過這樣Delphi2007好像又變成過度產品,不知道該等待Delphi2008還是就先買Delphi2007真是困擾啊!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
系統時間:2024-05-17 9:50:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!