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

请教,各位大哥一个错误处理的问题,谢谢!

尚未結案
lsh998
中階會員


發表:163
回覆:138
積分:60
註冊:2005-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-04 11:42:34 IP:219.128.xxx.xxx 未訂閱
各位大哥 有个这样的问题: 表 test1 sno varchar(50) primary key NOT NULL name varchar(50) 有存储过程: create procedure inserttest1 @sno varchar(50), @name varchar(50) as insert test1(sno,name) values (@sno,@name) if @@error=0 and @@rowcount=1 commit tran else rollback tran go 在 delphi 中这样调用: procedure TForm1.Button2Click(Sender: TObject); begin ADOStoredProc1.Close; ADOStoredProc1.ProcedureName:='inserttest1'; ADOStoredProc1.Parameters.Refresh; ADOStoredProc1.Parameters.ParamByName('@sno').Value:=edit2.Text; ADOStoredProc1.Parameters.ParamByName('@name').Value:=edit3.Text; try ADOStoredProc1.ExecProc; showmessage('新增成功'); except showmessage('新增不成功'); end; 我希望出现的应该是: try ADOStoredProc1.ExecProc; showmessage('新增成功'); except 情况1:show 出.......... 情况2:show 出.......... 情况3:show 出.......... .......... end; 请教,各位大哥, except 情况1:show 出.......... 情况2:show 出.......... 情况3:show 出.......... .......... 应该怎样表示?一般又有哪些情况? 请给我举个列子好吗? 谢谢 各位大哥!
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-04 14:36:12 IP:202.62.xxx.xxx 未訂閱
您好﹗    在Try...Except例外處理的事件中﹐Delphi定義了許多Error類別﹐如﹕EdatetimeError﹐EdatabaseError﹐EConvertError等等﹐在您的實例中﹐是相關于Database的部分﹐所以就可以使用EdatabaseError錯誤類別的Message來擷取到相對應的資料庫相關錯誤信息﹐如下﹕
try
  ADOStoredProc1.ExecProc;
  ShowMessage('新增成功');
except
  On E: EdatabaseError do
    ShowMessage(E.Message);
    //此處也可使用E.ClassName的方法來取得Error的類別﹐
    //相對應的﹐取得的應就是EdatabaseError類別
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
lsh998
中階會員


發表:163
回覆:138
積分:60
註冊:2005-01-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-05 08:55:44 IP:218.14.xxx.xxx 未訂閱
谢谢 cashxin2002 大哥!
系統時間:2024-07-02 23:16:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!