COM+ MTS 之 Transation Control |
尚未結案
|
QOO10
初階會員 發表:59 回覆:89 積分:29 註冊:2002-12-25 發送簡訊給我 |
請教各位前輩 : 最近在了解 COM MTS 並實作範例,發現一些不太懂的地方請各位指點? 1.若執行 ClientDataSet 之 ApplyUpdata 時 mts 會自動幫你做 transation 的控制(若我在此 clientDataSet 所聯的 Dataset 之 Post
內做其他 adoQuery.ExecSQL 也會包在 transation 內)但若有 Exception Mts 也會幫你 RollBack Data !! 我的問題是我下
不下 SetComplete 有何差異,如何實作才可看出差異!!
setComplete 是不是下在 AfterPost Events 2.若以 call ap method 方式去執行多個 AdoQuery.ExecSql
此時 mts 不會自動啟動 transation 所以我自己加 adoconnect1.BeginTrans (也就是用 Local transation)
如下程式: try
ADOConnection1.BeginTrans;
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert brand (bra_no) values (' QuotedStr(w2) ')');
ADOQuery1.ExecSQL;
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert brand (bra_no) values (' QuotedStr(w3) ')');
ADOQuery1.ExecSQL;
ADOConnection1.CommitTrans;
SetComplete;
Except
ADOConnection1.RollbackTrans;
SetAbort;
end; 如此做不知對不對??我一定要用 (local transation 嗎)??
|
ycchen71
一般會員 發表:4 回覆:4 積分:1 註冊:2003-04-30 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |