線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1172
推到 Plurk!
推到 Facebook!

dbExpress的Transactions問題...麻煩大家看一下....謝謝

答題得分者是:Mickey
ralff
一般會員


發表:1
回覆:4
積分:1
註冊:2003-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-11 15:51:35 IP:210.243.xxx.xxx 未訂閱
有個問題想問各位高手,我是用dbExpress元件連oracle資料庫,我用的元件有SQLConnection,SQLDataSet,DataSetProvider,ClientDataSet,DataSource....我的程式碼如下: procedure TForm3.Button3Click(Sender: TObject); var aa: TTransactionDesc; begin if (not SQLConnection1.InTransaction) then begin aa.GlobalID:=1; aa.IsolationLevel:=xilREADCOMMITTED; SQLConnection1.StartTransaction(aa); try if (ClientDataSet1.ChangeCount>0) then ClientDataSet1.ApplyUpdates(-1);//ClientDataSet1訂單主檔 if (ClientDataSet2.ChangeCount>0) then ClientDataSet2.ApplyUpdates(-1);//ClientDataSet2訂單明細 SQLConnection1.Commit(aa); ShowMessage('資料已儲存'); except on Exception do begin ShowMessage('無資料可儲存'); SQLConnection1.Rollback(aa); end; end; end; end; end. 但我編譯可以過,但點Button執行後卻出現錯誤"dbExpress Error:Multiple Transactions not Enabled"這個訊息,我已經想了好多天了,可否請各位高手指教一下...萬分感激
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-11 16:27:18 IP:218.163.xxx.xxx 未訂閱
我用 D6 (dbexpora.dll;165376 bytes;2002/2/15 pm 02:02) Oracle 9.0.1.1.1    試了一下, 都沒問題耶(aa.GlobalID:=1; 或 aa.TransactionID := 1;).    aa.GlobalID:=1; 改成  aa.TransactionID := 1;    試試看.
ralff
一般會員


發表:1
回覆:4
積分:1
註冊:2003-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-11 16:34:16 IP:210.243.xxx.xxx 未訂閱
我已經試過了,但是我還是不行耶...錯誤訊息還是一樣,停在try那一行 謝謝各位大大的回覆
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-11 16:40:55 IP:218.163.xxx.xxx 未訂閱
SQLConnection.Params 加 : Multiple Transaction=True 試試.
ralff
一般會員


發表:1
回覆:4
積分:1
註冊:2003-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-11 20:37:35 IP:211.76.xxx.xxx 未訂閱
謝謝你的回覆,可否請你說清楚一點,是不是在SQLConnection屬性欄中的Params做設定,但是裡面的KEY與Value欄位怎麼做設定Multiple Transaction=True,剛學Delphi比較不懂,謝謝...
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-11 22:03:24 IP:218.32.xxx.xxx 未訂閱
引言: 謝謝你的回覆,可否請你說清楚一點,是不是在SQLConnection屬性欄中的Params做設定,但是裡面的KEY與Value欄位怎麼做設定Multiple Transaction=True,剛學Delphi比較不懂,謝謝...
對不起, 急著下班, 沒說清楚 可以在 class="code"> 1. 於最後一筆按向下鍵直接打入"Multiple Transaction" / "True" 2. 或按 "Code Editor"在 Delphi Code Editor 最後加入一行 "Multiple Transaction=True", 後按滑鼠右鍵, Close Page and Save.
ralff
一般會員


發表:1
回覆:4
積分:1
註冊:2003-07-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-12 09:41:38 IP:210.243.xxx.xxx 未訂閱
謝謝你....我的問題解決了.超感謝,但有出現了pk,fk的問題,這個問題我會自己解決的...
系統時間:2024-07-07 18:13:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!