如何抓出EDataBaseError Message呀 |
|
wsozhang
一般會員 發表:20 回覆:20 積分:8 註冊:2002-06-14 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
1.在 TTable 的 BeforePost 事件前
判斷不能 Null 的欄位其值是否為 Null
是的話, 就執行 Abort; 的動作
例:
procedure TForm1.Table1BeforePost(DataSet: TDataSet); begin if Table1.FieldByName('Field1').IsNull then Abort; end;2.或在 TTable 的 OnPostError 事件中攔截 在此事件中發生的 Error, 就是 EDatabaseError 了。 例: procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin ShowMessage('存檔時發生錯誤: ' E.Message); Action := daAbort; end;發表人 - hagar 於 2002/06/27 09:05:16 |
wsozhang
一般會員 發表:20 回覆:20 積分:8 註冊:2002-06-14 發送簡訊給我 |
|
whyzn
中階會員 發表:46 回覆:149 積分:54 註冊:2002-06-16 發送簡訊給我 |
引言: 可是我在PossErr那邊用Showmessage(E.Message); 他不理我,我用step by step 測他也沒跑到posterr 或 Beforepost那邊也沒跑到ㄝ,這怎解呢?不要在 Delphi 發展程式中 按 F9 run, 因為這樣 Delphi 會先欄到 錯誤而給你訊息 (除非你關掉這項功能) 所以你可以由檔案總管去 啟動自己的程式看看 ●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛
------
●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛 |
wsozhang
一般會員 發表:20 回覆:20 積分:8 註冊:2002-06-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |