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

Master-Detail速度很慢

缺席
cubi
初階會員


發表:56
回覆:94
積分:35
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-11 09:21:41 IP:61.58.xxx.xxx 未訂閱
請教前輩 小弟將全省的縣市,鄉鎮,街道轉入資料庫(Sql2000), 共分為三個Table,分別為City,Town,Rd 在Client小弟是以設定MasterFields方式去關聯Master-Detail, 而非用下Sql方式去讀取Master-Detail,而下弟是在FormShow將 City的Table打開,但這樣在ShowForm時要等好久,而小弟也試過將 Rd或Town的PacketRecords設為10,而一樣還是把全部的資料一次全 抓下來,為什麼會這樣呢~_~ 若用下SQL方式去讀取Master-Detail,若User在修改Detail資料時, 尚未存檔,而不小心離開那筆Record,也就是往上移或往下移後,再回 到來編輯的那一筆,剛剛編輯的資料都會變成原來的資料,不知是否 有解方式,感激不盡
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-11 16:20:56 IP:203.204.xxx.xxx 未訂閱
引言: 請教前輩 小弟將全省的縣市,鄉鎮,街道轉入資料庫(Sql2000), 共分為三個Table,分別為City,Town,Rd 在Client小弟是以設定MasterFields方式去關聯Master-Detail, 而非用下Sql方式去讀取Master-Detail,而下弟是在FormShow將 City的Table打開,但這樣在ShowForm時要等好久,而小弟也試過將 Rd或Town的PacketRecords設為10,而一樣還是把全部的資料一次全 抓下來,為什麼會這樣呢~_~ 若用下SQL方式去讀取Master-Detail,若User在修改Detail資料時, 尚未存檔,而不小心離開那筆Record,也就是往上移或往下移後,再回 到來編輯的那一筆,剛剛編輯的資料都會變成原來的資料,不知是否 有解方式,感激不盡
可能是Detail設PacketRecords無效吧,我也不是很確定,我只知道如果用Delphi的方式設Master/Detail他就會把所有Master的Detail叫出來,然後用類似filter的方式只顯示Master的資料,所以慢是正常的。 一般用SQL自己控制的Master/Detail是一次只能增刪修一筆Master,要移到另一筆就必須詢問是否存檔,這樣就能避免你說的問題,這樣的運作方式User大都能接受。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
yfwai
一般會員


發表:5
回覆:2
積分:1
註冊:2002-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-11 22:25:02 IP:219.93.xxx.xxx 未訂閱
引言: 請教前輩 小弟將全省的縣市,鄉鎮,街道轉入資料庫(Sql2000), 共分為三個Table,分別為City,Town,Rd 在Client小弟是以設定MasterFields方式去關聯Master-Detail, 而非用下Sql方式去讀取Master-Detail,而下弟是在FormShow將 City的Table打開,但這樣在ShowForm時要等好久,而小弟也試過將 Rd或Town的PacketRecords設為10,而一樣還是把全部的資料一次全 抓下來,為什麼會這樣呢~_~ 若用下SQL方式去讀取Master-Detail,若User在修改Detail資料時, 尚未存檔,而不小心離開那筆Record,也就是往上移或往下移後,再回 到來編輯的那一筆,剛剛編輯的資料都會變成原來的資料,不知是否 有解方式,感激不盡
yfwai
一般會員


發表:5
回覆:2
積分:1
註冊:2002-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-11 22:52:32 IP:219.93.xxx.xxx 未訂閱
你可以試下,如不行。請 send email give me. address:yfsh2933@yahoo.com 因為不清楚,你的狀況。 use Query done like Master-Detail.Can do like this: Master:Query1 Source:Datasource1 Detail:Query2 Source:Datasource2 Query2.Datasource:=Datasource1 Two Query LiveRequest set true. exp: Query1.Sql.Add('Select Code from table1') Query2.Sql.Add('Select * from table2 where Code=:Code'); Remember:Perpared and undirectional set true.can increase speed. Like this function like Table:Master-Detail If More two table in one Query.Please use tupdateSql Can't Please Mail to me.i will try help u solve the problems.
cubi
初階會員


發表:56
回覆:94
積分:35
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-13 09:25:06 IP:61.58.xxx.xxx 未訂閱
謝謝各位前輩指教 小弟現在是用下Sql去讀取Master-Detail, 但小弟用一個變數去控制,就是當DataSet 在Edit或Insert狀態時就不到資料庫去抓 Detail的資料,這樣就不會有小弟說的問題 存在了,供大家參考
系統時間:2024-04-20 4:48:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!