Master-Detail當Master為0筆資料時Detail會出錯 |
答題得分者是:herbert2
|
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
這是系統分析與程式寫法不恰當所致!
所謂 Master-Detail 就必須先有 Master 才有 Detail, 要刪除時, 則須先刪光 Detail 才可刪 Master. 若非如此, 則只是 foreign 的 relation 關係, 不是 Master-Detail. 例如: 客戶檔中有郵遞區號欄, 經關聯到郵遞區號檔的郵遞區號欄得到郵遞區縣市鄉鎮名稱, 則若用 Inner join 方式關聯不到, 便看不到該筆客戶資料; 但若用 outer join 方式關聯不到, 便仍能看到該筆客戶資料, 只是郵遞區縣市鄉鎮名稱為 NULL. 應如何處理, 想必您已瞭解. ===================引 用 frappe 文 章=================== 我有2個ClientDataSet用MasterSource的方式串起來成為Master-Detail 但是我的Master時常會因為資料變動,使得Master資料為0筆, 此時Detail因為讀不到參數而錯誤,導致無法Open 請問有辦法解決這個問題嗎? |
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
謝謝大大的回答,我問題解決哩
我是因為FormCreate的時候 ClientDataSet1.Close; ClientDataSet.Filter:='xxxxx'; ClientDataSetFiltered:=True; ClientDataSet1.Open; 篩選不到資料所以出錯,不是真的0筆資料 我改成先Open再Filter就OK哩 ClientDataSet1.Close; ClientDataSet1.Open; ClientDataSet.Filter:='xxxxx'; ClientDataSetFiltered:=True; ===================引 用 herbert2 文 章=================== 這是系統分析與程式寫法不恰當所致! 所謂 Master-Detail 就必須先有 Master 才有 Detail, 要刪除時, 則須先刪光 Detail 才可刪 Master. 若非如此, 則只是 foreign 的 relation 關係, 不是 Master-Detail. 例如: 客戶檔中有郵遞區號欄, 經關聯到郵遞區號檔的郵遞區號欄得到郵遞區縣市鄉鎮名稱, 則若用 Inner join 方式關聯不到, 便看不到該筆客戶資料; 但若用 outer join 方式關聯不到, 便仍能看到該筆客戶資料, 只是郵遞區縣市鄉鎮名稱為 NULL. 應如何處理, 想必您已瞭解. |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |