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

Table Lock的問題

答題得分者是:ecafe
cjtsif
一般會員


發表:12
回覆:13
積分:5
註冊:2002-09-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-08 15:46:04 IP:211.23.xxx.xxx 未訂閱
我使用MsSQL,ADO元件,在處理Master-Detail的程式, Master新增一筆時我會先下TADOCOnnection.BeginTrans, 待按[存檔]的button後再下TADOCOnnection.CommitTrans, 若按[取消]的button則下TADOCOnnection.RollbackTrans 現發生一個問題 若在BeginTrans之後,CommitTrans之前,有post任何table的話, 該table在另外的程式(session)就無法被select出來 (下select指令就會當) 請各位先進指導解決之道
ecafe
一般會員


發表:0
回覆:8
積分:11
註冊:2002-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-13 00:16:02 IP:211.23.xxx.xxx 未訂閱
你可以改用AdoExpress 的 Btach Update模式,將交易延後到實際要回寫資料庫時才發動,以縮短交易持續的時間來避開鎖定的問題。 要使用AdoExpress 的 Btach Update模式,可以到delphi的help查 "Using batch updates"。
cjtsif
一般會員


發表:12
回覆:13
積分:5
註冊:2002-09-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-18 11:59:50 IP:211.23.xxx.xxx 未訂閱
在begin transation後,該筆record被lock是合理的,但我不知為何mssql會lock整個table,我覺得這很奇怪,有什麼辦法可讓mssql只lock一個record????
系統時間:2024-11-23 6:50:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!