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

怪怪的DBGird

答題得分者是:ko
GE
一般會員


發表:4
回覆:16
積分:14
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-23 12:59:53 IP:61.30.xxx.xxx 未訂閱
各位前輩好: 小弟欲做master-detail的練習,使用adotable, locktype是ltBatchOptimistic table1(master) --> customer table2(detail) --> orders --> 使用DBGrid使輸入介想 用CustNo做連結 情況一: 當我在table1中新增打好資料,直接移到DBGrid中繼續輸入Detail的資料, 可是每打完一筆、那一筆就消失了(detail的),但實際是有存進去的 情況二: 如果打完master的資料後,馬上儲存,再到DBGrid中打資料,就不會有情況 一所出現的狀況了 那有沒有辦法可以不要先儲存table1,又DBGrid中的資料又不會消失的方法呢 ?因為我希望master和detail的資料異動能夠在同一個交易下完成,謝謝
Jeffrey
初階會員


發表:10
回覆:58
積分:38
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-23 13:12:19 IP:211.74.xxx.xxx 未訂閱
在Master.BeforePost開始一交易。 AfterPost不要做Commit。 當Master記錄移動時,判斷Detail是否有資料,再決定是否完成交易。
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-23 13:41:06 IP:61.221.xxx.xxx 未訂閱
GE你好: 是低!! CustNo保留一個數字0用來做暫時資料索引 1.在 情況一 把新增detail的CustNo=0 2.當使用者按存檔時把master,detail的CustNo資料update使兩者相同 這樣可以不用先key master也能顯示detail 3.如果使用者沒按存檔,就把master,detail的CustNo=0都殺啦..
------
======================
昏睡~
不昏睡~
不由昏睡~
GE
一般會員


發表:4
回覆:16
積分:14
註冊:2003-01-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-23 15:17:13 IP:61.30.xxx.xxx 未訂閱
ko前輩您好
  我照著您的方式做了,可是還是一樣會不見耶
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-23 15:30:20 IP:61.221.xxx.xxx 未訂閱
GE你好: 那你要看一下table2(detail) --> orders --> 使用DBGrid做連結CustNo 是不是=0
------
======================
昏睡~
不昏睡~
不由昏睡~
shpeng
初階會員


發表:6
回覆:67
積分:49
註冊:2002-12-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-23 16:26:27 IP:61.219.xxx.xxx 未訂閱
procedure ADOTable2BeforeInsert(DataSet: TDataSet);
begin
with AdoTable1 do
         if (State = dsEdit) or (State = dsinsert) then post;
end;
全部完成再 執行 AdoTable1.UpdateBatch AdoTable2.UpdateBatch ==取之於斯,用之於斯==
------
==取之於斯,用之於斯==
GE
一般會員


發表:4
回覆:16
積分:14
註冊:2003-01-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-23 17:06:36 IP:61.30.xxx.xxx 未訂閱
大家好:
  感謝各位前輩的相助,藉由ko前輩的提示,雖然還是沒有用ko前輩的方法
  不過我還是使用了TClientDataSet來做為暫存的Master table,藉由切換
  Detail table的MasterSource達到了想要的結果了,謝謝各位 
系統時間:2024-05-18 21:26:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!