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

主/從表問題(MasterQuery/DetailQuery)

尚未結案
linken
一般會員


發表:23
回覆:37
積分:22
註冊:2004-11-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-31 17:32:05 IP:61.146.xxx.xxx 未訂閱
小弟請教各位太太有關數據庫問題: 我有二個連結數據庫名為:MasterQuery/DetailQuery 前者是主表,後者為明細表.倆者關聯字段為:pono,當我主表 輸完資料後接著輸入從表資料,當確定的時候才給它賦一個 值('如:PO-1009-04'),但當我確定後從表中的數據不見了. 做POST工作也不能為DetailQuery添加DBGrid1中的數據到數 據庫中,不知哪位高手幫幫小弟解決這個問題呢!謝過!!! ken
------
ken
jbinfo
一般會員


發表:9
回覆:25
積分:16
註冊:2004-05-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-02 16:07:18 IP:61.60.xxx.xxx 未訂閱
hi,linken兄,不知道你的MasterQuery是否有使用CachedUpdate,如果有的話,以下你可以參考一下
    procedure TForm1.MasterQueryBeforePost(DataSet: TDataSet);
begin
     DetailQuery.ApplyUpdates ;
     DetailQuery.CommitUpdates;
end;    
祝你好運
linken
一般會員


發表:23
回覆:37
積分:22
註冊:2004-11-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-03 08:28:28 IP:61.146.xxx.xxx 未訂閱
hello!jbinfo 我用的是Query控件.有你所說的TForm1.MasterQueryBeforePost 我也試過了,但會出錯,出錯的意思是DetailQuery這個數據庫的"pono" 賦值不到. 不知你所說的CachedUpdate怎麼個用法.請教教小弟!謝過!! ken
------
ken
jbinfo
一般會員


發表:9
回覆:25
積分:16
註冊:2004-05-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-03 10:37:18 IP:220.130.xxx.xxx 未訂閱
hi linken兄你好: 你可以將DetailQuery裡的CachedUpdate改成True,在將DetailQuery裡的DataSource連到MasterQuery的DataSource,在DetailQuery要Post之前將MasterQuery裡的pono寫到DetailQuery裡的pono,以下你可以參考一下,如有誤請多多包含
//-->這裡是Detail的寫pono對應的MasterQuery的pono值的部份
procedure TForm1.DetailQueryBeforePost(DataSet: TDataSet);
begin
     DetailQuery.FieldByName('pono').AsString:= MasterQuery.FieldByName('pono').AsString;
end;
//-->因為使用了CachedUpdate的方式,所以你DBGrid所寫的資料都只是在Local端,並不會寫入Server端的資料庫裡
//-->所以要將放在Cach裡的DetailQuery資料一次寫回資料庫
procedure TForm1.MasterQueryBeforePost(DataSet: TDataSet);
begin
     DetailQuery.ApplyUpdates ;
     DetailQuery.CommitUpdates;
end;    
祝你好運
linken
一般會員


發表:23
回覆:37
積分:22
註冊:2004-11-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-03 10:46:49 IP:61.146.xxx.xxx 未訂閱
hello jbinfo 非常感謝你的幫助,其實你上次回答我的時候 已經解決我的問題了,只是小弟笨,今早上班 我重復試了很多次,現在解決了,在此謝過!!! 但願以後多多指教小弟!!! ken
------
ken
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-03 17:42:40 IP:210.64.xxx.xxx 未訂閱
另外有一點要提醒喔,不知道你在主檔新增的時候,主鍵值打完之後可不可以修改,如果可以,最好是在主檔存檔之前,再重新跑一次明細給主檔鍵值的動作,否則,如果你主檔打完之後打明細,後來又再重新改過主檔的鍵值的話,就會造成有檔身沒檔頭的資料出現喔!! Pillar Wang
------
Pillar Wang
linken
一般會員


發表:23
回覆:37
積分:22
註冊:2004-11-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-03 17:47:47 IP:61.146.xxx.xxx 未訂閱
多謝pillar62指點. 其實我的主鍵值是不可改的!! 它是自動生成編號的. ken
------
ken
系統時間:2024-06-26 9:01:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!