如何取得 SQL server error message |
尚未結案
|
JamesLiang
初階會員 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
JamesLiang
初階會員 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
JamesLiang 你好 如果你用 Borland Data Engine 組件開發 , procedure TDM.CustomerPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
if (E is EDBEngineError) then
if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
begin
MessageDlg('客戶編號重複,請重新輸入', mtWarning, [mbOK], 0);
Abort;
end;
end;
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
您好:
如P.D前輩所言取得錯誤訊息的方法,再利用POS就可針對不同的錯誤訊息做判斷
try DM.buget110.Post; DM.BuConnection.CommitTrans; except on E:Exception do begin DM.BuConnection.RollbackTrans; if Pos('PRIMARY KEY 違反條件約束 ''PK_buget110''。無法在物件 ''buget110'' 上插入重複索引鍵。',E.Message)>0 then //假設當資料重複時資料庫回傳的錯誤訊有以上字串.... raise Exception.Create('新增的資料已經存在') else raise Exception.Create('資料儲存失敗,錯誤訊息如下:'#13 E.message); end; end;~~應無所住而生其心~~ |
JamesLiang
初階會員 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |