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

關於IBOQUERY執行時發生DEADLOCK問題

答題得分者是:P.D.
cursegold
一般會員


發表:16
回覆:36
積分:15
註冊:2006-08-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-11-26 17:41:28 IP:114.32.xxx.xxx 未訂閱
各位大大好
小弟我幫客戶寫一隻程式,做資料庫新增或修改資料用,
所使用的原件為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.
版主


發表:571
回覆:3888
積分:3677
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-11-27 01:57:04 IP:118.169.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-11-27 09:16:41 IP:114.32.xxx.xxx 未訂閱
感謝版主大的回答,
我試試看
謝謝
===================引 用 P.D. 文 章===================
try...except 是補捉錯誤的機制, 如果你是想抓出deadlock的判斷, 可以用一種簡單的方式顯示出錯誤訊息, 再由訊息中去判斷
try
....
except
on E:Exception do begin
ShowMessage(pChar(E.Message));
end;
end;
------
蔡志全
系統時間:2017-12-13 11:15:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!