怎樣把(SQL SERVER)后台存儲過程處理時的錯誤傳到前台顯示?(50分)

  • 主题发起人 主题发起人 DINGHELLO
  • 开始时间 开始时间
D

DINGHELLO

Unregistered / Unconfirmed
GUEST, unregistred user!
執行一個存儲過程,在處理時產生錯誤,中斷處理,前台數據顯示為空白,但什么提示也沒有。
現在我想在前台顯示處理時遇到的錯誤信息,如“無效的字段名AAA”什么的就行了。
 
这种错误都需要你的存储过程进行捕获,然后再作为一个返回变量返回到delphi并提示给操作用户。

不能说存储过程出错就让它出错吧?和delphi开发的程序一样,存储过程也需要容错处理的设计。
 
兄台能不能來點過程的容錯代碼?

現在我用exec procA '參數1' 來執行,如果運行中出錯@@error的值還是0,所以根據這個值判斷不了。
 
你建个输出参数,不过具体的错误就不知怎么捕捉了,我一般都是统一为,数据操作失败之类的
 
在存储过程中用RAISERROR 发出一个错误信息给应用程序,合不合要求?
 
TO marco_hsu:
這種方法對只告訴用戶出錯,不知哪里出錯。(錯誤信息在sysmessage表里,但在知道哪個錯誤號才行)。不過真的找不到方法也只能考慮這種方法


TO xuxiaohan:
RAISERROR 是自己知道錯誤的情況下顯示給前台的,但過程處理時不知几時出錯。


 
若前台是用ADO连接,则通过adoCon.Errors.Count找出错误数目,用adoCon.Errors(kk).Description找出第kk个错误的具体错误信息
 
用三層結構,前台是clientDataset,使用commandtext傳送 exec proc1
 
后退
顶部