線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1311
推到 Plurk!
推到 Facebook!

請問TClientDataSet的中文問題

尚未結案
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-04 20:34:59 IP:203.204.xxx.xxx 未訂閱
請問各位前輩: 我在win2000, Delphi6, Access2002環境下使用TClientDataSet的Locate時,發現只要是有中文的欄位就沒辦法尋找,請問有什麼辦法解決嗎? 謝謝!
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-06 08:53:28 IP:218.163.xxx.xxx 未訂閱
試不出來 可否將 "沒辦法尋找" 再描述清楚些, 有 >
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-06 17:26:30 IP:203.204.xxx.xxx 未訂閱
Mickey您好: 謝謝您的回應,我使用locate去尋找有中文字的欄位值時結果都是找不到,但沒有錯誤訊息,我的程式大概如下: if ClientDataSet1.Locate('PartID',sPartID,[]) then ShowMessage('找到了!') else ShowMessage('找不到'); 當我搜尋的欄位是沒有中文字的值時就可以搜尋到,若是有中文字的就是顯示“找不到”,不知道前輩有遇過這種情形嗎?要怎麼解決呢? 另外我是使用TADOQuery TDataSetProvider TClientDataSet來作的。
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-06 17:59:29 IP:147.8.xxx.xxx 未訂閱
Could it be a unicode problem? Try using a WideString instead of the stirng constant. BTW, I remember Delphi 6 has bug in ADO when dealing with Chinese characters.
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-06 21:39:43 IP:218.32.xxx.xxx 未訂閱
1. 任何的 sPartID 都 locate 不到嗎 ? 2. Locate Option -> [] , 需要資料全部相同才算喔, 多或少一個空白也不行. 如果只要找"部分"相同即可, 可用 [loPartialKey]. 3. 中文"空白"不是兩個chr(32),會不會讓你誤判 ? 發表人 - Mickey 於 2003/05/06 21:40:55 發表人 - Mickey 於 2003/05/06 21:43:28
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-06 22:04:50 IP:203.204.xxx.xxx 未訂閱
william您好: 我使用access建立文字型態的欄位已經有把unicode編碼選項設為否,這樣是不是就不會有unicode的問題,另外請問要如何才能把變數宣告為WideString 呢?,我查了書,但找不到,謝謝您的幫忙。 Mickey您好: 我用sPartID 變數,是用來記錄計錄在刪除前的值,然後在刪除後尋找ClientDataSet中是否有相同的值,並亦刪除之,我用另一個DBGrid看ClientDataSet確實有這一筆資料,但是用Locate確一直是找不到,不知道是什麼原因。 感謝兩位前輩的幫忙與指導。
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-10 18:48:09 IP:218.32.xxx.xxx 未訂閱
抱歉 ! 許久未回應...    測試結果 :    D6 若將 DataSetProvider.DataSet 接用 BDEDataSet (Query/Table...), 就可正確 Locate 中文.    D7 不論用 ADO 或 BDE 均無問題.    大概是 D6 ADODataSet 的問題吧. 發表人 -
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-10 23:32:23 IP:203.204.xxx.xxx 未訂閱
Mickey前輩謝謝您的指導,我是使用ado的,so我想只能想別的方法了,不過有你的幫忙能讓我搞清楚是怎麼一回事,真是多謝了。
系統時間:2024-05-20 12:38:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!