多層架構如何進行事務處理,如commit,rollback等 |
答題得分者是:jieshu
|
richcomp
中階會員 發表:18 回覆:66 積分:51 註冊:2002-10-18 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我正作一個三層架構,要將現有數據集過賬,去更新其它數據,請教各位: 1、如何將前端數據集資料傳到中間層處理? 2、錯誤信息如何返回? 3、如何進行事務處理?如commit,rollback等。 可否提供一些MIDAS範例?多謝!1.將ClientDataSet1.Data傳到後端,到後端再用一個ClientDataSet接起來即可。 2.用ClientDataSet事件(如DataRequest)呼叫的,出現錯誤訊息,會傳到ClientDataSet的ReconcileError事件(Delphi5)。 3.將異動資料.Delta傳到後端,用DataSetProvider.ApplyUpdates即可,要啟動交易,把前段包在裡面即可。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
richcomp
中階會員 發表:18 回覆:66 積分:51 註冊:2002-10-18 發送簡訊給我 |
引言: 1.將ClientDataSet1.Data傳到後端,到後端再用一個ClientDataSet接起來即可。 2.用ClientDataSet事件(如DataRequest)呼叫的,出現錯誤訊息,會傳到ClientDataSet的ReconcileError事件(Delphi5)。 3.將異動資料.Delta傳到後端,用DataSetProvider.ApplyUpdates即可,要啟動交易,把前段包在裡面即可。多謝! 我沒表達清楚,現有數據集已經保存並審核,現在要過賬,用它其中的資料去更新其它多個數據表,全部成功則COMMIT,否則ROLLBACK,還有些不明白: 1、如何將將ClientDataSet1.Data傳到後端處理?用APPLYUPDATE嗎?我保存時又不能觸發 2、自定義錯誤信息(如庫存更新失敗、採購單更新失敗)如何返回? 3、要執行很多SQL語句(UPDATE 1.2.3...),如何進行事務處理?如commit,rollback等。 |
||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 多謝! 我沒表達清楚,現有數據集已經保存並審核,現在要過賬,用它其中的資料去更新其它多個數據表,全部成功則COMMIT,否則ROLLBACK,還有些不明白: 1、如何將ClientDataSet1.Data傳到後端處理?用APPLYUPDATE嗎?我保存時又不能觸發 2、自定義錯誤信息(如庫存更新失敗、採購單更新失敗)如何返回? 3、要執行很多SQL語句(UPDATE 1.2.3...),如何進行事務處理?如commit,rollback等。在Server寫一個Function給Client呼叫,或用ClientDataSet的OnDataRequest事件,然後在Server此Function或事件做,其餘和Client/Server程式沒兩樣,應該會做吧!錯誤傳回訊息,正確傳回空字串!
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
richcomp
中階會員 發表:18 回覆:66 積分:51 註冊:2002-10-18 發送簡訊給我 |
引言: 在Server寫一個Function給Client呼叫,或用ClientDataSet的OnDataRequest事件,然後在Server此Function或事件做,其餘和Client/Server程式沒兩樣,應該會做吧!錯誤傳回訊息,正確傳回空字串!請教一下,我用單頭單身數據集,在中間層連接,要怎樣設置SERVER端的參數及其類型才可以呢?要將數據集中的字段逐一以STR/Float傳入嗎?這樣太麻煩了,也不利於多筆處理,SERVER端可否設定一或兩個數據集傳入呢? 多謝版主悉心指導! |
||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 請教一下,我用單頭單身數據集,在中間層連接,要怎樣設置SERVER端的參數及其類型才可以呢?要將數據集中的字段逐一以STR/Float傳入嗎?這樣太麻煩了,也不利於多筆處理,SERVER端可否設定一或兩個數據集傳入呢? 多謝版主悉心指導!1.在Server用TQuery重新查出資料,跑過帳。 2.將Client的單頭單身的ClientDataSet.Data做參數傳到Server的Function,在Server的Function再用ClientDataSet.Data := 參數,即可。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
richcomp
中階會員 發表:18 回覆:66 積分:51 註冊:2002-10-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |