關於IBOQUERY執行時發生DEADLOCK問題 |
答題得分者是:P.D.
|
cursegold
一般會員 發表:16 回覆:36 積分:15 註冊:2006-08-22 發送簡訊給我 |
各位大大好
小弟我幫客戶寫一隻程式,做資料庫新增或修改資料用, 所使用的原件為IBOQUERY,今天在客戶家發生了DEADLOCK的問題, 但找不出DEADLOCK確切原因,於是想在程式裡面作揖些防範措施, 原本程式如下: DB.StartTransaction; try IBOQUERY.Close; IBOQUERY.SQL.Text := 'INSERT INTO ........'; IBOQUERY.ExceSQL; DB.Commit; except on e:Exception do begin DB.Rollback; end; end; 請問一下,我今天在DEADLOCK發生後有辦法在 on e:Exception do 裡面判斷是否是發生DEADLOCK這個錯誤嗎 謝謝各位大大
------
蔡志全 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
try...except 是補捉錯誤的機制, 如果你是想抓出deadlock的判斷, 可以用一種簡單的方式顯示出錯誤訊息, 再由訊息中去判斷
try .... except on E:Exception do begin ShowMessage(pChar(E.Message)); end; end; ===================引 用 cursegold 文 章=================== 各位大大好 小弟我幫客戶寫一隻程式,做資料庫新增或修改資料用, 所使用的原件為IBOQUERY,今天在客戶家發生了DEADLOCK的問題, 但找不出DEADLOCK確切原因,於是想在程式裡面作揖些防範措施, 原本程式如下: DB.StartTransaction; try IBOQUERY.Close; IBOQUERY.SQL.Text := 'INSERT INTO ........'; IBOQUERY.ExceSQL; DB.Commit; except on e:Exception do begin DB.Rollback; end; end; 請問一下,我今天在DEADLOCK發生後有辦法在 on e:Exception do 裡面判斷是否是發生DEADLOCK這個錯誤嗎 謝謝各位大大 |
cursegold
一般會員 發表:16 回覆:36 積分:15 註冊:2006-08-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |