線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1273
推到 Plurk!
推到 Facebook!

請問在delphi裡要如何抓取adocommand產生的錯誤

尚未結案
chien1969
一般會員


發表:5
回覆:11
積分:8
註冊:2002-06-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-08 17:40:49 IP:210.202.xxx.xxx 未訂閱
我用adocommand來執行MS SQL上的DTS封裝,但是我想知道當我執行時究竟是正常或錯誤?是否有方法可以抓到執行後所傳回成功或失敗的系統資訊?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-08 17:51:34 IP:202.62.xxx.xxx 未訂閱
您好﹗    用Try...Except來攔截錯誤信息就可以了﹕
begin
  Try
    //ADOCommand相關的程式碼
  Except
    On E: EDataBaseError do
      ShowMessage('錯誤的類別是﹕' + E.ClassName + #10#13 + '錯誤的信息是﹕' + E.Message);
  end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
chien1969
一般會員


發表:5
回覆:11
積分:8
註冊:2002-06-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-08 18:24:16 IP:210.202.xxx.xxx 未訂閱
我試過您提供的方法,可是還是照樣抓不到錯誤代碼耶!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-08 18:40:09 IP:202.62.xxx.xxx 未訂閱
您好﹗    改成如下試試﹕
begin
  Try
    //ADOCommand相關的程式碼
  Except
    On E: Exception do
      ShowMessage('錯誤的類別是﹕' + E.ClassName + #10#13 + '錯誤的信息是﹕' + E.Message);
  end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
chien1969
一般會員


發表:5
回覆:11
積分:8
註冊:2002-06-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-09 09:32:14 IP:210.202.xxx.xxx 未訂閱
我覺得問題可能是出在不管adocommand裡的commandtext有無錯誤,他都不會把錯誤回傳,也許會回傳,但是我並不知如何接錯誤代碼.所以在做TRY...EXCEPT的時候,程式照樣執行而不會進入(EXCEPT)例外處理. 我想做的動作是:利用adocommand來執行dtsrun,如果發生錯誤則做例外處理.現在的情況是:不管執行成功或失敗,我都無法用接收錯誤代碼的方式得知,只能讓執行結果顯示在dbgrid裡,可是這並不是我要的結果. 我實在想不出辦法了!
bruce
中階會員


發表:19
回覆:121
積分:83
註冊:2002-04-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-09 11:23:51 IP:61.219.xxx.xxx 未訂閱
試過在這個事件去攔截看看嗎?TADOConnection.OnInfoMessage
chien1969
一般會員


發表:5
回覆:11
積分:8
註冊:2002-06-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-09 17:54:41 IP:211.21.xxx.xxx 未訂閱
還是不行,程式根本不會進入此一事件.
系統時間:2024-06-26 23:57:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!