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

如何控制ClientDataSet錯誤訊息

答題得分者是:jieshu
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-08 16:13:59 IP:61.226.xxx.xxx 未訂閱
當我做ClientDataSet1.Open 時我希望能做控制例如 Try ClientDataSet1.open Except showmessage('開啟錯誤'); end; 但是我開啟錯誤時有很多不同的選項,請問我要如改寫 (此處使用Delphi提供的ReconcileError Dialog是無效的, 因為其錯誤和Database無關) try ClientDataSet1.Open; except on E: (此處要填什麼) do begin if (若是Missing DataProvider 要怎麼寫) then begin showmessage('找不到DataSetProvider') ; abort; end else if (其他錯誤要如何寫) then ................ end; end;
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-08 16:40:09 IP:203.204.xxx.xxx 未訂閱
引言:
當我做ClientDataSet1.Open 時我希望能做控制例如
  Try
    ClientDataSet1.open
  Except
    showmessage('開啟錯誤');
  end;
但是我開啟錯誤時有很多不同的選項,請問我要如改寫
(此處使用Delphi提供的ReconcileError Dialog是無效的,
 因為其錯誤和Database無關)
  
  try
    ClientDataSet1.Open;
  except
    on E: (此處要填什麼) do
    begin
      if (若是Missing DataProvider 要怎麼寫) then
      begin
        showmessage('找不到DataSetProvider') ;
        abort;
      end
      else if (其他錯誤要如何寫) then
      ................
    end;
  end;
如果您只是想將錯誤訊息中文化, 建議您找出錯誤訊息的Unit, 然後將其中文化, 再加到您的Project試試. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-08 18:21:06 IP:61.226.xxx.xxx 未訂閱
我並非是要將錯誤中文化,而是在ClientDataSet Open之後若有錯誤,我要依據它的錯誤,而作出不同程度的處理,例如ClientDataSet本身設定的錯誤作出一種處理,找不到應用程式伺服器作另一種處理 也就是說,我要如何得知ClientDataSet的原始錯誤資料 (例如Missing DataSetProvider,ClientDataSet要如何得知),像BDE都有所謂的錯誤碼,ClientDataSet有沒有呢?
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-09 03:35:05 IP:61.226.xxx.xxx 未訂閱
我的寫法最後變成這個樣子,雖然可用,但是自己知道寫的非常不好 procedure CdsOpen(MyClientDataSet: TClientDataSet); begin try MyClientDataSet.Open; except on E: exception do if E.Message=MyClientDataSet.GetNamePath ': Missing data provider or data packet' then //此處有沒有更好的寫法 begin showmessage('連結provider元件錯誤'); abort; end else begin try (do something)........... end; end; end;
系統時間:2024-04-24 11:00:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!