master&detail for DbGrid |
|
JalenKu
一般會員 發表:14 回覆:24 積分:7 註冊:2002-06-10 發送簡訊給我 |
請教各位:
一般用delphi寫master/detail程式時...一定時Detail用grid來表現....
有遇過一種情形,
同時新增好幾筆record,可是存入database時
確發現只有幾筆存入....
在grid上每新增一筆那上一次新增的就會消失... 那我公司的解法是在要輸入detail資料時先對master做post的動作... procedure TForm1.DBGridEnter(Sender: TObject)begin master.Post; master.Edit;end; 但我覺得這是不合理的...因為若先對master做post那當我要cancel該筆資料時就必須用delete來做了...再者若在資料庫有對master 做trigger的動作...那master先post,detail還沒,那一定有問題... 所以想參考一下各位做法... if you lose your step,just tango on
------
if you lose your step,just tango on |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 請教各位: 一般用delphi寫master/detail程式時...一定時Detail用grid來表現.... 有遇過一種情形, 同時新增好幾筆record,可是存入database時 確發現只有幾筆存入.... 在grid上每新增一筆那上一次新增的就會消失... 那我公司的解法是在要輸入detail資料時先對master做post的動作... procedure TForm1.DBGridEnter(Sender: TObject)begin master.Post; master.Edit;end; 但我覺得這是不合理的...因為若先對master做post那當我要cancel該筆資料時就必須用delete來做了...再者若在資料庫有對master 做trigger的動作...那master先post,detail還沒,那一定有問題... 所以想參考一下各位做法...您有將CacheUpdate打開嗎? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
1. 用TQuery連DBGrid, 新增多筆資料,存入後可能資料存入正確, 而畫面顯示筆數並無增加, 常須close再open
2. 注意DBGrid中之options--CancelOnExt, 預設為True, 也就是輸入之最後一筆資料,若focus直接移開Grid,並無post.
若在資料庫有對master 做trigger的動作...那master先post,detail還沒,那一定有問題
一般而言Maste-Detail之Trigger應是
Detail Insert Restrict-- 無master不能Insert Detail
Master Delete Restrict--有Detail不能Delete Master
故應該無問題
那我公司的解法是在要輸入detail資料時先對master做post的動作...
也是一種可行的做法, 雖然我們不是如此做
|
JalenKu
一般會員 發表:14 回覆:24 積分:7 註冊:2002-06-10 發送簡訊給我 |
謝謝天使大大,及ccchen大大的熱心指教, 天使大大:
CacheUpdate已打開了.. 我想再重述一下問題,以兩個DBGRID 來表現master/detail的話
往往在輸入表身時,會出現輸入好幾筆的資料在存檔時欲莫名其妙
lose一些資料
因為我公司的解法,是先將表頭post,如此表身的資料就正常了..
可是如果取消訂單的話,還必須要把表頭給delete掉,不符合真正的流程
所以才會很疑惑 ccchen 大大..
請問你是怎麼做的呢?? if you lose your step,just tango on
------
if you lose your step,just tango on |
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
|
JalenKu
一般會員 發表:14 回覆:24 積分:7 註冊:2002-06-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |