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

Master/Detail 資料表應用問題

尚未結案
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-17 00:04:33 IP:211.75.xxx.xxx 未訂閱
在下用 Table1 -> DataSource -> Table2 來連系 Master/Detail Nested Table 發現如欲條件選取資料時 , 只能用 locate,filter 方式 , 但大量資料搜尋效率不彰 . 在下改用 SQLQuery(Master) -> DataSoure -> Table(Detail) 方式 ,欲透SQL指令選取資料 , 發現ClientDataSet(Master)有資料 ,ClientDataSet(Detail)無資料 . 這實在很令人沮喪 , 各位大大不知有何辦法幫在下 ? 先謝謝各位喔 . 發表人 - stillalive 於 2004/04/17 00:08:37
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-17 08:40:43 IP:61.164.xxx.xxx 未訂閱
引言: 在下用 Table1 -> DataSource -> Table2 來連系 Master/Detail Nested Table 發現如欲條件選取資料時 , 只能用 locate,filter 方式 , 但大量資料搜尋效率不彰 . 在下改用 SQLQuery(Master) -> DataSoure -> Table(Detail) 方式 ,欲透SQL指令選取資料 , 發現ClientDataSet(Master)有資料 ,ClientDataSet(Detail)無資料 . 這實在很令人沮喪 , 各位大大不知有何辦法幫在下 ? 先謝謝各位喔 . 發表人 - stillalive 於 2004/04/17 00:08:37
你好,master/detail方式只适用于table下,要透过sql实现master/detail,可先关闭table中的master与detail功能,再通过adoquery或query指定detail中的关联栏位,例如可能是类似这样的sql: select * from detailtable where 关联栏位=mastertable中的关联栏位 sql执行完后记得将query的active设为true! ------------希望能抛砖引玉 發表人 - luowy651 於 2004/04/17 08:46:22 發表人 - luowy651 於 2004/04/17 09:05:59
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-17 11:47:13 IP:211.75.xxx.xxx 未訂閱
luowy651 你好 也許Master/Detail功能只能在Talbes元件implement , 在下目前用2組Query,DataProvider,ClientDataSet 來存取 Master/Detail tables .希望能work . PS 站長大大是否能將此留言版加上簡繁互轉功能 , 不然大陸網友留言看起來支離破碎的 .
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-17 12:06:03 IP:61.231.xxx.xxx 未訂閱
引言: luowy651 你好 也許Master/Detail功能只能在Talbes元件implement , 在下目前用2組Query,DataProvider,ClientDataSet 來存取 Master/Detail tables .希望能work . PS 站長大大是否能將此留言版加上簡繁互轉功能 , 不然大陸網友留言看起來支離破碎的
您好,使用 DataProvider,ClientDataSet 可以實作 Master/Detail .. 只要 key 入少量的 code 就可以實現這個功能 ... 如果有需要我再把 pesudo code 貼上來... ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-17 15:50:28 IP:211.75.xxx.xxx 未訂閱
SouthWind 你好 您好,使用 DataProvider,ClientDataSet 可以實作 Master/Detail .. 只要 key 入少量的 code 就可以實現這個功能 ... 如果有需要我再把 pesudo code 貼上來... ==================================================== 謝謝你幫忙但請貼上有條件選取的code .
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-19 10:43:42 IP:203.66.xxx.xxx 未訂閱
引言: SouthWind 你好 您好,使用 DataProvider,ClientDataSet 可以實作 Master/Detail .. 只要 key 入少量的 code 就可以實現這個功能 ... 如果有需要我再把 pesudo code 貼上來... ==================================================== 謝謝你幫忙但請貼上有條件選取的code .
stillalive 您好: 做法一 : 假設拉了兩組 TDataSetProvider/TClientDataSet 假設一個 TClientDataSet 設成 cdsMaster (Master) ,另一個為 cdsDetail (Detail) 在 cdsMaster 的 OnAfterOpen 與 OnAfterScroll Event function 內執行 您要的特定 SQL command .. (假設 cdsDetail ) 執行 SELECT * FROM MyTable WHERE MykeyCol=:MykeyCol Ex: 在 OnAfterOpen 與 OnAfterScroll 寫入 改變控制 :MykeyCol 的 code ,讓它等於 cdsMaster 的 MyKeyCol 做法二 : 直接設定 cdsDetail 內的 MasterSource ,設定好 MasterField 的連結即可.. 跟 Table 設法差不多.. ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-04-20 00:11:11 IP:211.75.xxx.xxx 未訂閱
SouthWind 你好 我目前做法類似你第一種方法 . 至於第二種方式我試不出來 . ANYWAY , 感謝你抽空回答 .
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-04-20 09:18:52 IP:203.66.xxx.xxx 未訂閱
引言: SouthWind 你好 我目前做法類似你第一種方法 . 至於第二種方式我試不出來 . ANYWAY , 感謝你抽空回答 .
stillalive 您好 : 請問您遭遇到什麼困難?? 我有試過沒有問題 ... 不嫌棄的話,討論看看有沒有什麼進展 ... ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----
stillalive
初階會員


發表:7
回覆:148
積分:41
註冊:2004-04-07

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-04-20 22:56:10 IP:211.75.xxx.xxx 未訂閱
SouthWind 你好 再試一次成功了 , 可能是我前面設定沒搞好 . 謝謝你的提醒 , 再次感謝 .
系統時間:2024-07-03 2:53:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!