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

儲存問題

尚未結案
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-17 17:38:02 IP:203.162.xxx.xxx 未訂閱
請教各位大大: 我的介面如下: InvoiceNo : DBEdit1 To: DBEDit2 Address: DBEDit3 (table1: Quotation, dataSource1) --------------------- Name : Quantity : (table2 : Quotation_Item, DataSource2) --------------------- : : --------------------- DBNavigator1 (DataSource1) table1 : InvoiceNo, Customer, Address table2 : InvoiceNo, Name, Quantity table1-table2 - 1對多 我目前的作法是: procedure TForm1.Query2BeforePost() begin ADOQuery2.FieldByName('InvoiceNo').Asstring := DBEdit1.text; end; procedure TForm1.DBnavigatorBeforeAction() begin if Button = Post then 儲存到table1 end; 目前問題是: 1.如果執行到一半,關閉Form1的話,它只儲存Name, Quantity的資料到table2而不會儲存DBEdit1.text,DBEdit2.text,DBEdit3.text的資料到table1,因為還沒按Post. 2.如果在過程中,我改變InvoiceNo, 那Name, Quantity中的invoiceNo不會改成新的iNoviceNo. 因為想了很久都想不出解決方法,所以想請教各位大大一些意見. 謝謝
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-18 12:21:52 IP:63.84.xxx.xxx 未訂閱
您好﹗    是否有考慮過使用ADOConnection的資料交易方法(BeginTrans, CommitTrans, RollbackTrans)來處理這樣的問題﹖    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-18 14:20:35 IP:203.162.xxx.xxx 未訂閱
可否說清楚一點,謝謝~
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-18 14:54:46 IP:63.84.xxx.xxx 未訂閱
您好﹗    因為您使用ADO存取資料庫﹐ADOConnection元件具有資料交易的方法來掌控資料表異動的正确性﹐兩個資料表的異動全部完成后﹐在沒有CommitTrans之前﹐其變動只是存在于快取區﹐必須等到執行ADOConnection的CommitTrans方法﹐才會將異動存入資料庫中﹐如果任何一方沒有完成﹐并沒有CommitTrans時﹐先前的已變動的資料將恢复到變動前的狀態﹐這樣的話﹐就能保証資料的一致性﹐如您所說﹐如果還沒有完成Post即關機的話﹐即沒有触發CommitTrans﹐那其先存入的資料內容將被取消(RollbackTrans)﹒    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
ko
資深會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-21 14:22:37 IP:61.221.xxx.xxx 未訂閱
selina 你好 再from1關閉之前檢查是否有資料更動若有popup一個視窗 問使用者要不要存..
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2024-04-27 19:59:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!