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

Paradox 如何做 Transaction

尚未結案
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-20 16:05:20 IP:61.221.xxx.xxx 未訂閱
請問用Paradox 搭配 TDatabase元件 要如何做Transaction 我試過用Database->StartTransaction 開始交易 但是還沒有做Commit 卻發現資料已經寫到資料庫了 請問這是什麼原因呢 是根本就不能這麼做 還是有什麼地方我疏忽了 請前輩們請教 謝謝
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-20 16:17:42 IP:61.222.xxx.xxx 未訂閱
請問妳有把Table的CachedUpdates設成True嗎?
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-20 16:37:20 IP:152.104.xxx.xxx 未訂閱
如果我沒記錯,Paradox 應該沒有提供 Transaction 的功能。 更正: 1. BDE 有為 Paradox, dBASE, Access, FoxPro..提供本地端交易支援,不過有很多限制。 2. 使用時請將 TransIsolation 設為 tiRirtyRead 。 限制 1. 不提供損毀自動回復的功能 2. 並未提供資料定義敘述 3. 交易無法作用於暫時性表格 4. TransIsolation 等級只能設成 tiDirtyRead 5. Paradox 只能作用於合法索引的表格(無索引無法 Rollback) 6. 資料筆數有限制 Paradox 最多 255 筆, dBASE 為 100 筆。 如果還想看的更仔細,建議參考 Borland 的 資料庫與網路應用設計手冊 發表人 - 懷舊的人 於 2003/02/20 21:34:12
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-21 01:10:57 IP:203.204.xxx.xxx 未訂閱
引言: 請問妳有把Table的CachedUpdates設成True嗎?
l630521: 謝謝您的答覆。 之前沒有 修改後測試的結果 變成不管有沒有commit 資料庫都沒有資料 發表人 - tech_state 於 2003/02/21 01:15:13
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-21 01:13:36 IP:203.204.xxx.xxx 未訂閱
引言: 4. TransIsolation 等級只能設成 tiDirtyRead 6. 資料筆數有限制 Paradox 最多 255 筆, dBASE 為 100 筆。 如果還想看的更仔細,建議參考 Borland 的 資料庫與網路應用設計手冊
懷舊的人: 謝謝您的答覆。 4. 我已將等級設為tiDirtyRead,可是情形依舊 6. 此二者的筆數限制是指同一時間 commit 或 Rollback 的資料筆數嗎? 我手邊沒有您說的手冊,不知您是否知道市面上是否有雷同的書籍可參考? 發表人 - tech_state 於 2003/02/21 01:19:04
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-21 08:34:24 IP:61.222.xxx.xxx 未訂閱
還有一個設定妳再試試看! 妳的BDE設定裡的 SQLPASSTHRU MODE是否有設成『SHARED NOAUTOCOMMIT』,其預設是『SHARED NOAUTOCOMMIT』!
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-21 09:36:21 IP:61.221.xxx.xxx 未訂閱
l630521: 謝謝您的答覆。 您說的設定 我也想到過 不過Paradox的BDE設定沒有這個 這個設定要是client/server的資料庫才有
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-21 09:49:24 IP:152.104.xxx.xxx 未訂閱
引言: 1. 設 SQLPASSTHRU MODE 沒有用 ,因為 屬於一階的資料庫不能使用 passthrough SQL。 2. 所為限制是記錄被鎖定及變更不可超過 255 筆。 3. 當妳買 Delphi 時有一本 Developer Guide , 興德有中文版 ,不過提供給 Delphi 的客戶免費索取,至於市面上的書是否有提,我不清楚。 4. 如果強列需要使用 交易管理,我是建議 換資料庫會比較好。 5. 如果妳想更進一步了解 Delphi 在資料庫的運用,我建議妳看 Delphi/Kylix Database Development DataCLX for Windows and Linux , 這本書瞞貴的,可能在天瓏書局,擺 Delphi 及 其他類的最下方還藏有一本,應該還沒被買走,小小一本大概賣 1600 (如果沒記錯)。 www.amazon.com 訂價 $ 34.99 (運費另計),中文書很少看到對資料庫有特別深論的,自己看看吧。 加油
發表人 - 懷舊的人 於 2003/02/21 09:54:59 發表人 - 懷舊的人 於 2003/02/21 09:56:37
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-21 10:47:48 IP:61.222.xxx.xxx 未訂閱
引言: 請問妳有把Table的CachedUpdates設成True嗎?
最後妳用 Table1.ApplyUpdates;還是Table1.Post; Table1.CancelUpdates;還是Table1.Cancel; CachedUpdates好像要配合ApplyUpdates及CancelUpdates 再不行就想不到了!歹勢! 發表人 - l630521 於 2003/02/21 10:49:27
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-02-22 19:01:39 IP:203.204.xxx.xxx 未訂閱
l630521: 您所提的方法還是不行 不過還是謝謝您的答覆 懷舊的人: 我找到您提的手冊了 目前正在研究中 謝謝您的答覆
系統時間:2024-09-10 8:29:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!