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

table 之排序無法跟 order by 一致,新手求教

尚未結案
a123473119
一般會員


發表:19
回覆:46
積分:18
註冊:2002-08-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-16 22:11:49 IP:61.56.xxx.xxx 未訂閱
求教各位前輩: 小弟有一個 Mysql 之 人事檔是以 職號 slno 為 PRIMARY , 姓名 slnm 也有設一個 Key, 當我用 TTable 連上此人事檔, 並設其 indexname 為 slnm (或設 indexfieldnams), dbgrid 表現出來的人名順序,皆亂亂的, 無法同姓的皆 排在一起, 中間有時會插入另一個姓. 但小弟用 sql 去查詢( select slnm from 人事檔 order by slnm), 結果很正確,這是 Mysql 之 key 有問題, 還是 bde 有問題, 求教各位前輩, 小弟用ttable 是用於單檔維護用. (還有一個怪現象,就是用slnm當index 時,刪除資料,也無法在dbgrid上馬上 消失,若用PRIMARY當index, 就不會有此現象) 麻煩各位了.
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 22:26:44 IP:218.16.xxx.xxx 未訂閱
你要將 default-character-set 設做 big5 並將中文欄位設做 binary, Index 及 Sorting 會比較正常 可參考這篇 Ethan 兄教甚設的方法。 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30466
a123473119
一般會員


發表:19
回覆:46
積分:18
註冊:2002-08-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-17 11:27:33 IP:61.56.xxx.xxx 未訂閱
感謝Justmade前輩: Mysql,有設 default-character-set = big5 至於欄位設成 binary ,我會去試試. 小弟感覺 table->datasource->dbgrid 這種作法,問題實在 很多, 因有排序要求, 隨便變動其 indexfieldnames , 發現顯示在dbgrid內 之資料,相當不正確,甚至有筆數減少之現象,一定要 table.first,table.last dbgrid之資料才會正常,還是在改變 indexfieldnames 前,先將table close; 改變後,再open,也會正常,但close,open 總是浪費時間. 這一陣子來,真的被dbgrid整的很慘.說也奇怪,好像只有小弟在反應dbgrid 有很多問題,各位前輩用dbgrid皆很順嗎? 皆無怪現象? 還是小弟環境太差, delphi c/s 4.0 ????
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-17 11:37:33 IP:218.16.xxx.xxx 未訂閱
我想很少人使用 MySQL TTable 的...TQuery還會多一點 建議你使用 Zeos Library 5.4.1 / 6.0.X 可參考拙文 Delphi MySQL 的問題探討 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27168 文未有提及。
a123473119
一般會員


發表:19
回覆:46
積分:18
註冊:2002-08-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-17 17:03:05 IP:61.56.xxx.xxx 未訂閱
再謝 justmade 鼎力相助. 中文欄位經改成 binary 後,排序已正常. myodbc Table dbgird 之表現怪異, 經改用 zeos 後,怪現像已解決了. 所以應跟 dbgrid 無關, 或許問題在 bde 或 myodbc. 謝謝.
系統時間:2024-05-15 16:29:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!